BAHASA MESIN
BAHASA MESIN
INT 20h
END TData
Pengalamatan base-plus-index
• Memindahkan data yang berukuran byte atau word
antara register dan lokasi memori yang ditunuk oleh
register basis (BP atau BX) ditambah dengan register
Index (DI atau SI). (contoh: instruksi MOV [BX+DI],CL
menyalin isi register CL yang berukuran byte ke
dalamlokasi memori segmen data yang ditunjuk oleh
BX ditambah DI.) pada 80386 dan versi di
atasnya,setiap register EAX, EBX, ECX, EDX,EBP,
EDI, atau ESI dapat dikombinasi untuk memperoleh
alamat memori. (contoh: MOV [EAX+EBX],CL
menyalin isi register CL yang berukuran byte ke dalam
lokasi memori segmen data yang ditunjuk oleh EAX
ditambah EBX).
Pengalamatan Register Relatif
• Memindahkan data berukuran byte atau word antara
register dan lokasi memori yang ditunjuk oleh suatu
register indeks atau basis ditambah displacment.
(contoh: MOV AX,[BX+4] atau MOV AX,ARRAY[EBX].
Instruksi pertama mengisi AX dengan data yang alamat
segmen datanya dibentuk oleh BX ditambah 4. instruksi
kedua mengisi AX dengan data lokasi memorisegmen
datanya dalam ARRY ditambah isi register BX). Pada
80386 dan versi di atasnya menggunakan setiap register
untuk mengalamatkan memori. (contoh: MOV
AX,[ECX+4] atau MOV AX,ARRAY[EBX]. Instruksi
pertama mengsi AX dengan data yang alamat segmen
datanya dibentuk oleh ECX ditambah 4. instruksi kedua
mengisi AX dengan data yang lokasi memori segmen
datanya merupakan isi ARRAY ditambah isi EBX).
Pengalamatan baserelatif-plus-index
• Memindahkan data yang berukuran byte atau word antara
register dan lokasi memori yang ditunjuk oleh suatu
register basis dan register index ditambah dispalacment.
(contoh: MOV AX,ARRAY[BX+DI] atau MOV
AX,[BX+DI+4]. Contoh ini mengisi register AX dengan
data yang pada lokasi memori segmen data. Instruksi
pertama menggunakan sebuah alamat yang dibentuk oleh
penambahan ARRAY,BX, dan DI dan yang kedua dengan
penambahan BX, DI dan 4). Pada 80386 dan versi
diatasnya, MOV EAX,ARRAY[EBX+ECX] mengisi register
EAX dengan data yang ada pada lokasi memori segmen
data yang diakses dengan suatu alamat. Alamat tersebut
dibentuk dengan penjumlahan ARRAY,EBX, dan ECX.
Penglamatan Index berscala
• Pengalamatan ini hanya ada pada mikroprocessor 80386
sampai pentium Pro. Register kedua dari pasangan
register dimodifikasi dengan faktor skala 2X, 4X atau 8X
untuk memperoleh alamat memori operand.(contoh: MOV
EDX,[EAX+4*EBX] mengisi register EDX dengan data
yang ada pada lokasi memori segmen data yang
alamatnya ditunjuk oleh EAX ditambah 4 di kali EBX).
Penskalaan mengijinkan akses data array memori yang
berukuran word (2X) doubleword (4X) atau quadword (8X).
Perhatikn bahwa fakta skala IX juga ada, tetapi dinyatakan
secara normal dan tidak muncul dalam instruksi. MOV
AL,[EBX+ECX] merupakan sebuah penskalaan dengan
faktor satu. Sebagai alternatif instruksi tersebut dapat
ditulis kembali seperti MOV AL,[EBX+1*ECX]. Contoh
lainnya adalah instruksi MOV AL,[2*EBX] yang hannya
menggunakan register skala satu untuk mengalamati
memori.
MODE PENGALAMATAN DATA
DEGAN DEBUG
• DEBUG
kata bug diucapkannya sebagai BAG-an
dapat mempunyai beberapa arti, yang
umumnya adalah berarti kutu. Dalam
dunia komputer dan elektronika
dimaksudkan suatu kesalahan di dalam
hardware maupun software, tetapi yang
lebih lazim adalah dalam software
• Suatu kesalahan di dalam program
dinamakan bug, sedang kan mencari dan
meghilangkan kesalahan di dalam program
dinamakan debugging.
• Debug di sini, adalah utilitas bantu yang
kita manfaatkan untuk penulisan bahasa
assambly dan pemrosesan penelusuran
berbagai keadaan program yang telah kita
buat
• Bebagai instruksi yang hadir di dalam
oprasional menggunakan debug:
1. H (Hexa) Melaksanakan penjumlahan dan pengurangan du
buah bilangan hexa sekaligus.
-H 1976 0ABC
2432 0EBA
2. R (Register) Mengetahui isi dari register pada saat dieksekusi
perintah bersagkutan.
3. A (Assambler) Untuk melakukan penulisan pemrograman
Assambler pada debug.
-A100
0B0B:0100
4. N (Name) Instruksi penamaan program yang telah dibuat.
Bentuk perintah:
- N Fadli.com
5. RCX Perintah untuk memperbaiki isi dari register CX. CX
merupakan tempat penampungan panjag program
yang sedang aktif sebelum dijalankan.
6. RIP Perintah pemberitahuan kepada komputer untuk
mulai memproses program dari nilai alamat tertentu.
7. W (Write) Perintah untuk menulis program ke dalam file.
Sebelum ini dilakukan, RCX dan RIP telah diatur
terlebih dahulu.
-W