汇编-03-基本数据定义

; 2018.12.30

.386
.model flat, stdcall
.stack 4096
ExitProcess PROTO, dwExitCode:DWORD

.data

; 等号伪指令 = --------------------
; 将一个符号名称与整数表达式连接起来, 可以重定义
t1_count = 600	; 与处理阶段所有的 count 都会替换为600, 后者必须是整数表达式
t1_str_size = 2

; 当前地址计数器 $ --------------------
t2_self	DWORD	$ ; 初始化为该变量偏移量

; 计算数组大小 --------------------
t3_str1	BYTE	"123456789", 0
t3_str_size = ($ - t3_str1)
t3_num	DWORD	233

; 使用 DUP 定义数组 --------------------
t4_count = 10
t4_array	DWORD	t4_count DUP(0)

; EQU 伪指令 --------------------
; 把符号名称和 整数表达式/文本 连接起来, 类似于宏, 不能重复定义. 格式:	
;	name EQU expression		expression必须是一个有效的整数表达式
;	name EQU symbol1		symbol1必须是一个已经存在的符号名称, 是已经用 = 或 EQU 定义过的
;	name EQU <text>			任何文本可以出现在<...>内
t5_PI	EQU	<3.14159>	; 定义实数常量PI
t5_strs	EQU	<'abcdefg', 0>
t5_num	real4	t5_PI
t5_str	BYTE	t5_strs

; TEXTEQU 伪指令 --------------------
; 创建文本宏, 类似于 EQU, 可以重定义, 格式:
;	name TEXTEQU <text>			为名称分配文本
;	name TEXTEQU textmacro		分配已有文本宏的内容
;	name TEXTEQU %constExpr		分配整数常量表达式
t6_num = 5
t6_count	TEXTEQU	%(t6_num * 2)
t6_move	TEXTEQU	<mov>
t6_set	TEXTEQU	<t6_move	ebx, t6_count>



.code
main PROC

	mov		eax, t5_num
	t6_set

	INVOKE ExitProcess, 0
main ENDP
END main

猜你喜欢

转载自blog.csdn.net/Anniewer/article/details/85393243