3.1 汇编语言基本要素
知识点:
1.整数常量
[{+|-}] digits [radix]
后缀radix(大小写均可):
h 16进制 r 编码实数
q/o 8进制 t 10进制(可选)
d 10进制 y 2进制(可选)
b 2进制
如果常量后无后缀,默认是10进制
16进制前面第一个字符如果是字母,必须加0
2.整数表达式
运算符优先级:
1 ()
2 +- 单目+ -
3 * /
4 MOD
5 +-
3.实数常量
[sign] interger.[integer] [exponent]
sign: {+|-}
exponent: E [{+|-}] integer
实数常量至少有个数字和一个小数点,如果没有小数点就是整数常量
2. +3.0 -44.2E+05 26.E5都是合格的实数常量
4.字符常量
'a' "A" 转换成对应的ASCII
5.字符串常量
' say good by' "hello,world" 'you are "good man" ?'
字符相关的常量,单双引号有什么区别???
6.保留字
指令助记符:MOV
伪指令:
属性: BYTE,WORD
运算符:
预定义符号:
7.标示符
1.1-247个字符
2.大小写不敏感 -Cp 选项可以打开大小写敏感
3.第一个字符必须是字母,下划线,@,$,后面可以使数字
4.不能和保留字相同
8.伪指令
编译器在编译的时候执行的指令,与intel指令集无关。
9.指令
包含4个部分 标号(可选)|指令助记符(必须)|操作数(通常需要)|注释(可选)
标号:怎么感觉像变量。。。
操作数:0-3个,可以使寄存器,内存操作数,常量表达式,I/O端口
注释: 单行用分号
块注释 用
COMMENT 任意符号
注释内容
任意符号
习题部分:
1.列出整数常量中可以使用的后缀字符
h,q/o,d,b,r/y,t
2.A5h是有效的16进制常量么?
不是,应该是0Ah
3.在整数表达式中 * 比 / 优先级高么?
优先级相同
4.写出10除以3并返回整数余数的常量表达式
10 MOD 3 ?
5.写出一个有效的带指数的常量表达式
1+24.E+05
6.字符串常量必须用单引号引起来么?
用双引号也可以
7.保留字可以是?
指令助记符,伪指令,运算符,属性,预定义符号
8.标示符的长度最大是多少?
247
9.标识符不能以数字开头?
yes
10.汇编语言标识符是大小写敏感的?
不是
11.汇编语言伪指令是在运行时执行的?
不是,编译时执行
12.汇编语言伪指令的书写格式可以是任意大小写字母组合?
应该是可以,属于关键字的一种
13.说出汇编指令的四个组成部分的名称
标号,指令助记符,操作数,注释
14.MOV是一个指令助记符的例子?
是的
15.代码标号后跟:,数据标号后没有:
是的。(如果数据标号加了:会怎么样?
16.举出一个块注释的例子
COMMENT !
mov ax,5
aaaaaaa
!
17.在编写访问变量的指令时,为什么使用数字类型的地址不是一个好主意?
如果使用数字地址,假如程序加入了新的变量,那么数字地址就必须重新修改,引起很多不必要的工作。





