编程题 根据题意完善程序

来源:百度知道 编辑:UC知道 时间:2024/05/24 01:39:28
根据题意完善程序
下面的程序把缓冲区NUM中的十六进制值转换为4个ASCII码,依次放入缓冲区STRING中,并显示输出,请根据题意,完善该程序。
DATA SEGMENT
NUM DW 45AFH
STRING DB 4 DUP(?),‘$’
DATA ENDS
STACK SEGMENT PARA STACK ‘STACK’
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME (1)
BEGIN:MOV AX,DATA
MOV DS,AX
LEA BX,STRING
CALL BINHEX
LEA (2),STRING
MOV AH,9
INT 21H
MOV AH,(3)
INT 21H
BINHEX PROC
MOV AX,NUM
MOV DI,BX
ADD DI,3
MOV DX,AX
MOV CX,4
AGAIN: AND AX,0FH
CMP AL,0AH
(4)
ADD AL,‘a’―‘0’―0ah
ADDZ:ADD AL,‘0’
MOV [ DI ],AL
DEC (5)
PUSH CX
MOV CL,4
SHR DX,CL
MOV AX,DX
POP (6)
LOOP AGAIN
(7)

填好了,自己看看
-----------------------
DATA SEGMENT
NUM DW 45AFH
STRING DB 4 DUP(?),'$'
DATA ENDS
STACK SEGMENT PARA STACK 'STACK'
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
BEGIN: MOV AX,DATA
MOV DS,AX
LEA BX,STRING
CALL BINHEX
LEA DX,STRING
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
BINHEX PROC
MOV AX,NUM
MOV DI,BX
ADD DI,3
MOV DX,AX
MOV CX,4
AGAIN: AND AX,0FH
CMP AL,0AH
JL ADDZ
ADD AL,'a'-'0'-0AH
ADDZ: ADD AL,'0'
MOV [DI],AL
DEC DI
PUSH CX
MOV CL,4