汇编中的偏移地址和段地址取值


在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