PROC 伪指令
过程可以非正式地定义为:由返回语句结束的已命名的语句块。过程用 PROC 和 ENDP 伪指令来定义,并且必须为其分配一个名字(有效标识符)
main PROC
'
'
main ENDP
PTR 运算符
PTR 运算符可以用来重写一个已经被声明过的操作数的大小类型。只要试图用不同于汇编器设定的大小属性来访问操作数,那么这个运算符就是必须的。
例如,假设想 要将一个双字变量 myDouble 的低 16 位传送给 AX。由于操作数大小不匹配,因此,汇编器不会允许这种操作。
.data
; 定义变量
sum DWORD 0
myDouble DWORD 12345678h
.code
main PROC
; coding here
mov ax, WORD PTR myDouble
INVOKE ExitProcess,0 ; 调用windows服务停止程序,并将控制权交给操作系统
main ENDP
end main
注意,PTR 必须与一个标准汇编数据类型一起使用,这些类型包括:BYTE、SBYTE、WORD、DWORD、SDWORD、FWORD、QWORD 或者 TBYTE。
lea 指令
lea 指令,即装入有效地址指令,它将内存单元的地址松动指定的寄存器。它的操作数虽然也是内存单元,但是它获取到的是内存单元的地址,而不是内存单元中的数据。
ALIGN 伪指令
ALIGN 伪指令将一个变量对齐到字节边界、字边界、双字、边界或段落边界。
为什么要进行数据对齐?因为对于存储于偶地址和奇地址的数据来说,CPU 处理偶地址数据的速度要快得多。
数据类型伪指令
DB 伪指令可以定义有符号或者无符号得 8 位变量 BYTE
DW 16 位 字
DD 32 位 双字
DQ 64 位 四字
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于