汇编语言基本语法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ENDS
汇编语言基本语法
5.2 汇编语言程序结构和基本语法
汇编语言的基本语法:词法和句法
一、词法
字符集、标识符、保留字、数的表示、运算符和表达式
1、字符集
➢英文字符:A - Z,a - z;
数字字符:0 - 9
➢算术运算符号:+ - * /
➢关系运算符号:< = >
➢分隔符:, :;( )[ ] ‘ TAB
MOV BL, 0FFH EQ 255
MOV BL, 0FFH
MUL AL 64H GE 100
MUL AL,0FFH
汇编语言基本语法
④分析运算符
➢ SEG 返回变量或标号所在段的段基址 MOV AX,SEG VAR1
➢ OFFSET 返回变量或标号的段内偏移基址 MOV SI,OFFSET VAR1
ADD AL,30H ;转换为ASCII码值
JNZ ROTATE
CMP AL,’9’ ;是0~9的数码?
MOV AX,4C00H;返回DOS
JL DISPLAY
INT 21H
ADD AL,07H ;在A~F之间
CODE ENDS ;代码段结束
END BEGIN ;模块结束
汇编语言基本语法
2、结构
DATA SEGMENT < 数据定义伪指令序列>

程序开发的复杂程序


程序的可移植性


对硬件环境和软件的兼容性


汇编语言基本语法
采用汇编语言进行程序设计的优点:
➢ 可充分利用机器的硬件功能和结构特点,加快程 序的执行速度,减少目标程序所占用的存储空间。
➢ 常用来编写实时控制程序、实时通信程序,有时 也用来编制某些系统软件程序。
汇编语言基本语法
汇编语言基本语法
4、数的表示 所有常数必须是整数 ➢ 默认十进制; ➢ 表示非十进制数,要加后缀B、H或Q; ➢ 十六进制以字母开头必须在前面加数字0,如十六进制
数AF应表示为0AFH; 5、表达式和运算符 表达式由运算符和操作数组成,可分为数值表达式和地
址表达式。 ➢ 运算符可分为算术运算符、逻辑运算符、关系运算符、
MOV AH,9H
INT 21H
MOV BX,NUM
;将数装入BX
MOV CH,4
;CH作循环计数器
ROTATE :
DISPLAY:
MOV CL, 4 ;CL中放移位位数
MOV DL, AL ;显示16进制数
ROL BX,CL
MOV AH,2
MOV AL,BL
INT 21H
AND AL,0FH ;AL中为一位16进制数 DEC CH
汇编语言程序的开发过程
文件名.ASM
汇编语言 源程序
汇编
文件名.OBJ
目标 程序
文件名.EXE
连接
执行/调试 程序
编辑程序
汇编程序
EDIT.EXE MASM.EXE
连接程序 LINK.EXE
ML 文件名.ASM
汇编语言基本语法
DATA SEGMENT
;数据段
NUM DW 00111B
NOTES DB ‘The result is :’ , ’$’
➢ LENGTH 加在变量之前,返回变量所包含的单元数 MOV BL,LENGTH VAR1
➢ TYPE 返回变量或标号的类型属性 MOV AX, TYPE VAR1
➢ SIZE 返回变量所占的总字节数,等于LENGTH和TYPE两个运 算符返回值的乘积 MOV CH, SIZE VAR1 CH
汇编语言基本语法
DATA ENDS
STACK SEGMENT STACK <数据定义伪指令序列> STACK ENDS
CODE SEGMENT <程序段> CODE ENDS
➢源程序由若干条语句组成 ➢程序由最多4个段组成, 数据段、堆栈段、代码段、 附加段 ➢每个段有一名字,并以符 合SEGMENT表示段的开始, 以END作为段的结束符号
对操作数按位进行逻辑运算 MOV AL, NOT 10100101B NOT AL
逻辑运算符 逻辑运算指令
③关系运算符
对操作数按位进行关系运算,条件满足结果全为1,否则全为0
MOV AX, 5 EQ 101B 等效于 MOV AX, 0FFFFH
MOV BH, 10H GT 16
MOV BH,00H
DATA ENDS
STACK SEGMENT STACK STA DB 50 DUP(?) TOP EQU LENGTH STA
STACK ENDS
汇编语言基本语法
CODE SEGMENT
;代码段
ASSUME CS:CODE,DS:DATA
BEGIN:
MOV AX, DATA
MOV DS,AX
MOV DX,OFFSET NOTES ;显示提示信息
分析运算符、综合运算符、分离运算符等 ➢ 操作数可以是常数、变量名、或标号
汇编语言基本语法
①算术运算符 + - * / MOD SHL SHR
对操作数进行算术运算,运算对象和结果都必须为整数
MOV AL, 00011010B SHL 2 SHL为移位运算符
SHL AL,1 SHL为移位指令助记符
②逻辑运算符 NOT、 AND、 OR 、 XOR
第5章 汇编语言的基本语法
主要内容
• 汇编语言程序的结构 • 汇编语言语句类型和组成 • 汇编语言程序设计
汇编语言基本语法
5.1 汇编语言的特点
1、机器指令:计算机能识别的代码,机器指令是由二 进制数组成的。
例如:
PUSH AX
机器指令为:
01010000
2、汇编语言:汇编语言是一种符号语言,用助记符表 示操作码,用符号或符号地址表示操作数或操作数地 址,它与机器指令是一一对应的。
LENGTH,求为符号名分配的项数。 格式: LENGTH ﹤符号名﹥
3 、高级语言:面向过程(如C, FORTRAN)或对象(如
C++, Java)的语言,不依赖于机器,因而有很好的通用 性和可移植性.
汇编语言基本语法
汇编语言与高级语言的比较


目标程序运行时间
程序运行时占用的存储空高级语言 长 大 弱
程序可读性和可维护性

➢控制符:CR、LF、FF
➢其他字符:如& _ ? . $ @ ! %
汇编语言基本语法
2、标识符 常用作变量名、常量名、记录名、和段名
➢ 由1-31个字符组成,打头的字符必须是字母、?、@或 -
➢ 从第二个字符开始,组成标识符的字符可以是字母、 数字、?、@或-,不能使用其他符号
3、保留字
指令助记符、伪指令、寄存器名、表达式运算符及属 性操作符,不能当做标识符使用
相关文档
最新文档