[問題] 請問有關 masm 的問題

看板ASM (組合語言)作者 (香蕉公車)時間15年前 (2009/08/09 19:20), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
大家都知道, 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
文章代碼(AID): #1AVh403o (ASM)
文章代碼(AID): #1AVh403o (ASM)