第五题:
对于如下程序
assume cs:code
code segment
start:mov ax,code
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
下列说法正确的是______。
1、 指令mov ax,code改为mov ax,start对程序要实现的功能没有任何影响。
2、 程序不能通过编译,因为在loop指令之前,没有对寄存器cx进行设定。
3、 程序实现的功能是将程序的所有指令复制到内存中以0:200h为起始地址的一段内存空间中。
4、 程序实现的功能是用内存中以0:200h为起始地址的一段内存空间中的数据将程序的所有指令覆盖。
分析:第一次选的1错了,第二次又选了1 :)
无耐把这道题目拿到编译器里发现了问题,标号start代表的是偏移地址0。
对于选项1应该是: 指令mov ax,code改为mov ax,cs对程序要实现的功能没有任何影响。
对于选项2没有语法错误的情况下编译不会出现问题,且经debug查看了一下,原来cx中存储的恰恰就是程序的长度。
版权声明:本文为u010518493原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。