汇编语言中怎么让ASCII码以十进制的数显示出来 写的好给十分

如题所述

;屏幕显示太快。。。 可在DOS下用重定向“>”输出到一个文本文件。
;如:C:\> ASC >ABC.TXT (其中,ASC为编译后生成的可执行文件)
;有些字符无法正常显示

DATAS SEGMENT
A0 DB 'ASCII HEX DEC',0DH,0AH,24H
AA DB 0, ' '
BB DB 0
BB1 DB 0, ' '
C1 DB 0
C2 DB 0
C3 DB 0,0DH,0AH,0DH,0AH,24H
TAB DB '0123456789ABCDEF'
DATAS ENDS

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
MAIN PROC FAR
START:
MOV AX,DATAS
MOV DS,AX
MOV AH,09
MOV DX,OFFSET A0
INT 21H

MOV CX,100H
MOV AL,0H
NEXT:
MOV AA,AL
PUSH AX
CALL D_HEX
CALL D_DEC
MOV AH,09
LEA DX,AA
INT 21H
POP AX
INC AL
LOOP NEXT

MOV AH,4CH
INT 21H
MAIN ENDP
;==================
D_HEX PROC NEAR
PUSH AX
PUSH CX
MOV AH,0
MOV BL,16
DIV BL
PUSH AX
LEA BX,TAB
XLAT
MOV BB,AL
POP AX
MOV AL,AH
LEA BX,TAB
XLAT
MOV BB1,AL
POP CX
POP AX
RET
D_HEX ENDP
;==================
D_DEC PROC NEAR
MOV AH,0
MOV BL,100
DIV BL
ADD AL,30H
MOV C1,AL
MOV AL,AH
MOV AH,0
MOV BL,10
DIV BL
ADD AX,3030H
MOV C2,AL
MOV C3,AH
RET
D_DEC ENDP

;==================
CODES ENDS
END START追问

你这是用到了子程序了吧?我看不太懂,有没有简单一点的,我现在知道了ASCII码,就想转换成10进制数在屏幕上输出

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-17
http://zhidao.baidu.com/question/419537442.html?oldq=1追问

你什么意思啊,想说明什么?

相似回答