匯編中的偏移地址和段地址取值


在Masm中,表示存儲單元的有標號和變量,形式相同,前者有冒號,后者沒有。偽指令offset和seg大部分教程中都表示取標號或變量的偏移地址和段地址,但稍有細微的區別:

假設有匯編代碼如下:

 1 datasg segment  2  dataName dw 1234h  3 datasg ends  4 codesg segment  5     start:
 6     mov ax,start  7     mov ax,offset start  8     mov ax,seg start  9     mov ax,dataName 10     mov ax,offset dataName 11     mov ax,seg dataName 12     mov ax,datasg 13     mov ax,offset datasg 14     mov ax,seg datasg 15 codesg ends 16 end start

其中6、7行效果是相同的,取偏移地址;第8行是取start所在位置的段地址。

其中9行是取dataName的值,10行是取dataName的偏移地址,11行是取dataName的段地址。

其中12和14行效果是相同,取段地址;13行是取該段的長度。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM