Basit bir Assembly Kodu

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

Kalıcı URL

Yorum yapabilmeniz için giriş yapmanız gerekmektedir.