求问一道汇编语言的编程题? 高分求解!

2024-12-31 16:10:22
推荐回答(3个)
回答1:

;屏幕显示太快。。。 可在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

回答2:

0~255,有些,是不能显示的。

回答3:

题目是否有问题???,41应是“A”的十六进制码???