X86符号常量

1.通常为整数表达式或者文本指定标识符来创建符号常量。符号不预留存储空间,只在汇编器扫描程序的时候使用,并且运行时不会被改变

2.等号伪指令

语法
name = expression

COUNT = 500

3.当前地址计数器 $

selfPtr DOWRD $ 

定义了一个变量,并把当前该变量的地址赋给这个变量

4.利用DUP来定义数组

MaxSize = 500
MyArr DWORD MaxSize DUP(0)

5.利用$来计算数组大小

注意 汇编和C不同 两个地址相减 他不会自动去除sizeof(元素类型)

MyArr DWORD 1,2,3,4,5,...
Size = ($ - MyArr)/4

6.EQU伪指令把一个符号名称和一个整数表达式或一个任意文本连接起来,有三种格式

name EQU expression
name EQU symbol
name EQU <text>

第一种格式 expression必须是一个有效整数表达式

PI EQU 10*10

②第二种格式 symbol是一个已存在的符号名称,或者已经用=或者EQU定义过了
③第三种格式 任何文本都可以出现在<…>中

MyString EQU <"Hello World", 0>
PI EQU <3.14159>

一个示例

nNum1 EQU 10*10
nNum2 EQU <10*10>

.data
M1 WORD nNum1 ; 100
M2 WORD nNum2 ; 10*10 这里是直接复制文本的

7.TEXTEQU伪指令,类似于EQU,创建了文本宏。有三种格式

name TEXTEQU <text>	;文本
name TEXTEQU textmacro	;已有文本宏的内容
name TEXTEQU %constExpr ;整数常量表达式

MyMsg TEXTEQU <"Hello World">

文本宏的相互构建

rowSize = 5
count TEXTEQU %(rowSize * 2)
move TEXTEQU <mov>
setupAl TEXTEQU <move al, count>

会被翻译成以下语句

mov al, 10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值