整数常量:
格式[{+/-}]数字[基数] 常用基数后缀 h:十六进制 d:十进制 b:二进制 q/o:八进制 r:编码实数 十六进制如果是以字母开口则需要加0 ,防止编译器当成标识符优先级别: () -> +-(一元的) -> */ -> MOD -> +-
指令格式 [:标号]指令助记符|操作数[;注释] 标号: 充当指令或数据位置标记的标识符 数据标号: count dword 100注释语法: 单行用 ; 多行用 COMMENT 用户自定义符号 内容 用户自定义符号 TITLE Program Template (Template.asm) ;程序的描述: ;作者: ;创建时间: ;修改: ;日期: 修改者: INCLUDE Irvine32.inc ;导入头文件 .data ;(在此插入变量) .code main proc ;(插入代码) exit main endp ;(在此插入其他子程序) end main --常用编译语句 使用的是masm615 ml /c /coff 1.asm link32 /subsystem:console irvine32.lib kernel32.lib 1.obj 数据定义语法 [变量名] 数据类型伪指令 初始值[,初始值] 初始值用 ? 代替,表示可以用执行指令动态赋值 定义字符串 greeting1 byte "good afternoon",0 greeting2 byte 'good night',0 续行符(\)用来把两行连接成一条程序语句,只能放在每行的最后面 greeting1 \ byte "good afternoon",0 DUP操作符使用常量表达式作为计数器为多个数据项分配存储空间: BYTE 3 DUP("XXX") 9个Byte .data? 伪指令可用于声明未初始化数据 代码数据可以随便切换,可用于局部变量 eg: .code mov ax,3900h .data val word 1 .code mov ax,val 符号常量:语法 名称=表达式 COUNT=1 MOV AX,COUNT 重定义: COUNT =5 MOV AL,COUNT ;5 COUNT=10 MOV AL,COUNT ;10 计算数组和字符串的大小: eg: list byte 10,20,39 listsize=($-list);$表示当前地址 EQU 伪指令 语法: name equ expression name equ symbol name equ <text>