王爽汇编第五章实验疑问

提示: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
展开
 我来答
Go_backYlife
2014-04-13
知道答主
回答量:5
采纳率:0%
帮助的人:11.3万
展开全部

这个实验在这边不怎么好,有点突然。。。


  1. 因为题目要求是吧mov 4c00h之前的指令复制到目的内存0:200     也就是把CS的指令当成数据给复制过去,,既然是数据 那就是通过数据段来传,所以DS数据段  mov ds,cs。   再复制到0:200


2. 你看到1c是因为你用的是mov ax,cs  这个指令时两个字节      你换成 mov ax,code  就是三个字节

所以1c就变成1d了.。。。。。 骚年继续努力吧。。。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式