整数常量以及整数表达式
实数常量
字符常量、字符串常量
保留字
标识符
伪指令
指令
1(1)整数常量:
-26 十进制 26d 十进制 11011110b 二进制
42q 八进制 42o 八进制 1Ah 十六进制
0A3h 十六进制
l整数表达式:
4+5*2 12-1mod 5
-5+2
(4+2)*6
(2)实数常量
2.
+3.0
-44.2E+05
26.E5
l(3)字符、字符串常量
字符常量是以单引号或双引号括起来的单个字符。
例如: ‘A’ “d”
字符串常量是以单引号或双引号括起来的一串字符。
例如:
‘ABC’
‘4096’
“Goodnight, Gracie”
引号可以嵌套:
“This isn’t a test”
‘Say “Goodnight,” Gracie’
例如: ‘A’ “d”
字符串常量是以单引号或双引号括起来的一串字符。
例如:
‘ABC’
‘4096’
“Goodnight, Gracie”
引号可以嵌套:
“This isn’t a test”
‘Say “Goodnight,” Gracie’
汇编语言中一些有特殊意义的单词,只能用于正确的上下文环境中:
指令助记符:例如 MOV,ADD和MUL等。
伪指令:用于告诉MASM如何编译程序。
属性:为变量和操作数提供有关尺寸以及使用方式的信息,例如BYTE和WORD。
运算符:用在常量表达式中。
预定义符号:例如@data,在编译时返回整数常量值
指令助记符:例如 MOV,ADD和MUL等。
伪指令:用于告诉MASM如何编译程序。
属性:为变量和操作数提供有关尺寸以及使用方式的信息,例如BYTE和WORD。
运算符:用在常量表达式中。
预定义符号:例如@data,在编译时返回整数常量值
(5) 标识符
是程序员选择的名字,用来识别变量、常量、过程或代码标号。
(6)伪指令
与真正的指令不同,伪指令不在程序运行时执行
用于定义逻辑段、选择内存模式、定义变量和创建过程等。
伪指令不区别大小写。
.data:用于标识程序中包含变量的区域。或.DATA .Data
.code:标识程序中包含指令的区域。或.CODE .Code
PROC:标识过程的开始。例如 name proc
ENDP:标识过程的结束。例如 name endp
用于定义逻辑段、选择内存模式、定义变量和创建过程等。
伪指令不区别大小写。
.data:用于标识程序中包含变量的区域。或.DATA .Data
.code:标识程序中包含指令的区域。或.CODE .Code
PROC:标识过程的开始。例如 name proc
ENDP:标识过程的结束。例如 name endp
2. 注释
单行注释:以分号(;)开始。
块注释:以COMMENT伪指令
块注释:以COMMENT伪指令
![](http://hi.csdn.net/attachment/201102/7/0_1297087684V8Uv.gif)
![](http://hi.csdn.net/attachment/201102/7/0_1297087790vQll.gif)
l
程序是以段组织的,常见的段有代码段、数据段和堆栈段等。
–
代码段包含程序的全部可执行指令,通常代码段都有一个或一个以上的过程,其中一个是启动过程。例如:在Addsub程序中,main就是启动过程。
–
数据段存放变量。
–
程序模板
.386
指出了该程序要求的最低CPU(intel 386)
.model flat,stdcall
.MODEL 伪指令指示汇编器为保护模式程序生成代码,
STDCALL 允许调用MS-Windows函数
ExitProcess PROTO,dwExitCode:DWORD
DumpRegs PROTO
两条PROTO 伪指令声明了该程序使用的过程原型:ExitProcess 是一个MS-Windows函数,起作用是 终止当前程序(称为进程);DumpRegs是Irvine32连接库中一个显示寄存器的过程。
INVOKE ExitProcess,0
程序通过调用ExitProcess来结束执行,传递给该函数的参数是返回码,取值是0。INVOKE是一个用于调用过程或函数的汇编伪指令。
MASM615
![](http://hi.csdn.net/attachment/201102/7/0_1297088241VL3L.gif)
定义数据
堆栈段存放着子程序的参数和局部变量。
![](http://hi.csdn.net/attachment/201102/7/0_1297088380Io69.gif)
![](http://hi.csdn.net/attachment/201102/7/0_1297088935gSgR.gif)
![](http://hi.csdn.net/attachment/201102/7/0_12970889451G6Q.gif)