资源描述:
《汇编语言基础资料课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章汇编语言及其程序设计1本章内容汇编语言格式及常用语句汇编语言的运算符与操作符程序的基本结构及程序设计方法宏汇编与宏指令DOS和BIOS功能调用程序设计举例2说明本章内容大部分为实际知识,要多做自学作业:1,2,3,7,8(1),9,15,17,21上机作业3第一节机器语言、汇编语言与高级语言4机器语言与汇编语言机器语言:计算机中指令代码以二进制编码表示,这种代码机器可以识别与执行,把这种机器代码称为机器语言。用机器语言编写的程序称为机器语言程序。例如下面的机器代码就是8086CPU的三条机器指令B8H,00H,30H4EH,D8HB9H,14H,00H用机器语言书写的程序不易看懂,
2、也不易记。看起来非常的乏味。但是计算机却非常熟悉它。5机器语言与汇编语言汇编语言:用助记符代替操作码,用符号和数字代替地址码(或操作数),这种语言称为汇编语言。用汇编语言编写的程序称为汇编语言源程序。必须经过翻译,转换成机器语言,计算机才能执行。汇编语言人们容易记忆,也容易看懂。例如:用8086CPU的汇编语言可以把上述机器指令代码写成:MOVAX,3000HMOVDS,AXMOVCX,count6高级语言不依赖具体机器的计算机语言称为高级语言。如BASIC,C,C++等高级语言易记忆,易懂、便于学习与掌握汇编语言与高级语言的比较汇编语言高级语言执行速度快,占内存小,执行速度慢,占内存大
3、,实施控制方便,通用性差通用性好,可移植性强程序设计效率低,依赖机器程序设计效率高,不依赖机器与硬件打交道方便。与硬件打交道不方便。786系列汇编语言格式8汇编语言的语句格式汇编语言共有三种语句类型:指令语句、伪指令语句、宏指令语句指令语句及其格式指令语句即第三章介绍的8086CPU的指令,每一条指令即可构成一指令语句。每一指令都有对应的机器代码。指令语句格式:[标号:]助记符[操作数,…];[注释]说明:格式共有四部分:其中标号,操作数,注释可以是任选项;助记符是必选项,该项在一条语句中不可省略。标号后面一定要跟一个冒号;注释前一定加一分号。9宏指令语句宏指令语句:为了书写方便,把一个
4、重复出现的汇编语句序列用一条指令代替,这种重新定义的指令就称为宏指令。这种由宏指令组成的语句称为宏指令语句。宏指令必须先定义,才能被使用,这称为宏定义;在汇编时,又要把宏指令语句进行宏展开,生成对应的机器代码。宏指令语句格式将在后面介绍。10伪指令语句及其格式伪指令语句不是真正的指令语句,它不产生机器代码,它是汇编程序要求的,用来指示汇编程序做何种操作,定义代码段、数据段在何处,是否产生列表等。伪指令语句格式:[名字]定义符[参数,…,参数];[注释]11汇编语言字符集英文字母:A-Z,a-z数字:0-9运算符:+,-,,/,<,>,=分隔符:,(逗号),;(分号),(),[],‘’,空
5、格,TAB制表符控制符:回车、换行、换页其他字符:$,&,_,?,.(点),@,%,!12字符使用规则符号的第一个字符必须是字母、“_”(下划线)、“?”、.(点)或“@”;从第二个字符起,除以上字符外,还可以是数字;符号的长度为1-31;合法符号例如:x,pos100,?date,@fir非法符号例如:10by,cascol13汇编语言中的常量、变量和标号常量:常量可以是二进制、十进制、八进制或十六进制数,也可以是字符串。例如:10100101B;二进常数256D或256;十进常数356Q或356O;八进常数2AFH;十六进常数0ABCDH;十六进常数,但第一个字符必须是数字。‘ABC
6、D’;字符串常数,汇编后对应为相应的ASCII码‘1234’;数字字符串常数,需用单引号‘’,汇编后为31H~34H14变量变量实际上代表着内存单元,也称内存变量,它必然具有段地址和段内偏移量。变量有三个属性:段地址,段内偏移量及类型(字节数)。规定:字节变量—类型1字变量—类型2双字变量—类型415标号实际上是代码段中某一指令的地址,同样具有三个属性:段地址,偏移量与类型。类型有:FAR(可在段间或段内引用)NEAR(可在段内引用)常量、变量的名字以及标号不能用宏汇编中的保留字,即:指令助记符,CPU的寄存器名,伪指令的符号等,例如:AAA:MOVAX,DATA;错误,AAA不能做标号
7、DAADB?,?;错误,DAA不能做变量名16都是地址标号和变量本质上都是地址numdb?loc_1:addax,numjmploc_1符号化的地址汇编程序翻译17伪指令格式[名字]定义符[参数,…,参数];[注释]格式共有四部分:其中名字,参数,注释可以是任选项;定义符是必选项,该项在一条伪指令语句中不可省略。对于有些语句,名字也是必需的。名字后面不要跟冒号:注释前一定加一分号;各个参数之间用,分开。标号与名字或其他变量必须符合命