复习一下汇编

编写一个十进制的乘法程序,被乘数和乘数均以ASCII码的形式存放在内存中,将乘积在屏幕上显示出来

;/**
 ;*
;
 * @author Xredman
;
 */

DATA SEGMENT
BUF DB 
'The result is:  ''$'
X1 DB 
11
X2 DB 
11
DATA ENDS
STACK SEGMENT PARA STACK
        DB 
64 DUP(?)
STACK ENDS

CODE SEGMENT
        ASSUME 
CS: CODE, DS: DATA
START:  MOV AX,DATA
        
MOV DS,AX
        
        
MOV AH, 9H
        
MOV DX, OFFSET BUF
        
INT 21H
        
        
MOV AL, X1
        
MOV BL, X2
        
;//实现X1和X2的相乘//
        MUL BL
        
MOV BX, AX
        
        
CALL DISPLAY
        
MOV AH, 1H;
        INT 21H
        
MOV AH,4CH
        
INT 21H
         
;///显示数字
;
           以递归调用实现
DISPLAY PROC
        
PUSH AX
        
PUSH DX
        
MOV AX, BX
          
MOV DX, 0
          
MOV CX, 10
          
DIV CX
          
CMP AX, 0
          
MOV BX, AX
          
JZ FUN
          
CALL DISPLAY
FUN:    CALL DISCHAR
          
POP DX
          
POP AX
         
RET
DISPLAY ENDP

;//子程序调用,显示单个字符//
DISCHAR PROC
          
PUSH AX
          
ADD DL,30H
          
MOV AH, 2H
          
INT 21H
          
POP AX
        
RET
DISCHAR ENDP
;///
       
        CODE ENDS
END START

 

 

转载于:https://www.cnblogs.com/Xredman/archive/2009/04/21/1440774.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值