4.-bahasa-rakitan[2]
-
Upload
arie-ardyansyah -
Category
Documents
-
view
49 -
download
0
Transcript of 4.-bahasa-rakitan[2]
5/11/2018 4.-bahasa-rakitan[2] - slidepdf.com
http://slidepdf.com/reader/full/4-bahasa-rakitan2 1/6
Materi Bahasa Rakitan By Okti Yudhanti Nur K
REGISTER
Register adalah sebagian kecil memori komputer yang dipakai
untuk tempat penampungan data dengan ketentuan bahwa data yang
terdapat dalam register dapat diproses dalam berbagai operasi dengan
melihat berapa besar kemampuan menampung register tersebut.
Register dapat dibagi dalam 5 golongan, yaitu:
1. General Purpose Register (Scratch-Pad Register), terdiri
dari:
• AX (AH + AL)= Accumulator Register
• BX (BH + BL)= Base Register
• CX (CH + CL) = Counter Register
• DX (DH + DL) = Data Register
2. Segment Register
• CS = Code Segment Register
• DS = Data Segment Register
• SS = Stack Segment Register
• ES = Extra Segment Register
3. Pointer Register• IP = Instruction Pointer Register
• SP = Stack Pointer Register
• BP = Base Pointer Register
4. Index Register
• SI = Source Index Register
• DI = Destination Index Register
5. Flag Register
1
5/11/2018 4.-bahasa-rakitan[2] - slidepdf.com
http://slidepdf.com/reader/full/4-bahasa-rakitan2 2/6
Materi Bahasa Rakitan By Okti Yudhanti Nur K
GENERAL PURPOSE REGISTER
General Purpose Register terdiri dari emapt buah (4) register
yang mempunyai kemampuan 16 bit dan dapat dibagi menjadi Register
Low dan High Bits yang masing-masing berkemampuan 8 bit.
Register AX
Register AX merupakan register aritmatik, karena register ini selalu
dipakai dalam operasi penambahan, pengurangan, perkalian dan
pembagian.
Setiap register general purpose mempunyai Register Low dan
Register High, maka untuk AX register low-nya adlaah AL dan
register high-nya adalah AH. Register AH merupakan tempat
menaruh nilai service number untuk beberapa Interrupt tertentu.
Register BX
Register BX adalah salah satu dari dua register base Addressing
Mode yang dapat mengambil atau menulis langsung dari/ke
memori.
Register CX
Register CX merupakan suatu counter untuk meletakkan jumlah
lompatan pada Loop yang anda lakukan.
Register DX
Register DX mempunyai tiga tugas, yaitu:
− Membantu AX dalam proses perkalian dan pembagian, terutama
perkalian dan pembagian 16 bit.
− DX merupakan register offset dari DS
− DX bertugas menunjukkan nomor port pada operasi port
PENGALAMATAN MEMORI DAN SEGMENT REGISTER
Bila memori yang terdapat pada komputer adalah 1 megabyte
maka ruang memorinya adalah :
2
5/11/2018 4.-bahasa-rakitan[2] - slidepdf.com
http://slidepdf.com/reader/full/4-bahasa-rakitan2 3/6
Materi Bahasa Rakitan By Okti Yudhanti Nur K
0000000001000020000300004
.
.
.FFFF9FFFFAFFFFBFFFFCFFFFDFFFFEFFFFF
Pengalamatan ruang memori pada gambar diatas merupakan
pengalamatan mutlak dengan kemampuan 20 bit. Sedangkan pada 8088
hanya berkemapuan 16 bit, berarti masih kekurangan 4 bit untuk
menampung suatu alamat memori.
Karena hal tersebut diatas, maka dilakukan penomoran dengan
dua register. Sebuah register berisi 16 bit dihitung dari kanan dan 16 bit
yang lain dari sebelah kiri.
Register yang mengisi 16 bit dari kiri biasa disebut Register
Segment dan Register yang mengisi 16 bit dari kanan adalah Register
Offset . Isi Register Segment disebut Segment dan isi Register Offset
disebut Offset.
Cara pengalamatan memori yang dilakukan komputer sering
disebut Relative Address. Contoh Relative Address dan Alamat Mutlak:
− A123:099A
Komposisi Bit Segment 1010 0001 0010 0011 0000
Komposisi Bit Offset 0000 1001 1001 1010
Alamat Mutlak 1010 0001 1011 1100 1010
(HEXA:A1BCA)
3
5/11/2018 4.-bahasa-rakitan[2] - slidepdf.com
http://slidepdf.com/reader/full/4-bahasa-rakitan2 4/6
Materi Bahasa Rakitan By Okti Yudhanti Nur K
− 5674:9001
Komposisi Bit Segment 0101 0110 0111 0100 0000
Komposisi Bit Offset 1001 0000 0000 0001
Alamat Mutlak 0101 1111 0111 0100 0001
(HEXA:5F741)
Register CS
Tugas register CS yang penting adalah menunjukkan segment
program berada. Pasangan register ini adalah register IP.
Register DS dan SS
Tugas register DS dan SS adalah menunjukkan segmen dari
segment data dan segment stack. Pasangan dari register DS adalah
DX dan register SS adalah SP.
Register ES
Register ini tidak mempunyai tugas, namun berguna untuk
pemrograman pada saat melakukan operasi ke segment lain.
POINTER REGISTER
Pointer Register bertugas untuk menyimpan offset dari relative
address.
Register IP
Pasangan register IP adalah register CS yang merupakan register
terpenting untuk menunjukkan baris perintah program. Pada
pertama program dijalankan register ini akan langsung menunjuk
pada awal program.
Register SP
Pasangan register SP adalah register SS yang digunakan untuk
operasi stack . Pada saat program pertama dijalankan register ini
akan menunjuk pada byte terakhir stack.
Register BP
4
5/11/2018 4.-bahasa-rakitan[2] - slidepdf.com
http://slidepdf.com/reader/full/4-bahasa-rakitan2 5/6
Materi Bahasa Rakitan By Okti Yudhanti Nur K
Register BP mempunyai fungsi yang sama dengan register BX yaitu
dapat menulis dan membaca ke atau dari memori secara langsung.
Perbedaannya adalah BX menulis dan membaca dengan segment
SS (Stack Segment).
Register BP digunakan juga dalam komunikasi anatara bahasa
komputer, seperti PASCAL dengan Assembler ataupun Turbo C
dengan Assembler.
INDEX REGISTER
Index Register terdiri dari dua register yaitu register DI dan SI,
dimana kedua register ini merupakan register yang dipakai untuk
melakukan Operasi String. Kedua register ini sering digunakan untuk
menulis dan membaca ke atau dari memori seperti BX dan BP.
FLAG REGISTER
X X X X O D I T S Z X A X P X C
Flag Bits :
• O = Overflow Flag
• D = Direction Flag
• I = Interrupt Flag
• T = Trap Flag
• S = Sign Flag
• Z = Zero Flag
• A = Auxiliary Carry Flag
• P = Parity Flag
• C = Carry Flag
• X = Reserved (kosong)
5
5/11/2018 4.-bahasa-rakitan[2] - slidepdf.com
http://slidepdf.com/reader/full/4-bahasa-rakitan2 6/6
Materi Bahasa Rakitan By Okti Yudhanti Nur K
Flag register ini merupakan suatu komposisi register 16 bit dengan
ketentuan seperti gambar diatas, dimana komposisi bitnya dapat
mengecek apakah sesuatu berfungsi atau tidak.
Contoh : Interrupt Flag mengecek apakah pada saat operasi Interupt
sedang aktif atau tidak, bila tidak aktif, Interrupt tidak akan
dijalankan.
Carry Flag mengecek apakah pada saat operasi terjadi
kesalahan atau tidak. Sign Flag menunjukkan apakah suatu
bilangan bertanda atau tidak dan sebagainya.
6