Assembly de 2 sayı karşılaştırma ve hangisinin küçük olduğunu ekrana yazdırma Programı.
promptMsg db “bi sayı gir> “, 0
minMsg db “küçük sayı “, 0
promptMsgtwo db “ikinci sayıyı gir> “, 0
newline db 13, 10, 0
num1 dw ?
num2 dw ?
numSmall dw ?
; Kullanıcıya ilk sayıyı girmesini söylediğin yer
mov si, offset promptMsg
call print_string
; girilen sayıyı scan_num la cx e aldın
call scan_num
; cx teki sayıyı num1 değişkenine attın
mov num1, cx
;sonraki satıra geçtin
mov si, offset newline
call print_string
; ikinci sayıyı girmesini söyledin
mov si, offset promptMsgtwo
call print_string
; sayıyı cx e okudun gene
call scan_num
; cx i num2 ye taşıdın
mov num2, cx
; alt satıra geçtin
mov si, offset newline
call print_string
; num1 i bx e taşıki karşılaştırma yapabil
mov bx, num1
;sayıları karşılaştırdın
CMP bx, num2
Jl minnum1 ; eğer bx yani num1 küçükse (JUMP LESS) minnum1 e atla dedik.
mov ax, num2 ;eğer bi üst satırda atlamadıysa num1 num2 den büyük demektir yani num2 küçük olan, o zaman ax e yani ekrana yazılacak olan değere num2 gelmeli.
JMP printnum ; printnum a atlıycak
minnum1:
mov ax, num1 ;num1 küçük olduğundan ax e num1 i koyucak sonrada alt satırdan devam edicek ve num1 i yani ax i ekrana yazıcak küçük diye
printnum:
call print_num
EndLabel:
ret
DEFINE_PRINT_STRING
DEFINE_SCAN_NUM
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
Yorum yapabilmeniz için giriş yapmanız gerekmektedir.