问题
问答题 案例分析题
阅读下面的程序,回答问题
DATA SEGMENT
BUF DB '1234'
N=$-BUF
BCD DB N DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA SI,BUF
MOV CX,N
LEA DI,BCD+N-1
LOOP1:MOV AL,[SI]
SUB AL,30H
MOV [DI],AL
INC SI
DEC DI
DEC CX
JNE LOOP1
MOV AH,4CH
INT 21H
CODE ENDS
END START
取消数据段的BCD存储区,将处理后的数据放回原处,应如何修改程序?
答案
参考答案:
取消数据段的BCD存储区,将经处理后的数据放回原处,修改程序如下:
DATA SEGMENT
BUF DB '1234'
N=$-BUF
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA SI,BUF
MOV CX,N
LOOP1:MOV AL,[SI]
SUB AL,30H
MOV [SI],AL
INC SI
DEC CX
JNE LOOP1
MOV AH,4CH
INT 21H
CODE ENDS
END START