Anda di halaman 1dari 14

Eksplorasi Prosesor 8086 Dengan

Program DEBUG

Program DEBUG dapat digunakan untuk mengeksplorasi


keluarga prosesor 8086 termasuk PENTIUM pada PC
Program DEBUG telah disertakan setiapkali user melakukan
instalasi WINDOWS
Untuk menjalankan DEBUG, click Start-Run, kemudian ketik
CMD dan click OK sehingga muncul pada layar prompt DOS.
Dari prompt DOS ketik DEBUG:
C:>DEBUG diikuti ENTER
Prompt DEBUG ditandai dengan tanda minus dikuti kursor
berkedip:
-_
Terdapat 19 menu DEBUG, untuk melihatnya ketik
-? diikuti ENTER

Eksplorasi Prosesor 8086 Dengan


Program DEBUG

Melihat isi register, ketik:


-R diikuti ENTER, maka akan muncul di layar:

Hal itu menandakan bahwa isi register AX=0000 atau AH=00 dan AL=00,
AH

AL

BX=0000 atau BH=00 dan BL=00, CX=0000 atau CH=00 dan CL=00,
DX=0000 atau DH=00 dan DL=00
Keadaan set dan reset register bendera pada DEBUG dinyatakan
dengan singkatan NV, UP, EI, PL, NZ, NA, PO, NC

Eksplorasi Prosesor 8086 Dengan


Program DEBUG
Singkatan untuk keadaan register bendera:
Coba kita perhatikan register bendera kondisi saja yakni
bendera overflow, bendera sign, bendera zero, bendera
auxiliary carry, bendera parity dan bendera carry.
Keadaan set dan reset bendera-bendera itu dinyatakan
dengan singkatan:
Bendera overflow:
OV (Overflow atau terjadi overflow atau OF=1=set)
NV (No Overflow atau tidak terjadi overflow atau
OF=0=reset)
Bendera sign:
NG (Negative atau SF=1=set)
PL (Plus atau SF=0=reset)
Bendera zero:
ZR (Zero atau ZF=1=set)
NZ (No Zero atau ZF=0=reset)

Eksplorasi Prosesor 8086 Dengan


Program DEBUG
Bendera auxiliary carry:
NA (No Auxiliary carry atau AF=0=reset)
AC (Auxiliary carry atau AF=1=set)
Bendera paritas:
PO (Parity Odd=paritas ganjil atau PF=0=reset)
PE (Parity Even=paritas genap atau PF=1=set)
Bendera Carry:
NC (No Carry atau CF=0=reset)
CY (carry atau CF=1=set)

Eksplorasi Prosesor 8086 Dengan


Program DEBUG

Contoh jika DEBUG menampilkan keadaan flag:


NV UP EI PL NZ NA PO NC
Artinya: hasil perhitungan ALU tidak overflow (NV), bernilai positif (PL), tidak
bernilai 0 (NZ), tidak ada carry pada penjumlahan bit ke-3 (NA), berparitas
ganjil (PO) dan tidak ada carry (NC)

Analisis:
Misal kita menulis program assembly dengan perintah A dan menjalankannya
baris demi baris dengan perintah T (trace):

Eksplorasi Prosesor 8086 Dengan


Program DEBUG
Perintah di atas yakni:
MOV AL,3
ADD AL,2
ketika baris pertama dijalankan, isi AL=03 dan setelah
baris kedua dijalankan isi AL menjadi AL=05
heksadesimal. Hal itu menunjukkan bahwa instruksi
pertama MOV
AL,3 menyebabkan akumulator AL
terisi 3 heksadesimal, baris kedua menyebabkan isi AL
ditambah dengan 2 heksadesimal sehingga menjadi 5
heksadesimal. Pada akhir pelaksanaan kedua perintah
tersebut, DEBUG menghasilkan keadaan register
bendera sebagai berikut:
NV UP EI PL NZ NA PE NC

Eksplorasi Prosesor 8086 Dengan


Program DEBUG
Hal itu berarti:
Hasil pemrosesesan TIDAK OVERFLOW
(NV=NO OVERFLOW), mengapa?
Cout C7 C4

C1

0 0000 010
+03= 0000 0011
+02= 0000 0010
--------------------------------------

AL= 0000 0101

Carry (C)
Rumus: Terjadi overflow
jika Cout dan C7
berbeda, jika sama tidak
overflow!!!

Eksplorasi Prosesor 8086 Dengan


Program DEBUG
Hasil pemrosesan bernilai positif (PL=PLUS)
+03= 0000 0011
+02= 0000 0010
----------------------AL = 0000 0101
+
Perhatikan, bit paling kiri bernilai 0 sehingga me
nunjukkan bilangan itu +.
Hasil pemrosesan tidak nol (NZ=NO ZERO)

Eksplorasi Prosesor 8086 Dengan


Program DEBUG
Hasil pemrosesesan TIDAK ada auxiliary carry
(NA=No Auxiliary Carry):
Perhatikan C4 di atas! C4 adalah Auxiliary Carry.
Karena C4=0 berarti tidak ada auxiliary carry.
Sebaliknya jika C4=1, berarti ada auxiliary carry.
Hasil pemrosesan berparitas genap (PE=parity
even):
Perhatikan hasil AL=0000 0101, krn jumlah 1
nya genap maka hasil itu berparitas genap.
Hasil pemrosesan tidak ada carry out (NC=NO
Carry), karena Cout=0.

Eksplorasi Prosesor 8086 Dengan


Program DEBUG
LATIHAN:
Tulislah program assembly 8086 menggunakan
aplikasi DEBUG untuk menjumlahkan bilangan
heksadesimal:
23+51, 23+(-51), 23-23, dan 23+7F. Amati setiap
baris program dijalankan. Lakukan analisis
terhadap isi register bendera dari setiap proses
yang dilakukan. Kata kunci yang digunakan
adalah MOV dan ADD, serta akumulator AL.

Eksplorasi Prosesor 8086 Dengan


Program DEBUG
MEMORI:
Melihat isi memori pada alamat 100:
-D100 diikuti enter
Misal jika kita menulis program assembly:
MOV AL,3
ADD AL,2
maka DEBUG akan mengubahnya menjadi kodekode mesin dalam format heksadesimal menjadi:
MOV AL,3
B0 03
ADD AL,2
04 02 format mesin

Eksplorasi Prosesor 8086 Dengan


Program DEBUG
Dengan menggunakan perintah D, akan
ditampilkan:

Hal itu menunjukkan kode B0 disimpan di alamat


100, kode 03 di alamat 101, kode 04 di alamat
102, dan kode 02 di alamat 103.

Eksplorasi Prosesor 8086 Dengan


Program DEBUG
Untuk melihat isi register sebelum perintah-perintah itu
dijalankan gunakan perintah R. Jika kedua perintah
tersebut dijalankan baris per baris dengan perintah T,
maka:

terlihat mula-mula IP=100 (alamat awal program, dibuat


otomatis oleh DEBUG), setelah baris 1 dijalankan IP=102
(alamat instruksi ke2). Jadi IP berisi alamat instruksi
berikutnya yang akan dilaksanakan.

Eksplorasi Prosesor 8086 Dengan


Program DEBUG
LATIHAN:
Susun program assembly dengan DEBUG:
MOV
AL,12
ADD
AL,35
SUB
AL,40
Susunlah memori yang menunjukkan kode-kode
mesin untuk instruksi2 tersebut disimpan! Berapa
isi IP untuk setiap baris selesai dijalankan?

Anda mungkin juga menyukai