汇编语言概述
汇编语言语句的组成
汇编语言的语句
宏汇编指令
编写完整的汇编语言程序
汇编语言程序设计
第四章汇编语言程序设计
1
汇编语言程序的上机处理过程
主要的汇编程序:MASM
汇编语言
源程序
编辑程序
编辑
汇编语言
源文件
汇编程序
汇编
机器语言
目标文件
连接程序
连接
机器语言
执行文件
计算机
结果
概述
2
汇编
masm
连接
link
使用MASM
ml
在汇编之后自动调用连接程序生成可执行文件
sample
sample
必须提供完整的文件名
3
例4-1 在屏幕上显示并打印字符串"This is a sample program."
DSEG SEGMENT
DA1 DB 'This is a sample program.’ DB 0DH,0AH,'$’DSEG ENDS
SSEG SEGMENT PARA STACK ‘STACK’ST1 DB 100 DUP(?)SSEG ENDS
CSEG SEGMENTMAIN PROC FARASSUME CS:CSEG, DS:DSEG, SS:SSEG
ORG 1000 START: PUSH DS
MOV AX,0 PUSH AX MOV AX,DSEG MOV DS,AX MOV AH,9 MOV DX,OFFSET DA1 INT 21H RET MAIN ENDP CSEG ENDS END START
汇编语言的格式
操作数
段定义
指令性语句
指示性语句
4
;THE FORM OF AN ASSEMBLY LANGUAGE PROGRAM
STACK SEGMENT PARA STACK ‘STACK’
DB 64DUP(?)
STACK ENDS
DATA SEGMENT
;place data definitions here
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STACK
MAIN PROC FAR ;this is the program entry point
MOV AX,DATA ;load the data segment address
MOV DS,AX ;assign value to DS
;
;place code here
;
MOV AH,4CH ;set up to
INT 21H ;return to DOS
MAIN ENDP
CODE ENDS
END MAIN ;this is the program exit point
home
汇编语言格式
5
汇编语言语句的组成
汇编语言程序的语句中包含的元素:
字符集
保留字与标识符(Identifiers)
常量、变量与标号(Constants)
表达式及运算符
6
允许使用的字符:
字母,包括大写字母A~Z和小写字母a~z;
数字,包括0~9;
特殊字符,包括:+ - * / =()[ ] < > ; , ‘“. —:? @ $ & 及空格、制表符、回车、换行等。
注意:
除了字符串,字母都是不区分大小写
一系列相连的空格、制表符效果相当于一个空格
一系列相连的回车换行相当于一次回车换行
分号“;”后一直到行尾的内容都是注释
字符“&”若用于某行的开头,则表示该行是上一行的续行
字符集
7
保留字与标识符
保留字
在汇编语言中有特定意义的词。可分为:
指令助记符及指令前缀
如:MOV、ADD、REP等
寄存器名
如:AX、EBX、CL等
伪指令助记符
如: DB、SEGMENT等
其他保留字,包括运算符、操作符等
如: EQ、LT、OFFSET、SEG等
8
标识符是程序员自己起的名字,如变量名、标号、段名、过程名等
标识符的命名规则:
标识符必须由字母、数字和几个特殊字符(包括_ @ $ ? :)组成,而且第一个字符不能是数字(否则可能与16进制的数字混淆)
标识符不能与某个保留字相同,以免混淆
尽量用有意义的英文单词或缩写来命名,以增加程序的可读性
标识符
9
数字常量
二进制:以B结尾,如10101010B
八进制:以Q结尾,如123Q,67Q
十进制:以D结尾,“D”可省略,如1234D,5678
十六进制:以
chapter4 汇编语言程序设计 来自淘豆网www.taodocs.com转载请标明出处.