Senin, 09 Juli 2012
Program Perkalian 1 digit pada Assembler
;program menghitung axb, a dan b diinput
code segment
assume cs:code
org 100h
mulai:jmp awal
psn db 13,10, 'Masukan angka pertama:$'
psn1 db 13,10, 'Masukan angka kedua :$'
ganti db 13,10,'$'
awal:
mov dx,offset psn
call inputbil
mov cl,al
mov dx,offset psn1
call inputbil
mov ch,al
mov dx,offset ganti
call tampil
mov dl,cl
call cetakhrf
mov dl,'x'
call cetakhrf
mov dl,ch
call cetakhrf
mov dl,'='
call cetakhrf
sub ch,'0'
sub cl,'0'
mov al,cl
mul ch
add al,'0'
mov cl,al
mov dl,cl
call cetakhrf
int 20h
tampil proc
mov ah,9
int 21h
ret
tampil endp
cetakhrf proc
mov ah,2
int 21h
ret
cetakhrf endp
inputbil proc
ulang:
call tampil
mov ah,1 ; minta input keyboard
int 21h
cmp al,'0' ; 0?
jge ditpl ; lebih besar atau sama dengan 0, bandingkan dengan '9'
jmp ulang ;tidak --->ulangi
ditpl:
cmp al,'9' ;apakah 9?
jg ulang ; lebih dari '9' berarti non angka, ulangi langka pertama
ret
inputbil endp
code ends
end mulai
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar