不良企鹅 发表于 2013-10-1 23:22:44

实验5中5,6两题关于assume的疑问

书上的代码是
assume   cs:code                  <----这里没有定义a段与ds相关连,b段与es相关连,我知道
                                                         mov ax,a       mov ds,ax 这两句指令是把自己定义的段当做数据段等等,那是不是就是
                                                         说ds:aes:b这两句是可有可无的?
a segment
   db 1,2,3,4,5,6,7,8
a ends

b segment
db 1,2,3,4,5,6,7,8
b ends

c segment
db 0,0,0,0,0,0,0,0
c ends

code segment
start: mov ax,a
       mov ds,ax       mov ax,b       mov es,ax       mov bx,0.......

LinuxDeepin 发表于 2013-10-1 23:28:42

assume 意思是假设 某 段寄存器 与 某段关联
你并不需要深入了解,因为这是写给你自己看的。

assume cs:codesg, ds:datasg, ss:stacksg
这样看你就知道 codesg 是代码段, datastg是数据段,stacksg 是栈段了

不良企鹅 发表于 2013-10-2 10:43:32

。。。复制粘贴,看看我问题再回答

LinuxDeepin 发表于 2013-10-2 11:37:12

不良企鹅 发表于 2013-10-2 10:43 static/image/common/back.gif
。。。复制粘贴,看看我问题再回答

你找个与我回复一模一样的文章出来,纯手工打字

这里没有定义a段与ds相关连,b段与es相关连,我知道
mov ax,a
mov ds,ax
这两句指令是把自己定义的段当做数据段等等,
那是不是就是说ds:aes:b这两句是可有可无的?

答: mov ax,a
mov ds,ax这两行代码意思是让 ds 数据段寄存器指向 a 段

assume cs:code, ds:a, es:b这行代码可以不写,写出来主要是让你自己看什么段落与什么段寄存器关联而已

不良企鹅 发表于 2013-10-2 14:30:26

LinuxDeepin 发表于 2013-10-2 11:37 static/image/common/back.gif
你找个与我回复一模一样的文章出来,纯手工打字

这里没有定义a段与ds相关连,b段与es相关连,我知道


明白了,谢谢

baby520 发表于 2013-10-6 18:44:01

明白了。。。。。

菜鸟一个a 发表于 2013-12-31 10:00:16

学习学习再学习
页: [1]
查看完整版本: 实验5中5,6两题关于assume的疑问