汇编实验3

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

示例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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值