超级肉肉男 发表于 2020-11-26 16:34:03

为何要吧程序段和寄存器关联起来

本帖最后由 超级肉肉男 于 2020-11-26 16:39 编辑

如题,为何要在汇编程序的开头用一个assume把这段segment...ends 的程序段和一个段寄存器关联起来,这样做的目的是什么{:5_99:}

超级肉肉男 发表于 2020-11-26 16:41:40

我猜应该是为了把这段程序存到这个段寄存器指向的内存?

超级肉肉男 发表于 2020-11-26 16:42:24

不懂

超级肉肉男 发表于 2020-11-26 16:51:20

还有这个里面为啥说“对于这个程序,也不是非这样做不可”

“或许” 发表于 2020-11-29 17:38:09

用assume关联段寄存器主要是为了调用标号。

ds:data就意味着data段下有标号,并且看到对应标号时自动匹配data的地址为段地址。
比如标号x在data段下
ds:data
mov si, offset x
就意味着
mov si,ds:
如果没有定义ds:data,并且程序有多个段
那么 mov si, offset x;系统就不知道x到底是哪个段的了



页: [1]
查看完整版本: 为何要吧程序段和寄存器关联起来