ConversionOfNumberSystems

    技术2026-08-24  9

    ;子程序说明: ;子程序名: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
    Processed: 0.011, SQL: 9