正在加载图片...
JNE $+6 【例4-6】$用法示例 RRAY DW1,2,$+4,3,4,$+4 如汇编时ARAY分配的偏移地址为0074,则汇编后的存储 区将如图4.5所示 注意:ARAY数组中的两个$+4得到的结果是不同的,这是图4.5例4-6的汇编结果 由于$的值是在不断变化的缘故。当在指令中用到$时,它只代表该指令的首地址,而与$本身 所在的字节无关 2.ORG伪操作 ORG伪操作用来设置当前地址计数器的值,其格式为: ORG CONSTANT EXPRESS IO 3.EVEN伪操作 4. ALIGN伪操作 ALI6N伪操作为保证双字类型数组边界从4的倍数开始创造了条件,其格式为: ALIGN BOUNDARY 其中 BOUNDARY必须是2的幂,例如 DATA aliGn 4 ARRAY 100DUP(?) 就可保证ARAY的值为4的倍数。当然,ALGN2和EVEN是等价的。 4.2.6基数控制伪指令 RADIX EXPRESSION 4.2.7过程定义伪指令 可把具有独立功能的程序段定义为过程,供其它程序调用。 过程定义的语法格式为: 过程名> PROC NEAR/FA <过程名>ENDP 4.3汇编语言源程序结构 4.3.1完整段定义的程序结构 SEGMENT NAME SEGMENT SEGMENT NAME ENDS ASSUME<段寄存器名>:段名[,<段寄存器名>:段名,…] ASSUME<段寄存器名>: NOTHING <段名〉 SEGMENT[定位类型][组合类型][使用类型][类别 <段名>ENDSJNE $+6 【例 4-6】$ 用法示例 ARRAY DW 1,2,$+4,3,4,$+4 如汇编时 ARRAY 分配的偏移地址为 0074,则汇编后的存储 区将如图 4.5 所示。 注意:ARRAY 数组中的两个 $+4 得到的结果是不同的,这是 图 4.5 例 4-6 的汇编结果 由于$的值是在不断变化的缘故。当在指令中用到$ 时,它只代表该指令的首地址,而与$本身 所在的字节无关。 2. ORG 伪操作 ORG 伪操作用来设置当前地址计数器的值,其格式为: ORG CONSTANT EXPRESSION 3. EVEN 伪操作 4. ALIGN 伪操作 ALIGN 伪操作为保证双字类型数组边界从 4 的倍数开始创造了条件,其格式为: ALIGN BOUNDARY 其中 BOUNDARY 必须是 2 的幂,例如: .DATA ┇ ALIGN 4 ARRAY DB 100 DUP(?) ┇ 就可保证 ARRAY 的值为 4 的倍数。当然,ALIGN 2 和 EVEN 是等价的。 4.2.6 基数控制伪指令 .RADIX EXPRESSION 4.2.7 过程定义伪指令 可把具有独立功能的程序段定义为过程,供其它程序调用。 过程定义的语法格式为: <过程名> PROC NEAR/FAR ┇ RET ┇ <过程名> ENDP 4.3 汇编语言源程序结构 4.3.1 完整段定义的程序结构 SEGMENT_NAME SEGMENT ┇ SEGMENT_NAME ENDS ASSUME <段寄存器名>:段名[,<段寄存器名>:段名,…] ASSUME <段寄存器名>:NOTHING <段名> SEGMENT [定位类型][组合类型][使用类型][类别] ┇ <段名> ENDS
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有