汇编语言 子程序结构
- 格式:ppt
- 大小:313.00 KB
- 文档页数:15
《汇编语言程序设计》教案附:习题参考答案《汇编语言程序设计》(第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系列)系统原理及应用(修订版),清华大学出版社,19916.郑学坚、周斌,微型计算机原理及应用(第二版),清华大学出版社,19957.王士元、吴芝芳,IBM PC/XT[长城0520] 接口技术及其应用,南开大学出版社,19908.杨素行,微型计算机系统原理及应用,清华大学出版社,19959.戴梅萼、史嘉权,微型计算机技术及应用—从16位到32位(第二版),清华大学出版社,199610.张昆藏,IBM PC/XT微型计算机接口技术,清华大学出版社,199111.孟绍光,李维星,高档微机组成原理及接口技术(80386/80486/Pentium),学苑出版社,199312.吴秀清,周荷琴,微型计算机原理与接口技术,中国科学技术大学出版社目录第 1 章基础知识 (1)1.1进位计数制与不同基数的数之间的转换 (1)1.2二进制数和十六进制数的运算 (2)1.3计算机中数和字符的表示 (3)1.4几种基本的逻辑运算 (3)第 2 章 80X86计算机组织 (4)2.180X86微处理器 (4)2.2基于微处理器的计算机系统构成 (4)2.3中央处理机 (5)2.4存储器 (6)2.5外部设备 (7)第 3 章 80X86的指令系统和寻址方式 (8)3.180X86的寻址方式 (8)3.2程序占有的空间和执行时间 (10)3.380X86的指令系统 (10)第 4 章汇编语言程序格式 (27)4.1汇编程序功能 (27)4.2伪操作 (27)4.3汇编语言程序格式 (31)4.4汇编语言程序的上机过程 (34)第 5 章循环与分支程序设计 (37)5.1循环程序设计 (37)5.2分支程序设计 (38)5.3如何在实模式下发挥80386及其后继机型的优势 (38)第 6 章子程序结构 (40)6.1子程序的设计方法 (40)6.2子程序的嵌套 (41)6.3子程序举例 (41)第 7 章高级汇编语言技术 (43)7.1宏汇编 (43)7.2重复汇编 (44)7.3条件汇编 (45)第 8 章输入/输出程序设计 (46)8.1I/O设备的数据传送方式 (46)8.2程序直接控制I/O方式 (47)8.3中断传送方式 (47)第 9 章 BIOS和DOS中断 (50)9.1键盘I/O (50)9.2显示器I/O (52)9.3打印机I/O (53)9.4串行通信口I/O (54)第 10 章图形与发声系统的程序设计 (55)10.1显示方式 (55)10.2视频显示存储器 (55)10.3EGA/VGA图形程序设计 (56)10.4通用发声程序 (57)10.5乐曲程序 (58)第 11 章磁盘文件存取技术 (59)11.1磁盘的记录方式 (59)11.2文件代号式磁盘存取 (60)11.3字符设备的文件代号式I/O (61)11.4BIOS磁盘存取功能 (62)附录:《IBM—PC汇编语言程序设计》习题参考答案 (63)第一章.习题 (63)第二章.习题 (64)第三章.习题 (65)第四章.习题 (79)第五章.习题 (84)第六章.习题 (104)第七章.习题 (118)第八章.习题 (125)第九章.习题 (130)第十章.习题 (134)第十一章.习题 (145)第 1 章 基础知识【教学目的】本章内容是本课程的基础,通过本章学习,使学生明确汇编语言程序设计的学科性质、基本内容和学习意义,掌握数制的转换、数据的编码,了解本门课程的教学要求和学习方法。
汇编语言试题及参考答案汇编语言试题及参答案一、填空题1. ZF标志位是标志结果是否为零的,若结果,ZF为(),否则ZF为()。
当ZF 为1 时,SF 为()2. 标号可以有两种类型属性。
它们是()和()3.8 位无符号整数的表示范围为0--255 ,写成16 进制形式为(),8 位有符号整数的表示范围为-128--+127, 写成16 进制形式为()4. 伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是(),不得有名字的是(),可有可无名字的是()。
5. 循环程序通常由()()()和循环结果外理四部分构成6. 在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/()于+,-;XOR ,OR()于AND,LT ()于GT7. 宏指令定义必须由伪指令()开始,伪指令()结束,两者之间的语句称为()8. 调用程序与子程序之间的参数传递方法有四种,即堆栈法()()()9. 分别用一条语句实现下述指明的功能( 1 )栈顶内容弹出送字变量AYW ()(2)双字变量AYD 存放的地址指针送ES 和SI()(3)变量AY2 类型属性送AH ()( 4 )不允许中断即关中断()(5)将字符串‘ HOW ARE YOU 存入变量AYB ()( 6 )子程序返回调用程序()(7)地址表达式AYY[4]的偏移地址送字变量ADDR()(8)AX 的内容加 1 ,要求不影响CF()(9)BX 的内容加1,要求影响所有标志位()(10)若操作结果为零转向短号GOON ()二、单选题1.IBM PC 微机中,有符号数是用()表示的1 .原码2.补码3.反码4.BCD 码2. 把汇编源程序变成代码程序的过程是()1 .编译2.汇编3.编辑4.链接三、己知:VAR1 ,VAR2 的类型属性分别为字和字节,标号LPFAR 的类型属性为FAR。
指出下列非法语句的错误原因1. POP CS ()2.INC [BX] ()3. MVL 8()4. JLE LPFAR()5. MOV DB,1800()6. MOV[DI],VAR17.SUB AX,VAR2()8.CMP SS AX()四、简答题1. 试述子程序的一般结构组成2. 标号有哪三个属性?其含义是什么?3. 试述CMP AX ,BX 和SUB AX ,BX 两条语句的异同点?五、阅读如下程序段,回答所提出的问题,假定X1,X2,...XN 为无符号数。
简述ARM汇编语言的程序结构ARM汇编语言的程序结构,由指令、数据和指令流程控制三个主要组成部分构成。
指令是ARM汇编程序的核心,它包含了CPU指令集中的基础操作,如加、减、乘、除、移位操作等,通过这些基础操作,可以实现各种不同的功能。
指令的组成是由操作码和操作数两部分构成,其中操作码是指令的关键词汇,用于决定指令的功能,而操作数则是指令所作用的对象或数据。
数据部分是ARM汇编程序中存储、处理数据的部分。
在ARM汇编程序中,数据通常表示为二进制数值或字符,这些数据可以是程序中使用的常量,也可以是程序中间结果的计算结果。
数据的存放位置通常是通过汇编语言中的数据定义指令来实现。
指令流程控制是ARM汇编程序中控制程序执行流程的部分。
实现指令流程控制的语句包括条件分支语句、循环语句等,通过这些语句可以实现程序的条件跳转、循环执行等控制流程。
在ARM汇编程序中,指令流程控制也可以通过汇编指令的标签和跳转指令来实现。
总体而言,ARM汇编程序必须遵循一定的程序结构,包括定义全局数据段、段间跳转、异常处理等等。
ARM汇编程序的结构可以分为数据段和代码段:1. 数据段:指令流程控制之前,必须先声明所有的数据段。
数据段包括声明全局变量、局部变量、定义字符串等。
数据段只需要声明一次,不需要往返于数据段和代码段之间。
2. 代码段:代码段包括所有的指令流程控制指令。
这些指令包括从主程序跳转到子程序,从子程序返回到主程序等等。
这一部分的指令可以定义标签、跳转语句、条件分支等。
此外,在ARM汇编程序中还需要注意的一些细节,如跳转指令必须放在指令执行前面,异常处理必须考虑到所有临界条件等。
只要按照一定的结构进行编写,就可以充分发挥ARM汇编程序的性能和效率,实现各种复杂的逻辑运算和控制流程。
汇编语言结构汇编语言是一种低级别的编程语言,用于与计算机硬件进行直接交互。
它提供了对计算机硬件的底层访问和控制,使程序员能够更加精确地编写处理器指令。
一、概述汇编语言结构是汇编程序的基本组成部分。
一个典型的汇编程序由若干条指令组成,每条指令执行特定的操作。
指令通常包括操作码和操作数,用于指定要执行的任务和相关数据。
在编写汇编程序时,程序员需要了解指令的结构和格式,以正确地编写代码。
二、指令格式在汇编语言中,每条指令都有固定的格式,即操作码、目标操作数和源操作数。
操作码指定要执行的操作类型,目标操作数用于存储操作结果,源操作数用于提供操作所需的数据。
根据不同的指令类型,操作数的格式和长度也会有所不同。
三、寄存器寄存器是汇编语言中的一种重要数据存储单位,用于存储和处理数据。
计算机硬件通常提供了各种类型的寄存器,如通用寄存器、标志寄存器和指令指针寄存器等。
在编写汇编程序时,程序员可以使用这些寄存器来完成各种任务,如存储数据、进行运算和控制程序流程等。
四、内存内存是计算机中的一种重要存储设备,用于存储程序和数据。
在汇编语言中,程序员可以使用内存来存储变量、数组和其他数据结构,以便在程序执行过程中进行读写操作。
为了有效地使用内存,程序员需要了解内存的地址和访问方式等相关知识。
五、程序结构汇编语言程序通常由若干个过程和子程序组成,用于实现特定的功能。
程序员可以使用标签和跳转指令来控制程序的流程,实现条件分支和循环等结构。
此外,程序员还可以使用宏指令来简化代码编写和调试过程,提高程序的可读性和可维护性。
六、汇编程序的工具和环境为了编写和调试汇编程序,程序员通常需要使用汇编器和调试器等工具。
汇编器用于将汇编源代码翻译成机器码,调试器用于辅助程序员进行代码调试和错误排查。
此外,程序员还可以使用集成开发环境(IDE)来提供更加友好和便捷的编程环境。
结论汇编语言是一种强大而灵活的编程工具,可以直接操作计算机硬件。
通过了解汇编语言的结构和格式,程序员可以编写高效和可靠的代码,更好地理解计算机的工作原理。
第四章教学实施计划3课堂教学实施计划第 8 课教学过程设计:复习 0 分钟;授新课 100 分钟讨论 0 分钟;其它 0 分钟授课类型(请打√):理论课√讨论课□实验课□习题课□其它□教学方式(请打√):讲授√讨论□示教□指导□其它□教学手段(请打√):多媒体√模型□实物□挂图□音像□其它□4.1 汇编语言程序设计概述程序实际上是一系列计算机指令的有序集合。
我们把利用计算机的指令系统来合理地编写出解决某个问题的程序的过程,称为程序设计。
程序设计是单片机应用系统设计的重要组成部分,单片机的全部动作都是在程序的控制下进行的。
随着芯片技术的发展,很多标准的或功能型的硬件电路都集成到了芯片中,所以,软件设计在单片机应用系统开发中占的比重越来越大。
一、汇编语言和高级语言汇编语言:用助记符表示的指令称为汇编语言,用汇编语言编写的程序称为汇编语言源程序汇编语言也是面向机器的,它仍是一种低级语言。
汇编语言离不开具体计算机的硬件,与硬件紧密相关。
高级语言:高级语言不受具体“硬件”的限制,具有通用性强,直观、易懂、易学,可读性好等优点。
多数的51单片机用户使用C语言来进行程序设计。
C语言已经成为人们公认的高级语言中高效、简洁而又贴近51单片机硬件的编程语言。
二、汇编语言的特点•助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优化的程序。
•使用汇编语言编程比使用高级语言困难,因为汇编语言是面向计算机的,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。
•汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能够直接管理和控制硬件设备。
•汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能通用。
三、汇编语言的语句格式•指令语句:每一条指令语句在汇编时都产生一个指令代码(也称机器代码),执行该指令代码对应着机器的一种操作。