[問題] 請問有關 masm 的問題
大家都知道, 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
ASM 近期熱門文章
PTT數位生活區 即時熱門文章