当前位置: 移动技术网 > 移动技术>移动开发>Android > ConversionOfNumberSystems

ConversionOfNumberSystems

2020年07月08日  | 移动技术网移动技术  | 我要评论
;子程序说明:
;子程序名:ConversionOfNumberSystems
;功能:可实现实现无符号数(! = 0)二、八、十、十六进制输出子程序, 使用递归调用方式实现
;入口参数:
;         AX为要转换的数;
;         BX为对应进制(2,8,10,16); 
;使用寄存器:AX, BX, CX, DX
;示例:要在屏幕输出255的二进制数,则令AX=255,BX=2,调用子程序后,屏幕输出11111111.
ConversionOfNumberSystems PROC
    
    PUSH CX     ;DX入栈    
    PUSH DX     ;DX入栈
    
    MOV CX,0    ;CX清零
    MOV DX,0    ;DX清零
                        
    CMP AX,0    ;AX是否为0                   
    JZ FINISH   ;是,则完成
    DIV BX      ;不是,则除以进制数
    CALL ConversionOfNumberSystems;递归调用
    ADD DL,30H  ;30H,即转换成ASCII
    CMP DL,39H  ;对于十六进制,比较是否大于‘A’
    JBE DISPLAY;不是,则转移
    ADD DL,7    ;是,则再加7
    
DISPLAY:
    PUSH AX      
    MOV AH,02H      
    INT 21H     ;输出当前转换结果
    POP AX
     
FINISH: 
    POP DX      ;DX出栈
    POP CX      ;CX出栈
    
    RET
          
ConversionOfNumberSystems ENDP

本文地址:https://blog.csdn.net/m0_47423026/article/details/107134252

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网