题目:编写程序提示用户输入两个十进制无符号两位数,要求比较两个数的大小并显示结果.
示例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