第4章汇编语言及汇编语言程序设计
- 格式:ppt
- 大小:491.50 KB
- 文档页数:62


汇编语⾔程序设计
第4章 汇编语⾔程序设计§4.1 汇编语⾔的模式
⼀、汇编语⾔源程序的⼀般模式[Name 模块名]
[Title 标题]
[定义宏]
[定义数据段]
[定义附加段]
[定义堆栈段]
定义代码段
源程序结束
中括号括起的部分可以省略,可见在⼀个汇编语⾔源程序中必须要定义代码段,并且必须有源程序结束指令。
⼆、8086汇编语⾔程序的⼀个例⼦Pg90。
§4.2 语句⾏的构成
汇编语⾔中的语句⼀般分为两种类型:指令性语句和指⽰性语句。
指令性语句的格式为:[标号:] 助记符 [操作数1[,操作数2]] [;注释]
指⽰性语句的格式为:[名称] 助记符 [参数1,参数2,……] [;注释]
标号和名称都是编程⼈员根据需要和⼀定的规则任意取的。也可以认为汇编语⾔的语句⾏是由标记和分隔符(空格)构成。
⼀、标记1.IBM宏汇编的字符集
(1)字母
(2)数字符
(3)特殊字符2.界符
⽤于定界⼀个标记的结束或⼀个标记的开始,本⾝具有⼀定的意义。3.常量
出现在汇编语⾔源程序中的固定值称为常量。
(1)数值常量
①⼆进制:以字母B结束。
②⼗进制:以字母D或⽆字母结束。
③⼋进制:以字母Q(或O)结束。④⼗六进制:以字母H结束。
(2)字符常量
指⽤单引号或双引号引起的字符或字符串。4.标识符
由程序员⾃⼰建⽴的字符序列(标号或名称)。⼀个标识符不能超过31个字符,不能以数字开头。5.保留字
汇编语⾔中具有特殊意义的字符序列。6.注释
⼀⾏中分号以后的部分。⽤于对⼀段或⼀⾏程序进⾏说明,便于阅读和理解。
⼆、符号
具有⼀定意义的字符序列。1.寄存器名
2.变量
段属性、偏移属性、类型属性3.标号
段属性、偏移属性、类型属性4.常数
5.其它
三、表达式
由操作数和运算符组合⽽成的序列。1.操作数
(1)⽴即数
(2)寄存器操作数
(3)存储器操作数2.运算符
(1)算术运算符+、-、*、/、MOD(求余)
(2)逻辑运算符AND、OR、NOT、XOR
(3)关系运算符EQ、NE、LT、LE、GT、GE
微机原理与接口技术(第二版)第四章汇编语言程序设计
[写在前面]本参考答案供同学们在写作业的时候,遇到想不通的题时进行参考。请不
要直接copy答案,否则对自己没有好处的。多思考,才有进步。
本参考答案中的程序及框图不唯一,只要符合题意的即可。
思考题与习题参考答案
4.1假设数据段DATA定义如下,请计算下列程序分别执行后AX寄存器的内容。
DATASEGMENT
ORG100H
TABLEDB20,30,40,50,60,70,80
INDEXDW3
COUNTEQU$-TABLE
DATAENDS
(1)MOVAX,COUNT
(2)MOVAX,SIZETABLE
(3)MOVAX,WORDPTRTABLE.
(4)MOVAX,WORDPTRTABLE+1
(5)MOVAL,TABLE
MOVAH,BYTEPTRINDEX+1
(6)LEABX,TABLE
ADDBX,INDEX
MOVAX,[BX]
参考:(1)AX=9
(2)AX=7
(3)AX=1E14H/7700
(4)281EH/10270
(5)0014H
(6)3C32H
4.2假设数据段DATA定义如下,请画出该数据段DATA在内存中的存储示意图,要求按字节
组织且用十六进制补码表示。DATASEGMENT
STRINGDB‘12'
LENEQU$-STRING
ADDRDWSTRING
DW1DW2DUP(?,-1)
DD1DD12345678H
DW2DWLEN
DATAENDS
4.3设A、B和C均为16位带符号数,编写程序找出其中的最大值和最小值,分别存放到
MAX和MIN单元中。4.6编写程序,找出自ARRAY开始的50个带符号数(字)中绝对值最大
的数并存入MAXDATA单元中。4.7编写程序,计算自STRING开始的100个无符号数(字节)的和,其
中和为16位数,并把结果存放在SUM字单元中。4.8编写程序,分别统计STRING字符串(以‘$’为结束符)中大写字母字符(‘A’~‘Z')
第 1 页 共 29 页
新版汇编语言程序设计习题答案(钱晓捷主编)
第一章 汇编语言基础知识
1.1、简述计算机系统的硬件组成及各部分作用
1.2、明确下列概念或符号:
主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB
1.3、什么是汇编语言源程序、汇编程序、目标程序?
1.4、汇编语言与高级语言相比有什么优缺点?
1.5、将下列十六进制数转换为二进制和十进制表示
(1)FFH (2)0H (3)5EH (4)EFH
(5)2EH (6)10H (7)1FH (8)ABH
1.6、将下列十进制数转换为BCD码表示
(1)12 (2)24 (3)68 (4)127
(5)128 (6)255 (7)1234 (8)2458
1.7、将下列BCD码转换为十进制数
(1)10010001 (2)10001001 (3)00110110 (4)10010000
(5)00001000 (6)10010111 (7)10000001 (8)00000010
1.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示
(1)0 (2)-127 (3)127 (4)-57
(5)126 (6)-126 (7)-128 (8)68
1.9、完成下列二进制数的运算
(1)1011+1001 (2)1011-1001 (3)1011×1001 (4)10111000÷1001
(5)1011 ∧ ~1011 (8)1011 ⊕ 10011001(6)1011 ∨1001(7)
1.10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符?
《汇编语言程序设计》教案
附:习题参考答案
《汇编语言程序设计》(第4版)
钱晓捷 主编
前 言
1. 汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
2. 汇编语言程序设计是高等院校电子计算机硬、软件及应用专业学生必修的核心课程之一。它不仅是计算机原理、操作系统等其它核心课程的必要先修课,而且对于训练学生掌握程序设计技术、熟悉上机操作和程序调试技术都有重要作用。
3. 本教材共有十一章,其内容安排如下:
(1). 第一、二章为汇编语言所用的基础知识。
(2). 第三章详细介绍80x86系列CPU的指令系统和寻址方式。
(3). 第四章介绍伪操作、汇编语言程序格式及汇编语言的上机过程。
(4). 第五、六章说明循环、分支、子程序结构和程序设计的基本方法。
(5). 第七章说明宏汇编、重复汇编及条件汇编的设计方法。
(6). 第八章叙述输入/输出程序设计方法,重点说明中断原理、中断过程及中断程序设计方式。
(7). 第九章说明BIOS和DOS系统功能调用的使用方法。
(8). 第十~十一章分别说明图形显示、发声及磁盘文件存储的程序设计方法,同时提供各种程序设计方法和程序实例。
附:教学参考书
1. 沈美明、温冬婵编著,IBM–PC汇编语言程序设计(第2版),清华大学出版社,2001年(教材)
2. 沈美明、温冬婵编著,IBM–PC汇编语言程序设计,清华大学出版社,1991年
3. 沈美明、温冬婵编著,IBM–PC汇编语言程序设计—例题习题集,清华大学出版社,1991年6月
4. 沈美明、温冬婵、张赤红编著,IBM–PC汇编语言程序设计—实验教程,清华大学出版社,1992年
5. 周明德,微型计算机IBM PC/XT(0520系列)系统原理及应用(修订版),清华大学出版社,1991
6. 郑学坚、周斌,微型计算机原理及应用(第二版),清华大学出版社,1995