題目:編寫程序提示用戶輸入兩個十進制無符號兩位數,要求比較兩個數的大小並顯示結果.
示例1:
Enter an integer1: 39
Enter an integer2: 8 2
39<82
示例2:
Enter an integer1:28
Enter an integer2:28
28=28
DATAS SEGMENT
;此處輸入數據段代碼
string db 10
db ?
db 10 dup('$')
string1 db "Enter an integer1: $"
string2 db "Enter an integer2: $"
num1 db ?
num2 db ?
stringnum1 db 10 dup('$')
stringnum2 db 10 dup('$')
DATAS ENDS
STACKS SEGMENT
;此處輸入堆棧段代碼
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此處輸入代碼段代碼
mov dx,offset string1;輸出string1的內容
mov ah,09h
int 21h
mov dx,offset string;讀入一個字符串,即一個兩位數
mov ah,0ah
int 21h
mov al,string[2];將這個兩位數存到另一個字符串
mov stringnum1[0],al
mov al,string[3]
mov stringnum1[1],al
mov cl,[string+2];以ascii碼的形式存num1,即這個兩位數
sub cl,'0'
mov ch,[string+3]
sub ch,'0'
mov num1,ch
mov al,cl
mov bl,10d
mul bl
mov cl,al
add num1,cl
mov dl,0ah;輸出回車
mov ah,02h
int 21h
mov dx,offset string2;以同樣的操作存num2
mov ah,09h
int 21h
mov dx,offset string
mov ah,0ah
int 21h
mov al,string[2]
mov stringnum2[0],al
mov al,string[3]
mov stringnum2[1],al
mov cl,[string+2]
sub cl,'0'
mov ch,[string+3]
sub ch,'0'
mov num2,ch
mov al,cl
mov bl,10d
mul bl
mov cl,al
add num2,cl
mov dl,0ah
mov ah,02h
int 21h
;輸出
mov dx,offset stringnum1
mov ah,09h
int 21h
mov al,num1
cmp al,num2
je equal
jb below
ja above
equal:
mov dl,'='
mov ah,02h
int 21h
jmp ttt
below:
mov dl,'<'
mov ah,02h
int 21h
jmp ttt
above:
mov dl,'>'
mov ah,02h
int 21h
ttt:
mov dx,offset stringnum2
mov ah,09h
int 21h
MOV AH,4CH
INT 21H
CODES ENDS
END START