王爽汇编第五章实验疑问
提示:1.因为题目的要求是把代码段内的指令当作数据,复制到目的地址。所以,源数据段ds和代码段cs相同。=>循环S:moval,[bx]moves:[bx],al意思不是...
提示:1.因为题目的要求是把代码段内的指令当作数据,复制到目的地址。所以,源数据段ds和代码段cs相同。
=>循环S:mov al,[bx] mov es:[bx],al 意思不是把代码段DS:BX中的数据送入al 再送入es:bx,怎么看出来是提示1 源数据段ds和代码段cs相同???
提示:
2.在DEBUG时我们可用R命令查看CX的值,这时我们可以看到CX的值为1D,由此我们可以算出该程序的长度[1Dh-5h]=18h,之所以减5是为了满足题目的要求(因为mov ax,4c00h/int 21h这两条指令的长度等于5)
=>我按照提示 输入第一个空cs,第二个空18h,为什么我-r看到cx其实是1C???
assume cs:code
code segment
mov ax,cs
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,18h
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end 展开
=>循环S:mov al,[bx] mov es:[bx],al 意思不是把代码段DS:BX中的数据送入al 再送入es:bx,怎么看出来是提示1 源数据段ds和代码段cs相同???
提示:
2.在DEBUG时我们可用R命令查看CX的值,这时我们可以看到CX的值为1D,由此我们可以算出该程序的长度[1Dh-5h]=18h,之所以减5是为了满足题目的要求(因为mov ax,4c00h/int 21h这两条指令的长度等于5)
=>我按照提示 输入第一个空cs,第二个空18h,为什么我-r看到cx其实是1C???
assume cs:code
code segment
mov ax,cs
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,18h
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询