IBM-PC汇编语言程序设计第13章 高级宏汇编语言技术
- 格式:ppt
- 大小:382.50 KB
- 文档页数:52
IBMPC汇编语言程序设计第5版课程设计一、引言IBM PC机可以说是计算机发展史上的里程碑,随着计算机技术的发展,计算机硬件和软件得到了前所未有的发展。
IBM PC机的出现改变了人们的生活方式,它不仅是一种计算机,更是一种文化。
汇编语言是计算机语言中最接近硬件的语言,它是一种用途广泛的编程语言。
在计算机科学和工程领域,汇编语言是编写高效、优化程序的必备语言。
本文将介绍IBM PC机的汇编语言程序设计第5版课程设计。
二、课程设计目标1.通过学习IBM PC机的汇编语言,掌握基本的编程技能2.熟悉汇编程序的运行机制,了解程序性能优化方法3.掌握汇编语言中基本的指令、寄存器和内存访问方式4.实践中应用知识,提高编程能力和思考问题的能力三、课程设计内容1.汇编语言基础知识–汇编程序的结构和组成部分–汇编语言的语法和指令–寄存器和内存访问方式–DOS环境下的汇编语言程序开发2.汇编语言高级编程技术–程序性能优化方法–基于中断和子程序的程序设计–DOS调用BIOS和DOS的API函数3.课程设计实践–前期设计、开发和调试汇编语言程序的能力–开发和实现一个汇编语言程序,具体任务根据学生兴趣定制四、课程设计实验任务1.实现一个计算器程序,能进行加、减、乘、除和开方运算,并输出运算结果。
2.模拟银行账户管理系统,实现账户开户、存款、取款、查询、销户等基本功能。
3.实现一个简单的2048游戏,能够实现基本操作,如上下左右滑动、得分计算、游戏结束等。
五、课程设计评分1.作业成绩占50分,包括实验报告和实验代码。
2.课堂表现占20分,包括课堂提问、讨论、思维活动等。
3.期末考试占30分,主要考察汇编语言知识的掌握程度。
六、结语本文介绍了IBM PC机的汇编语言程序设计第5版课程设计,包括课程设计目标、内容、实验任务和评分。
通过学习该课程,可以掌握基本的编程技能和汇编程序运行机制,提高编程能力和思考问题的能力。
最后,希望学生们能够通过本课程,取得优秀的成绩。
I B M-P C汇编语言程序设计(第二版)课后习题答案(清华大学.------------------------------------------作者xxxx------------------------------------------日期xxxx您正在查看 "ibm-pc汇编语言程序设计(第二版课后习题答案" 分类下的文章IBM-PC汇编语言程序设计(第二版课后习题答案(清华大学出版社(沈美明,温冬蝉著第三章答案1-222006-11-02 22:56IBM-PC汇编语言程序设计(第二版课后习题答案(清华大学出版社(沈美明,温冬蝉著答案1。
.(1立即寻址没有(2直接寻址 7237H(3使用BX的寄存器寻址没有(4使用BX的间接寻址 637DH(5使用BX的寄存器相对寻址 0D5F0H(6 基址变址寻址 8E18H(7相对基址变址 004FH2。
根据下列要求,写出相应的汇编指令。
(1ADD DX,BX(2 ADD AL,[BX][SI](3 ADD [BX][0B2H], CX(4 MOV AX,2A59H ADD [0524H] ,AX(5 ADD AL ,0B5H3。
(1寄存器间接寻址MOV BX,OFFSET [BLOCK][0AH]MOV DX ,[BX](2寄存器相对寻址MOV SI,OAHMOV DX,[BLOCK][SI](3基址变址寻址MOV BX ,BLOCKMOV SI,OAHMOV DX,[BX][SI]没人来看,还是要写~~4。
现有(DS=2000H,(BX=0100H,(SI=0002H,(20100=12H,(20101=34H,(20102=56H,(20103=7 8H,(21200=2 AH,(20201=4CH,(21202=B7H,(21203=65H,试说明下列各条指令执行完后,AX寄存器的内容。
(1MOV AX,1200H 1200H(2 MOV AX,BX 0100H(3 MOV AX,[1200] 4C2AH 注意,是字单元!!(4MOV AX,[BX] 3412H 同上(5MOV 1100[BX] 4C2AH(6 MOV AX,[BX][SI] 7856H(7 MOV AX,1100[BX][SI] 65B7H5。
目录实验1 利用DEBUG调试汇编语言程序段 (1)实验2 初级程序的编写与调试实验(一) (5)实验3 初级程序的编写与调试实验(二) (14)实验4 汇编语言程序上机过程 (19)实验5 分支程序实验 (22)实验6 循环程序实验 (26)实验7 子程序实验 (30)实验1 利用DEBUG调试汇编语言程序段一.实验目的1.熟悉DEBUG有关命令的使用方法;2.利用DEBUG掌握有关指令的功能;3.利用DEBUG运行简单的程序段。
二.实验环境PC微机DOS操作系统、Windows操作系统三.实验内容1.进入和退出DEBUG程序;1)开始—运行,输入cmd,点确定进入命令窗口2)在命令窗口中输入dubug进入debug程序3)进入debug窗口后,输入q命令退出debug2.学会DEBUG中的1)D命令(显示内存数据D 段地址:偏移地址)-D100 ;显示DS段, 0100开始的128个字节内容-D ;默认段寄存器为DS,当前偏移地址(刚进入debug程序偏移地址为0100H)-D DS:100 ;显示DS段, 0100H开始的128个字节内容-D CS:200 ;显示CS段, 0200H开始的128个字节内容-D 200:100 ;显示DS段, 0200:0100H开始的128个字节内容-D 200 ;显示DS段, 0200H开始的128个字节内容-D 100 L 10 ;显示DS段, 100H开始的100H个字节内容2)E命令(修改指定内存)-E DS:100 F3 ‘AB’ 8D ; 把DS段中0100H开始的四个字节修改为F3 ‘AB’(A和B的ASCII 码) 8D也可以按下面的方式实现3)R命令(显示当前寄存器的内容)4)T命令(设置陷井,单步执行)5)A命令(将指令直接汇编成机器码输入到内存中。
)使用A命令在0100H开始输入指令mov ax, 10 inc cx mov bl, al单步执行上述指令6)G命令等的使用(执行A命中输入的汇编指令)使用A命令在0100H开始输入指令mov ax, 10 inc cx mov bl, al int 3然后使用g命令执行上面的例子设断点在100H处然后用T命令单步执行实验2 初级程序的编写与调试实验(一)一.实验目的1.进一步熟悉DEBUG命令;2.掌握数据在内存中的存放方式和内存操作数的几种寻址方式,段寄存器和物理地址计算;3.熟悉数据传送指令、算术运算指令、逻辑指令、数据串传送程序和数据串传送指令MOVS、STOS及重复前辍REP;4.掌握简单的汇编语言程序编写与调试。
附录:《IBM—PC汇编语言程序设计》习题参考答案第一章.习题1.1用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001B=171H(2) 10000=10 0111 0001 0000B=2710H(3) 4095=1111 1111 1111B=FFFH(4) 32767=111 1111 1111 1111B=7FFFH1.2将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111答:(1) 10 1101B=2DH=45(2) 1000 0000B=80H=128(3) 1111 1111 1111 1111B=FFFFH=65535(4) 1111 1111B=FFH=2551.3将下列十六进制数转换为二进制数和十进制数:(1) FA (2) 5B (3) FFFE (4) 1234答:(1) FAH=1111 1010B=250(2) 5BH=101 1011B=91(3) FFFEH=1111 1111 1111 1110B=65534(4) 1234H=1 0010 0011 0100B=46601.4完成下列十六进制数的运算,并转换为十进制数进行校核:(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F答:(1) 3A+B7H=F1H=241(2) 1234+AFH=12E3H=4835(3) ABCD-FEH=AACFH=43727(4) 7AB×6FH=35325H=2178931.5下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。
(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6) -85-(-76)答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0(2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0(3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0;OF=0(4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H;CF=0;OF=1(5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH;CF=0;OF=1(6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H;CF=0;OF=0 1.6下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8 (2) FF答:(1) D8H表示的带符号数为-40,D8H表示的无符号数为216;(2) FFH表示的带符号数为-1,FFH表示的无符号数为255。
《汇编语言程序设计》教案附:习题参考答案《IBM-PC汇编语言程序设计》(第2版)沈美明、温冬婵编著教案编写时间:20XX年8月18日前言1.汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
2.汇编语言程序设计是高等院校电子计算机硬、软件及应用专业学生必修的核心课程之一。
它不仅是计算机原理、操作系统等其它核心课程的必要先修课,而且对于训练学生掌握程序设计技术、熟悉上机操作和程序调试技术都有重要作用。
3.本教材共有十一章,其内容安排如下:(1).第一、二章为汇编语言所用的基础知识。
(2).第三章详细介绍80x86系列CPU的指令系统和寻址方式。
(3).第四章介绍伪操作、汇编语言程序格式及汇编语言的上机过程。
(4).第五、六章说明循环、分支、子程序结构和程序设计的基本方法。
(5).第七章说明宏汇编、重复汇编及条件汇编的设计方法。
(6).第八章叙述输入/输出程序设计方法,重点说明中断原理、中断过程及中断程序设计方式。
(7).第九章说明BIOS和DOS系统功能调用的使用方法。
(8).第十~十一章分别说明图形显示、发声及磁盘文件存储的程序设计方法,同时提供各种程序设计方法和程序实例。
附:教学参考书1.沈美明、温冬婵编著,IBM–PC汇编语言程序设计(第2版),清华大学出版社,20XX年(教材)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 章基础知识 (6)1.1进位计数制与不同基数的数之间的转换 (6)1.2二进制数和十六进制数的运算 (8)1.3计算机中数和字符的表示 (8)1.4几种基本的逻辑运算 (9)第 2 章80X86计算机组织 (10)2.180X86微处理器 (10)2.2基于微处理器的计算机系统构成 (11)2.3中央处理机 (11)2.4存储器 (13)2.5外部设备 (15)第 3 章80X86的指令系统和寻址方式 (16)3.180X86的寻址方式 (16)3.2程序占有的空间和执行时间 (18)3.380X86的指令系统 (19)第 4 章汇编语言程序格式 (41)4.1汇编程序功能 (41)4.2伪操作 (41)4.3汇编语言程序格式 (46)4.4汇编语言程序的上机过程 (50)第 5 章循环与分支程序设计 (53)5.1循环程序设计 (53)5.2分支程序设计 (54)5.3如何在实模式下发挥80386及其后继机型的优势 (54)第 6 章子程序结构 (56)6.1子程序的设计方法 (56)6.2子程序的嵌套 (58)6.3子程序举例 (58)第7 章高级汇编语言技术 (59)7.1宏汇编 (59)7.2重复汇编 (60)7.3条件汇编 (61)第8 章输入/输出程序设计 (63)8.1I/O设备的数据传送方式 (63)8.2程序直接控制I/O方式 (64)8.3中断传送方式 (64)第9 章BIOS和DOS中断 (68)9.1键盘I/O (69)9.2显示器I/O (71)9.3打印机I/O (72)9.4串行通信口I/O (73)第10 章图形与发声系统的程序设计 (75)10.1显示方式 (75)10.2视频显示存储器 (75)10.3EGA/VGA图形程序设计 (76)10.4通用发声程序 (77)10.5乐曲程序 (79)第11 章磁盘文件存取技术 (80)11.1磁盘的记录方式 (80)11.2文件代号式磁盘存取 (82)11.3字符设备的文件代号式I/O (83)11.4BIOS磁盘存取功能 (83)附录:《IBM—PC汇编语言程序设计》习题参考答案 (85)第一章.习题 (85)第二章.习题 (86)第三章.习题 (88)第四章.习题 (106)第五章.习题 (113)第六章.习题 (136)第七章.习题 (153)第八章.习题 (161)第九章.习题 (168)第十章.习题 (172)第十一章.习题 (186)第 1 章 基础知识【教学目的】本章内容是本课程的基础,通过本章学习,使学生明确汇编语言程序设计的学科性质、基本内容和学习意义,掌握数制的转换、数据的编码,了解本门课程的教学要求和学习方法。
《汇编语言程序设计》作业习题第1章汇编语言基础知识习题1.1 什么是汇编语言?汇编语言的特点是什么?1.2 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 127 ② 1021 ③ 0.875 ④ 6.251.3把下列二进制数转换成十进制数。
① 1001.11 ② 101011.10011 ③ 111.011 ④ 1011.11.4 把下列八进制数转换成十进制数。
① 573.06 ② 75.23 ③ 431.7 ④ 123.451.5 把下列十六进制数转换成十进制数。
① 0D5.F4 ② 8BA.7C ③ 0B2E.3A ④ 6EC.2D1.6 把下列英文单词转换成ASCII编码的字符串。
① Upper ② Blow ③ Computer ④ What1.7 求下列带符号十进制数的8位基2码补码。
① +127 ②−2 ③−128 ④ +21.8 求下列带符号十进制数的16位基2码补码。
① +628 ②−9 ③−1234 ④ +32491.9 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。
①68+(―53)②68―53 ③68―(―53)④(―68)―531.10 汉字在输入、存储、输出过程中所使用的汉字编码是否一样?使用的是什么编码?第2章 IBM-PC系统结构习题2.1什么是微型计算机?微型计算机主要由哪几部分组成?其主要功能是什么?2.2 8086/8088CPU由哪两部分组成?它们的主要功能是什么?2.3 8086/8088CPU有哪些寄存器?各有什么用途?2.4 8086/8088CPU哪些寄存器可以用来指示存储器地址?2.5标志寄存器中有哪些状态标志和控制标志?它们每一位所表示的含义是什么?2.6有两个16位数3A4BH和10EFH分别存放在2000H和2004H存储单元中,请用图表示出它们在存储器里的存放情况。
2.7一个存储单元的物理地址、段地址、偏移地址三者之间有何关系?2.8在DEBUG程序中,一条指令语句表示为2000:0030 MOV AL,8。