数组的定义
在32位汇编语言中,定义数组时,通常使用定义数据指令(如 DB, DW, DD,DQ )和标签来指定数组的名称和内容。DB定义字节数组(每个元素占1字节)、DW定义字数组(每个元素占2字节)、DD定义双字数组(每个元素占4字节)、DQ定义四字数组(每个元素占8字节),以下是常见的数组定义格式:
.data
byte_array db 13,23,14,25,30 ;定义一个包含5个字节(8位)的数组
word_array dw 1, 2, 3, 4, 5 ; 定义一个包含5个字(16位)的数组
qword_array dq 1234567890123456789, 9876543210987654321 ; 定义四字数组
如果此时我们要定义一个未进行初始化的数据,则格式为:
数组名 命令 元素个数 dup(?)
此时要定义一个有20个字节元素的数组barray,则可以这样定义:
barray db 20 dup(?)
这个时候如果要手动对数组进行修改或者初始化则需要使用stos系列的指令;STOS 指令在 x86 汇编语言中用于将数据从累加器寄存器(AL、AX 或 EAX)存储到由目的地址寄存器(EDI)指示的内存位置。具体来说,STOS 指令有三个变体:STOSB、STOSW 和 STOSD,分别用于存储字节、字和双字数据。
数组数据填充
STOS系列操作步骤
-
存储数据:


1592

被折叠的 条评论
为什么被折叠?



