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为起始地址的一段内存空间中的数据将程序的所有指令覆盖。
这道题没有明确指定cx的值,按书上所写,应该程序一启动cx就被赋予程序指令的长度
为了验证这个CX,我编译后用codeview调试,可是在codeview里面cx始终显示0000,调试到loop s这句就死了
后来用debug调试,看到cx=1ah,难道codeview调试程序有问题 ? 还是有其他什么玄机俺不懂,有明白的说说 |