作者operationcow (香蕉公车)
看板ASM
标题[问题] 请问有关 masm 的问题
时间Sun Aug 9 19:20:31 2009
大家都知道, masm 的 assembly 一般格式是
assume cs:codesg
codesg segment
start:
; 程式码在这边
codesg ends
end
其中 assume 、segment 、end 都是属於假指令
我想请问这些假指令所对应的意思与效果 @@?
------------------------------------------------------------
assume 在书上是说可以在组译时间计算标签和变数的偏移值
但又提到 assume 实际上不会改变暂存器之值, 你必须在执行时期将
暂存器设定为需要的区段之位址
读到这边我就搞混了, 所以 assume 实际上的效果是??
--------------------------------------------------------------
另外 segment 和 end 我大概知道意思, 想顺便问问版上各位高手我的
观念是不是有错 OTZ...
因为 Intel 在以往 16 bit 的时候是采取用 段 + 位移 的方式来定址
因此所有的 instruction 都必须在某一个段中, 否则无法定址
而 segment 和 ends 就是用来协助 assembler 处理程式的记忆体布局
而 end 则是告诉 assembler 组译结束
不知道这样的观念是否有错 ??
感谢大家 <(__)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.243.43