zzmatrix 发表于 2011-11-18 14:59:45

关于实验4的任务3

如下:
(3) 下面的程序的功能是将“mov ax,4c00h”之前的指令复制到内存0:200处,补全程序。上机调试,跟踪运行结果。
assume cs:code
code segment
   mov ax,code;code为所填写的数据
   mov ds,ax
   mov ax,0020h
   mov es,ax
...

其中code我替换为cs运行结果都一样,而且代码少一个字节。

在书第六章程序6.3中也有
start:    mov ax,cs
            mov ss,ax
            mov sp,30h

问题来了,上面讲的cs和code是可以在任意时刻随意替换的吗?

cfer 发表于 2011-11-18 23:50:22

不是的,code是一个标号,汇编时把它处理成一个地址,也就是说你可以把它当作一个表示地址的数值,而cs是一个寄存器,你可以把它看作一个容器。我们可以给cs赋值,但是我们不可以给code赋值,因为它只是个数字而已。
页: [1]
查看完整版本: 关于实验4的任务3