题干本题共包含 5 个小题

阅读下面的程序,回答问题
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

简答题1

画出内存分配图。

正确答案

答案解析

简答题2

说明程序功能,程序执行后,从BCD开始的N个字节单元中的内容是什么?

正确答案

程序功能是将从BUF开始的连续4个字符’1234’转变为4个对应的数值,按逆序存放到以变量BCD为首地址的存储单元中。程序执行后,从BCD开始的N个字节单元中的内容是4321。

答案解析

简答题3

找出一条指令代替指令“SUB AL,30H”,使程序功能不变。

正确答案

用指令“AND AL,0FH”代替指令“SUB AL,30H”,程序功能不变。

答案解析

简答题4

如果将代码段中的指令LEA DI,BCD+N-1改成LEA DI,BCD;DEC DI改成INC DI,其它指令不变,程序执行后,从BCD开始的N个字节单元中的内容是什么?

正确答案

程序执行后,从BCD开始的N个字节单元中的内容是1234。

答案解析

简答题5

取消数据段的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

答案解析

相似试题
  • 认真阅读下面的程序段并回答问题 上面的指令执行后,(AX)=(),(CF)=()

    简答题查看答案

  • 认真阅读下面的指令段并回答问题?程序段执行后,(BX)=,ZF=,CF=。

    简答题查看答案

  • 有程序段如下,认真阅读并回答问题 上面的程序段实现什么功能?程序段执行后,(AL)=();(DL)=()。

    简答题查看答案

  • 认真阅读下面的伪指令段,回答问题。 上述数据段中,DA1的偏移量是(),DA2的偏移量是(),DA2字节单元的内容是()

    简答题查看答案

  • 阅读下面的程序,指出该程序完成的功能。

    简答题查看答案

  • 阅读下面的程序,写出运行结果。()

    单选题查看答案

  • 阅读下面的程序,指出该程序完成的功能。

    简答题查看答案

  • 阅读下面的程序片段,程序执行后,打印的结果是几?()

    单选题查看答案

  • 阅读下面的程序,程序执行后,运行结果为以下哪个选项?()

    单选题查看答案

  • 阅读下面的程序段: 执行上面的三重循环后,a的值为()

    单选题查看答案