努力学习 发表于 2012-2-22 21:14:57

实验四第二题

题目是用9条命令向内存0:200~0:23F依次传送数据0~63h,看了一下答案有一点不理解,
assume cs:codesg
codesg segment
   
   mov ax,0020h
   mov ds,ax
   mov bl,0
   mov cx,40h
s: mov ,bl
   inc bl
   loop s

   mov ax,4c00h
   int 21h
上面答案中红色那行不理解,既然 mov bl,0   ,但是bh还没有被赋值,所以mov ,bl中的偏移地址不一定是0000h吧?
      

rainymay 发表于 2012-2-23 15:54:42

应该是打字失误吧
严谨的应该是mov bx, 0    inc bx

小熊猫party 发表于 2012-2-23 16:33:51

我觉得程序没有打错!!!

大家看看题目(题目是用9条命令向内存0:200~0:23F依次传送数据0~63h)

传送内存单元0:200~0:23F   值:0到63H
第一次运行 bh=0bl=0   mov ,bl;inc bl
第二次运行 bh=0bl=1   mov ,bl;inc bl
第三次运行 bh=0bl=2   mov ,bl;inc bl

细心的你看出了吗?bl值会被改变,改变也就是说bx值也会改变!!!当第三次运行时BX=0003H bl=03H


如果按照另外一只熊猫说的把这条放在
s: mov ,bl
   inc bl
   loop s
里面 (严谨的应该是mov bx, 0    inc bx)那我只能说你错了!!

第一次运行 bh=0bl=0   mov bx, 0    inc bx
第二次运行 bh=0bl=1   mov bx, 0    inc bx
第三次运行 bh=0bl=1   mov bx, 0    inc bx

BX值会变成0,这个能实现用9条命令向内存0:200~0:23F依次传送数据0~63h吗????




努力学习 发表于 2012-2-24 17:20:38

小熊猫party 发表于 2012-2-23 16:33 static/image/common/back.gif
我觉得程序没有打错!!!

大家看看题目(题目是用9条命令向内存0:200~0:23F依次传送数据0~63h)


我懂了,谢谢

tpwj 发表于 2012-6-17 23:14:14

我用的此代码,上机通过测试.
assume cs:codesg
codesg segment
start: mov ax,0020h
       mov ds,ax
           mov bx,0
          
           mov cx,64
        s: mov ,bx
           inc bx
           loop s
          
           mov ax,4c00h
           int 21h
codesg ends
end start

骑着蟑螂闯红灯 发表于 2012-6-21 17:19:14

你的帖子发表已经很长时间了,估计你已经弄懂了,既然交流论坛,作为初学者我也谈谈我的理解(我视频才看到第六章,你的困惑我也遇到了)

注意:①内存中的数据改变会影响相应的代码(指令)变化。
      ②在debug中cx默认显示当前指令的长度
      ③code即为cs的值
   要想把“mov ax,4c00H”指令复制到内存0:200处,只需把每条指令所对应的内存数据赋到0:200处即可。
   18H怎么来的呢???“mov ax,4c00H和int21H”的总长度为5H,1DH-5H=18H即为剩余指令长度(即为题目中要我们复制指令的长度)。
接下只需按照我提到的再去看程序   应该能看懂!!!


我是初学者难免有错,希望大家能指出错误!!!
谢谢!!!

骑着蟑螂闯红灯 发表于 2012-6-21 19:35:26

不好意思上面我回复的是第三题。接下来我回复第二题,小甲鱼犯错误了,"mov bl,0"这是不准确的,正确的应该是“mov bx,0“,你的疑问是对的!!!开始我也有这样的疑问,嘿嘿。。。

小岸 发表于 2012-7-18 18:27:50

小熊猫party 发表于 2012-2-23 16:33 static/image/common/back.gif
我觉得程序没有打错!!!

大家看看题目(题目是用9条命令向内存0:200~0:23F依次传送数据0~63h)


这个程序没有复制BH 等于什么啊? 我可以假设他等于02,那结果就不尽相同了吧?

小岸 发表于 2012-7-18 18:28:34

简单地说你怎么知道BH一定等于零?
页: [1]
查看完整版本: 实验四第二题