汇编中的偏移地址和段地址取值
在Masm中,表⽰存储单元的有标号和变量,形式相同,前者有冒号,后者没有。伪指令offset和seg⼤部分教程中都表⽰取标号或变量的偏移地址和段地址,但稍有细微的区别:
假设有汇编代码如下:
1 datasg segment
2 dataName dw 1234h
3 datasg ends
4 codesg segment
5start:
6mov ax,start
7mov ax,offset start
8mov ax,seg start
offset指令是什么意思9mov ax,dataName
10mov ax,offset dataName
11mov ax,seg dataName
12mov ax,datasg
13mov ax,offset datasg
14mov ax,seg datasg
15 codesg ends
16 end start
其中6、7⾏效果是相同的,取偏移地址;第8⾏是取start所在位置的段地址。
其中9⾏是取dataName的值,10⾏是取dataName的偏移地址,11⾏是取dataName的段地址。
其中12和14⾏效果是相同,取段地址;13⾏是取该段的长度。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论