Program Mencetak 3 angka pada aplikasi emu8086
MULAI :
MOV AX,469
; untuk memasukkan nilai 469 ke register AX, AX= 469
XOR CX,CX ; Operator XOR akan menghasilkan nol dua untuk nilai yang
sama nilainya dan bernilai satu jika nilai
nya berbeda. Maka CX=0.
ULANG1:
MOV BH,10 ; untuk
memasukkan nilai 10 ke register BH,
BH=10
DIV BH
; untuk membagi nilai register AX dengan nilai register BH
PUSH AX
;untuk
masukkan hasil bagi AX ke STACK
INC CX ;tambah satu kepada jumlah digit CX
XOR AH,AH ;
Operator XOR akan menghasilkan nol dua untuk nilai yang sama nilainya dan bernilai satu jika
nilai nya berbeda. Maka AH=0
CMP AL,00 ;AL=0 ? ( membandingak apakah nilai AL sama dengan
00)
JNE ULANG1 ;jika operand 1 tdk sama dg
operand2 tidak sama lompat ke ULANG1
ULANG2:
pop dx ;
merupakan operator untuk mengeluarkan nilai pada STACK
mov dl,dh ;memindahkan sisa pada dh ke dl
add dl,30h ; +30h untuk
dicetak
mov ah,02 ; untuk
mnejalankan int 21h, Register ah, harus berisi service number dari Int 21h yang akan dijalankan (02h).
int 21h ; berfungi mencetak huruf/kalimat pada pada
emulator screen.
Loop ULANG2 ;
untuk melakukan perulangan ke UALNG2
MOV AH,4CH ;
menghentikan Program
Tidak ada komentar:
Posting Komentar