汇编输出十进制数

最近,老师让写一个汇编程序,结果除了helloworld 其他都不会输出,输出个数字 还变成乱码,查阅资料后,发现输出到是ASCII码对应到字符,无奈只能一个一个输出。
贴代码之前先补充一下:

BIOS 中断 INT 10H 显示字符 AH = 0EH 显示 AL 里面的数据简单来说就是
MOV AH,0EH
INT 10H
屏幕就会输出 AL 里面ASCII 码 对应到字符

其他的注释都有了,也没什么好说到了,感谢 baidu

1
COUTD:              ;将双字AX化为10 进制并显示  
    PUSH BX         ;BX,CX,DX 入栈,保存现场  
    PUSH CX  
    PUSH DX  
    MOV BX,10       ;转换成10进制,所以BX <= 10  
    XOR CX,CX       ;清空 CX  
C0: XOR DX,DX       ;清空 DX  
    DIV BX          ;AX 除以 BX,DX <= 余数, AX <= 商  
    OR DX,0E30H     ;DX|0E30H 结果 DH = 0EH DL =30H+余数    
    PUSH DX         ;商的ASCII码入栈   
    INC CX          ;CX 自加 用于 出栈时计数  
    CMP AX,0        ;比较AX 与 0   
    JNZ C0          ;若AX(商) 不为 0 则 高位还有数 跳转到C0 继续进行计算   
C1: POP AX          ;出栈到AX 此时 AH = 0EH AL = 十进制数到ASCII码  
    INT 10H         ;AH = 0EH 将AL 输出到屏幕  
    LOOP C1         ;CX 不为0 则跳转到C1继续出栈 输出  
    POP DX          ;BX,CX,DX 出栈,恢复现场  
    POP CX  
    POP BX  
    RET