equ & $ & 数组
宣告后取得变量长度
section .data data: db "1234" data_len: equ $ - data one: equ "one"
$
$在此时表示当前的内存位址,比如当前在0x1204,$就是0x1204
data如果是0x1200,0x1204 - 0x1200就是其长度
但这种情况$必须紧接着变量才是正确位址
equ
equ即为C语言的define,将一个内容取代成另一个内容
比如稍后我们使用one会被取代成”one”,此动作只有取代不分配内存空间
数组
数组是一段连续的内存空间,只要我们在数据段连续定义就是数组
arr: dq "one", 0 dq "two", 0; orone: dq "one", 0two: dq "two", 0
要注意的是任何字串丢去C/C++都需要以\0结尾
此范例dq表示一个元素是qword 8 bytes长度
接着将数组开头载入到寄存器,每次读取+8或扫描到0都可以作为判断准则