最新《汇编语言程序设计》第10章
新版汇编语言程序设计习题答案(钱晓捷主编)电子教案

新版汇编语言程序设计习题答案(钱晓捷主编)新版汇编语言程序设计习题答案(钱晓捷主编)第一章汇编语言基础知识1.1、简述计算机系统的硬件组成及各部分作用1.2、明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB1.3、什么是汇编语言源程序、汇编程序、目标程序?1.4、汇编语言与高级语言相比有什么优缺点?1.5、将下列十六进制数转换为二进制和十进制表示(1)FFH (2)0H (3)5EH (4)EFH(5)2EH (6)10H (7)1FH (8)ABH1.6、将下列十进制数转换为BCD码表示(1)12 (2)24 (3)68 (4)127(5)128 (6)255 (7)1234 (8)24581.7、将下列BCD码转换为十进制数(1)10010001 (2)10001001 (3)00110110 (4)10010000(5)00001000 (6)10010111 (7)10000001 (8)000000101.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示(1)0 (2)-127 (3)127 (4)-57(5)126 (6)-126 (7)-128 (8)681.9、完成下列二进制数的运算(1)1011+1001 (2)1011-1001 (3)1011×1001 (4)10111000÷1001(5)1011 ∧~1011 (8)1011 ⊕ 1001 1001(6)1011 ∨1001(7)1.10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符?1.11、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符?1.12、简述Intel 80x86系列微处理器在指令集方面的发展。
第十章 算法与程序设计初步

程图、伪代码和计算机语言等。
18
10.3.5 算法的分类
1.数值计算算法 这种算法的主要目的是用于科学计算,其特点是 输入、输出相对较简单,运算相对较复杂。比如 求高次方程的近似根、函数的定积分等。
2.非数值计算算法 这种算法的主要目的是对数据进行管理,其特点 跟数值计算算法刚好相反,输入、输出相对较复 杂,算术运算相对较简单,而逻辑运算较复杂。 比如对数据的排序、查找等算法。
4
10.1 引言
实例演示
5
实例演示(续)
实例演示(续)
10.2 程序设计语言和程序设计
10.2.1 程序的概念 10.2.2 程序设计语言的概念
10.2.3 程序设计
8
10.2.1 程序的概念
程序主要是用于描述完成某项功能所涉及的对象和动 作规则。是根据功能和性能要求,用程序设计语言描述的 、适合计算机处理的指令序列。 一个程序应包括以下两方面内容: • 数据的描述。 • 操作基本语句和控
制结构等基本内容的介绍和使用。
3
10.1 10.2 10.3 10.4 10.5 10.6 10.7
引言 程序设计语言和程序设计 算法与算法设计的基本方法 面向对象程序设计中的基本概念 Visual Basic程序设计的基本步骤 窗体和基本常用控件 Visual Basic编程基础
19
10.3.6 几种常用的算法设计的基本方法
迭代结构
递归结构
排序算法
查找算法
20
10.4 面向对象程序设计中的基本概念
10.4.1 程序设计的方法
VB面向对象程序设计方法与传统程序设计的主要区别: 事件驱动的编程机制 交互式的开发模式
10.4.2 对象和类的概念
IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)(沈美明,温冬蝉著)第二章1.解答:有256个2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元E51E3C2A3.解答: 30022H字节单元内容: ABH 30024H字节单元内容: EFH30021H字单元内容: AB34H 30022H字单元内容: CDABH4.解答: 这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址5.解答: CS+IP 第一个字的物理地址为: 0AAA40H6.解答: 条件标志OF,SF,ZF,CF,的值依次为:0,0,0,07.下列操作可使用那些寄存器?(1)加法和减法AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH ,AL等(2)循环计数 CX(3)乘法和除法DX,AX,AH,AL(4)保存段地址CS ,DS,ES,SS(5)表示运算结果为O FLAGS(6)将要执行的指令地址IP(7) 将要从堆栈取出数据的地址BP,SP,SS8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP9.一一对应;5--A 4--B 2--C 3--D 12--E 9--F 11--G 10--H 13--I 8--J 7--K 6---L 1--M 15--N 14--O第三章1.(1)立即寻址没有(2)直接寻址7237H(3)使用BX的寄存器寻址没有(4)使用BX的间接寻址 637DH(5)使用BX的寄存器相对寻址0D5B4H(6)基址变址寻址8E18H(7)相对基址变址004FH2.根据下列要求,写出相应的汇编指令。
(1)ADD 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)=78H,(2120 0)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。
32位汇编语言程序设计部分课后习题答案

3.1 简答题-1
(1)如何修改“MOV ESI, WORD PTR 250”语句使其 正确?
• 删除“WORD PTR”即可
(2)为什么说“XCHG EDX,CX”是一条错误的指令?
32位汇编语言习题解答
课件制作: 钱晓捷
钱晓捷,32位汇编语言程序设计,机械工业出版社
第1章习题:汇编语言基础
1.1 简答题(1、3、6、7、8) 1.2 判断题(1、6、7、8、9) 1.3 填空题(3、4、5、7、10) 1.9、1.13、1.15、1.16
1.1 简答题-1
(1)哪个处理器的指令系统成为Intel
• 没有
(8)汇编语言的标识符大小写不敏感意味着什么?
• 表示字母大小写不同、但表示同一个符号
4
习题解答
1.2 判断题
1)EAX也被称为累加器,因为它使用最频繁。
• 对,EAX中的A来自英文累加器(Accumulator)
6)处理器的传送指令MOV属于汇编语言的执行性语句
•对
7)汇编语言的语句由明显的4部分组成,不需要分隔 符区别。
13,10
byte
'---+-------------------------------',
13,10
byte '20 |',20h,20h,21h,20h,22h,20h,23h,20h,
24h,20h,25h,20h,26h,20h,27h,20h,28h,20h,29h,20h
byte 2ah,20h,2bh,20h,2ch,20h,2dh,20h,2eh,20h,
• 寄存器寻址,立即数寻址
(9)已知ESI=04000H,EBX=20H,指令“MOV EAX, [ESI+EBX*2+8]”中访问的有效地址是__________。
《汇编语言程序设计》(第四版)教案及答案解析

《汇编语言程序设计》教案附:习题参考答案《汇编语言程序设计》(第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章汇编语言基础知识PPT课件

2018/12/11
第1章
汇编语言基础知识
17
《汇编语言程序设计》
词汇表
23.数据段 数据段存放当前运行程序所用的数据,数据段的段地址存放在 DS中。 24.附加段 附加段是附加的数据段,也用于数据的保存,另外,串操作指令 将附加段作为其目的操作数的存放区域。附加段的段地址存放在ES中。 25.堆栈段 堆栈段是堆栈所在的主存区域,堆栈段的段地址存放在SS中,堆 栈指针寄存器SP指示堆栈栈顶的偏移地址,处理器利用SS:SP操作堆 栈中的数据。
2018/12/11
第1章
汇编语言基础知识
16
《汇编语言程序设计》
词汇表
21.物理地址 在1M字节的存储器里,每一个存储单元都有一个唯 一的20位地址,称为该存储单元的物理地址,把段地址左 移4位再加上偏移地址就形成物理地址。 22.代码段 程序员在编制程序时要把存储器划分成段,代码段用 来存放程序的指令序列,代码段的段地址存放在CS中,指 令指针寄存器IP指示代码段中指令的偏移地址,处理器利 用CS:IP取得下一条要执行的指令。
词汇表
2.汇编语言 汇编语言是一种符号语言,几乎和机 器语言一一对应,它采用便于记忆、并能 描述指令功能的符号来表示机器指令,比 机器语言容易理解和掌握。
2018/12/11
第1章
汇编语言基础知识
6
《汇编语言程序设计》
词汇表
3.汇编语言源程序 用汇编语言编写的程序称为汇编语言 源程序,简称源程序。
2018/12/11
第1章 汇编语言基础知识
19
《汇编语言程序设计》
词汇表
29.子程序 子程序又称为过程,它相当于高级语言中的过程和函数。在一个 程序的不同部分,往往要用到类似的程序段,这些程序段的功能和结 构形式都相同,只是某些变量的赋值不同,此时就可以把这些程序段 写成子程序形式,以便需要时可以调用它;某些常用的特定功能的程 序段也可编制成子程序的形式供用户使用。 30.中断 中断是一种使CPU中止正在执行的程序而转去处理特殊事件的操 作,这些引起中断的事件称为中断源,它们可能是来自外设的输入输 出请求,也可能是计算机的一些异常事故或其它内部原因。
汇编语言程序设计(第二版)课后习题答案

汇编语言程序设计(第二版)课后习题答案第二章1.解答:有256个2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元E51E3C2A3.解答:30022H字节单元内容:ABH30024H字节单元内容:EFH30021H字单元内容:AB34H30022H字单元内容:CDABH4.解答:这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址5.解答:CS+IP第一个字的物理地址为:0AAA40H6.解答:条件标志OF,SF,ZF,CF,的值依次为:0,0,0,07.下列操作可使用那些寄存器?(1)加法和减法AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH,AL等(2)循环计数CX(3)乘法和除法DX,AX,AH,AL(4)保存段地址CS,DS,ES,SS(5)表示运算结果为O FLAGS(6)将要执行的指令地址IP(7)将要从堆栈取出数据的地址BP,SP,SS8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP9.一一对应;5--A4--B2--C3--D12--E9--F11--G10--H13--I8--J7--K6---L1--M15--N14--O第三章1.(1)立即寻址没有(2)直接寻址7237H(3)使用BX的寄存器寻址没有(4)使用BX的间接寻址637DH(5)使用BX的寄存器相对寻址0D5B4H(6)基址变址寻址8E18H(7)相对基址变址004FH2.根据下列要求,写出相应的汇编指令。
(1)ADD 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)=78H,(2 1200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。
10 C语言与汇编语言的混合编程

3.混合项目(续)
模块3(文件名pulse3.asm): PUBLIC _DELAY1MS;用PUBLIC声明_DELAY1MS为其它函数调用,以 “_”为前缀的函数名,表示该函数通过寄存器传递参数 DELAY SEGMENT CODE;定义DELAY段为再定位程序段 ,DELAY是用 户任意起的段名 RSEG DELAY ;选择DELAY为当前段 _DELAY1MS: DELA:MOV R6,#12 ;2T LOP1:MOV R5,#250 ;2T DJNZ R5,$ ;4T DJNZ R6,LOP1 ;4T DJNZ R7,DELA ;R7中数值为C ;程序传递过来的参数,参数为2则延时2ms EXIT: RET END
1.混合编程的实现(续)
第二步:在Keil C51环境下,在Project窗口中包含汇编代码 的C文件上单击右键,在弹出的快捷菜单中选择“Options for…”命令,再点击选中右边的“Generate Assembler SRC File”和“Assembler SRC File”复选框,使检查框由灰色(无 效)变成黑色(有效)状态。
12
3.混合编程
模块1(文件名pulse1.c): #include<STC12C5A.h> #define uchar unsigned char sbit P1_1=P1^1; extern void delay4ms(void); //外部函数delay4ms()声明 void main() { while(1) { P1_1=0; delay4ms (); //调用模块2延时4ms P1_1=1; delay4ms (); //调用模块2延时4ms } }
4
1.混合编程的实现(续)
5
[汇编]《汇编语言》第10章CALL和RET指令
![[汇编]《汇编语言》第10章CALL和RET指令](https://img.taocdn.com/s3/m/230d8999d1d233d4b14e852458fb770bf78a3bfb.png)
[汇编]《汇编语⾔》第10章CALL和RET指令王爽《汇编语⾔》第四版超级笔记⽬录第10章 CALL和RET指令call和ret指令都是转移指令,它们都修改IP,或同时修改CS和IP。
它们经常被共同⽤来实现⼦程序的设计。
这⼀章,我们讲解call和ret指令的原理。
10.1 ret和retf、call指令ret指令⽤栈中的数据,修改IP的内容,从⽽实现近转移;retf指令⽤栈中的数据,修改CS和IP的内容,从⽽实现远转移。
CPU执⾏ret指令时,进⾏下⾯两步操作:(IP)=((ss)x16+(sp))(sp)=(sp)+2CPU执⾏retf指令时,进⾏下⾯4步操作:(IP)=((ss)x16+(sp))(sp)=(sp)+2(CS)=((ss)x16+(sp))(sp)=(sp)+2可以看出,如果我们⽤汇编语法来解释ret和retf指令,则:CPU执⾏ret指令时,相当于进⾏:pop IPCPU执⾏retf指令时,相当于进⾏:pop IPpop CS下⾯的程序中,ret指令执⾏后,(IP)=0,CS:IP指向代码段的第⼀条指令。
assume cs:codestack segmentdb 15 dup (0)stack endscode segmentmov ax,4c00hint 21hstart: mov ax,stackmov ss,axmov sp,16mov ax,0push axmov bx,0retcode endsend start下⾯的程序中,retf指令执⾏后,CS:IP指向代码段的第⼀条指令。
assume cs:codestack segmentdb 16 dup (0)stack endscode segmentmov ax,4c00hinc 21hstart: mov ax,stackmov ss,axmov sp,16mov ax,0push cspush axmov bx,0retfcode endsend startCPU执⾏call指令时,进⾏两步操作:(1)将当前的IP或CS和IP压⼊栈中;(2)转移。
《汇编语言》各章习题答案

汇编语言各章习题答案习题一答案:1.1无符号数: 11010011=211=D3H,01110111=119=77H,10000011=131=83H,00101111=47=2FH,10101010=170=AAH带符号数:11010011= -45=D3H,01110111=+119=77H,10000011= -125=83H,00101111=+47=2FH,10101010= -86=AAH1.2 5E8AH,0BE6H,3DEH,4940H1.3 00011101+00110101=01010010=52H=8201001001+11101000=00110001=31H=4910111110+01010010=00010000=10H=1610011010+11110001=10001011=8BH= -1171.4 00101001+01010011=01111100+00000110=10000010=82H=8201110011-00100100=01001111-00000110=01001001=49H=4901100110+00011000=01111110+00000110=10000100=84H=840000000100110010+01110101=0000000110100111+00000110=0000001000000111=0207H=2071.5 000020A3H,FF94H,00003456H,007FH,FFFFEC00H1.6无符号数:0~65535,0000H~FFFFH;带符号数:-32768~+32767,8000H~7FFFH 1.7 (1) 38H等于十进制数56,是十进制数56的补码,数字8的ASCII码,十进制数38的压缩BCD码(2) FFH等于十进制数-1,是带符号数-1的补码,无符号数为255(3) 5AH等于十进制数90,是十进制数90的补码,大写字母Z的ASCII码(4) 0DH等于十进制数13,是十进制数13的补码,回车符的ASCII码1.8(1) 108=01101100B=6CH,补码01101100B,压缩BCD码0000000100001000,ASCII码313038H(2) 46=00101110B=2EH,补码00101110B,压缩BCD码01000110,ASCII码3436H(3) –15=11110001B=F1H,补码11110001B,ASCII码2D3135H(4) 254=0000000011111110B=00FEH,补码0000000011111110B,压缩BCD码0000001001010100,ASCII码323534H1.9(1) 56+63=01110111B,CF=0,SF=0,ZF=0,OF=0(2) 83-45=00100110B,CF=0,SF=0,ZF=0,OF=0(3) -74+29=11010011B,CF=0,SF=1,ZF=0,OF=0(4) -92-37=01111111B,CF=1,SF=0,ZF=0,OF=11.10回车、换行、响铃、ESC键、空格键、@、P、p习题二答案:2.9最少划分为16个逻辑段,最多划分为65536个逻辑段(每段16个字节)2.10CS:IP,DS:BX、SI、DI,ES:BX、SI、DI,SS:SP、BP2.11字节单元保存8位数,字单元保存16位数。
汇编语言程序设计课后习题答案(第二版_沈美明)(无删减)

汇编语言程序设计课后习题答案(第二版_沈美明)(无删减)第一章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章习题一1.什么是程序存储工作方式?答:计算机的工作方式——存储程序工作方式。
即事先编写程序,再由计算机把这些信息存储起来,然后连续地、快速地执行程序,从而完成各种运算过程。
2.采用数字化方法表示信息有哪些优点?用数字化方法表示信息的优点:(1)抗干扰能力强, 可靠性高。
(2)依靠多位数字的组合,在表示数值时可获得很宽的表示范围以及很高的精度。
(3)数字化的信息可以存储、信息传送也比较容易实现。
(4)可表示的信息类型与范围及其广泛,几乎没有限制。
(5)能用逻辑代数等数字逻辑技术进行信息处理,这就形成了计算机硬件设计的基础。
3.如果有7×9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。
4.数字计算机的主要特点是什么?1. (1)能在程序控制下自动连续地工作;(2|)运算速度快;(3)运算精度高;(4)具有很强的信息存储能力;(5)通用性强,应用领域及其广泛。
5.衡量计算机性能的基本指标有哪些?答:衡量计算机性能的基本指标:(1)基本字长——参加一次运算的数的位数;(2)数据通路宽度——数据总线一次能并行传送的位数;(3)运算速度——可用①CPU的时钟频率与主频,②每秒平均执行指令数,③典型四则运算的时间来表示。
(4)主存储器容量——可用字节数或单元数(字数)×位数来表示。
(6)配备的外围设备及其性能。
(7)系统软件配置。
7.系统软件一般包括哪些部分?列举你所熟悉的三种系统软件。
系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。
例如WINDOWS98操作系统,C 语言编译程序等,数据库管理系统。
8.对源程序的处理有哪两种基本方式?对源程序的处理通常有两种处理方式:解释方式和编译方式。
第2章习题二1.将二进制数(101010.01)2 转换为十进制数及BCD码。
解:(101010.01)2 = (42.25)10 = (01000010.00100101)BCD2.将八进制数(37.2)8转换为十进制数及BCD码.解:(37.2)8 = (31.25)10 =(00110001.00100101)BCD3.将十六进制数(AC.E)转换为十进制数及BCD码.解: (AC.E)16 =(172.875)10 = (000101110010.100001110101)BCD4.将十进制数(75.34)10转换为8位二进制数及八进制数、十六进制数。
汇编语言程序设计(第二版)课后题答案

4.1、判断下列标识符的合法性。
1)、code 合法2)、Data 合法3)、ABCDH 合法4)、1abcH 不5)、eax 不6)、01 合法7)、A?@ 合法8)、www@zsu 合法9)、***********.cn不10)、AX$DX 合法11)、_BX 合法12)、CX 不4.2、按下面要求写出相应的数据定义语句(未指定变量名的,可任意指定或省缺)。
1)、定义一个字节区域,第一个字节的值为20,其后跟20个初值为0的连续字节;DB 20,20 DUP(0)2)、定义一个以0为结束符的字符串,其初值为:The course is easy;DB “The course is easy”,03)、定义一个以'$'为结束符的字符串,该串中含有换行符和回车符;DB 0D,0A,”$”4)、定义100个字,其初值为0;DW 100 DUP(0)5)、从一个偶地址开始定义一个字变量word;EVENWORD DW ?6)、先定义一个字符串String,其偏移量指定为10,其初值为"ABCDEF",然后再定义3个字类型的数组Data,要求String和Data的偏移量相同;ORG 10STRING DB "ABCDEF"ORG 10DATA DW 3 DUP(?)7)、定义一个字符串String,其初值为"12345678",再定义4个字类型的数组Data,要求String和Data共享同一片内存单元;STRING DB "12345678"ORG $-8DATA DW 4 DUP (?)4.3、把下列C语言的变量定义语句改写成与之等价的汇编语言语句。
1)、char ch1, ch2[3], ch3[]="Are you ready?", ch4='Q';CH1 DB ?CH2 DB 3 DUP (?)CH3 DB "Are you ready?",0CH4 DB “Q”2)、int w1, w2[5], w3=0x1234, w4[]={90, 89, 432, 344};W1 DW ?W2 DW 5 DUP (?)W3 DW 1234HW4 DW 90,89,432,3443)、long int d1=1234, d2, d3[10], d4[]={1, 2, 3, 4, 5, 6};D1 DD 1234D2 DD ?D3 DD 10 DUP(?)D3 DD 1,2,3,4,5,64.4、假设4.3题中三组变量在内存中是连续存放的,且变量ch1的偏移量是20H,试求出其它每个变量的偏移量。
徐洁《计算机组成原理与汇编语言程序设计》课后 答案

徐洁《计算机组成原理与汇编语言程序设计》课后答案第一章答案1.计算机中的基本逻辑运算有哪些?–与运算:当两个操作数都为1时,结果为1,否则为0。
符号:&–或运算:当两个操作数中至少有一个为1时,结果为1,否则为0。
符号:|–非运算:对操作数中的每一位取反。
符号:~2.什么是数据在计算机中的表示形式?数据在计算机中的表示形式是用二进制数表示的。
计算机中的所有数据(包括数字、字符、图像、声音等)都是通过二进制码来表示的。
3.简述冯·诺依曼体系结构的特点。
冯·诺依曼体系结构的特点包括:存储程序方式、以二进制表示数据和指令、指令和数据存储在同一存储器中、按顺序执行指令、指令由控制器解释执行。
4.简述冯·诺依曼计算机的工作原理。
冯·诺依曼计算机的工作原理是,首先将程序和数据存储在存储器中,然后由控制器按照指令的顺序解释执行这些指令,并在执行过程中对数据进行处理,最后将结果存储到相应的位置。
5.什么是存储器的层次结构?存储器的层次结构指的是计算机系统中不同层次的存储器之间的关系和连接方式。
通常从上到下可以分为:高速缓存、内存(主存)、磁盘存储器等。
第二章答案1.什么是字长?字长是指计算机中一次能处理的二进制位数,它决定了计算机能处理的数据的大小范围。
例如,一个字长为16位的计算机,可以处理的最大数据范围是0~65535。
2.简述定点数的表示方法。
定点数是一种用二进制数表示的数,可以表示整数、小数或带符号的数。
定点数的表示方法有原码表示法、反码表示法和补码表示法等。
3.简述浮点数的表示方法。
浮点数是一种表示实数的方法,可以表示带有小数点的数。
浮点数的表示方法包括符号位、指数位和尾数位三部分,其中指数位用来表示小数点的位置,尾数位用来表示实际的数值。
4.什么是ASCII码? ASCII码是一种用来表示字符的编码系统,它使用一个字节(8位)来表示一个字符。
ASCII码包括128个字符,包括数字、字母、标点符号等。
《汇编语言程序设计》作业习题

《汇编语言程序设计》作业习题第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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目标模块连接就是通常所说的模块连接,是多模块程序设 计的主要形式。目标模块连接是把被装配的各个模块分别汇编 后生成各自的目标文件(.obj)经连接成一个可执行文件,它的 实现比源文件连接复杂。
1.目标模块连接 目标模块的连接时要使用连接程序LINK,通过LINK将各模 块连接成一个可执行程序。命令格式如下: LINK 模块l文件名十模块2文件名十模块3文件名十… 在LINK执行时,向使用者询问可执行文件名时,回答一个 指定的文件名,则连接后的可执行文件名就是回答中所指定的 文件名;如果没有回答指定文件名,则连接后可执行文件名将 取所提供的第一个目标文件名。假设MASM程序在D盘MASM目录 下,目标模块为file_1.obj、file_2.obj和file_3.obj,则 D:\MASM>LINK file_1+file_2+file_3 ObjectModeles[.obj]:↙ RunFile[file_1.exe]:mainfile↙ ListFile[nul.map]:mainfile↙ Libraries[.lib]:↙
《汇编语言程序设计》第10章
汇编语言 淮南师范学院重点课程
10.1.1 模块化程序设计概念
在设计大型程序时,常常要将整个问题分解为若干 个小问题,必要时还要将小问题再次分解为更小的若干 问题,每个小问题编写成独立的源文件,最后将所有的 源文件连接起来组合成一个大程序。也就是说,一个程 序往往由多个源文件组成,那么构成一个程序的各个相 对独立的源文件通常称为模块。这样把一个程序分成多 个功能相对独立的程序模块分别编制、调试后,再用连 接程序把它们连接在一起生成一个完整的程序的设计的 方法称为模块化程序设计。
将若干个源文件(*.ASM)连成一个完整的文件, 汇编后形成一个目标模块( .OBJ)方式,称为源程序装 配连接。源程序级间的装配连接常常是被装配的若干模 块分别以源文件的形式存在,当需要在源主程序中插入 一个已存在的子程序文件,或是多个源文件要合成一块 的时候使用。
汇编语言 淮南师范学院重点课程
汇编语言 淮南师范学院重点课程
3.PUBLIC伪指令 格式:PUBLIC 标识符 [,标识符,...] 功能:表明本模块中所定义的标识符能够提供给其他模块引 用。 在一模块中,PUBLIC伪指令语句一般放在程序的开头,只能 说明一次。PUBLIC伪指令其后的标识符是本模块定义的可供其他 模块调用的标识符。这些标识符是在本模块中定义的符号常量、 标号、过程名或变量,各名字之间用逗号隔开。注意:寄存器名 或其值为实数及其值超过两个字节的整数的符号常量均不能作公 共标识符使用。 一旦经过PUBLIC伪指令定义,EXAM子程序就成为公共子程序, 即可被多个不同模块调用。 4.EXTRN伪指令 格式:EXTRN标识符:类型[,标识符:类型,…] 功能:用来说明本模块中用到的标识符是由其它模块定义的, 即本模块要引用其他模块定义的标识符。 EXTRN是伪指令,其后的标识符就是本模块中要引用的外部 标识符。而且标识符必须指出其类型。变量的类型可以是BYTE, WORD或DWORD,标号和过程名的类型可以是NEAR或FAR。所有的标 识符类型必须与原定义时的类型一致;被EXTRN伪指令说明的标 识符必须是在它所定义的模块中被PUBLIC伪指令说明过的标识符。
汇编语言 淮南师范学院重点课程
2.段的组合与定位 连接程序在执行时要对目标模块做两遍扫描,第一遍扫描是 对所有段分配段地址,并建立一张外部符号表;第二遍扫描是确 定与这些外部符号有关的指令机器码值。连接完成后建立了装入 模块,再由装入程序把该模块装入内存等待执行。 对所有段分配段地址,涉及到段定义中的属性以及PC机的可重 定位技术。汇编程序汇编成的目标模块均是以浮动的零作为段起 始地址,理论上讲该模块可以定位在主存中的任何地方。而连接 程序可实现多个目标模块的连接,并按各段的新定位地址修改有 关的目标代码,使之成为一个整体来运行。在用连接程序将多个 目标模块连接在一起时,被连接模块要向连接程序提供两个方面 的信息:各段之间的组合方式和各模块之间的通信方式。各段之 间的组合方式由段定义中的组合类型和类别确定。 LINK程序连接时,先处理组合类型,后处理定位类型,再处 理‘类别’,因此,各模块中具有同一种组合形式的段,其定位 类型不得相互矛盾,‘类别’名或者省略,或者相同。L1NK程序 连接时把‘类别’名相同的所有段(段名未必相同)放在连续的存 储区内,但仍然是不同的段。‘类别’名相同的各个段在连接时, 先出现的在前,后出现的在后,每段都有自己的超始地址。没有 类别名的逻辑段,与其它没有类别名的逻辑段一起连续装入内存。 若多个模块的段都为COMMON组合类型,连接后组合成一个互 相覆盖的段,段的长度取二者的长者,这种连接方法只有当各模 块需要公共数据区时才使用,否则各数据段内容相互覆盖便会出 错。若多个模块的段都为PUBLIC组合类型,连接后组合成一个相 邻连接的段,互不覆盖,连接顺序由连接程序确定,组合后形成 的段的长度约等于各个段长度之和。
10.1.2埴性强
汇编语言 淮南师范学院重点课程
汇编语言 淮南师范学院重点课程
汇编语言 淮南师范学院重点课程
汇编语言 淮南师范学院重点课程
汇编语言 淮南师范学院重点课程
汇编语言 淮南师范学院重点课程
汇编语言 淮南师范学院重点课程
1. TITLE 格式:TITLE [标题] 功能:给原程序指定一个标题,而后.LST文件每页的头都会出 现这个标题。 2.NAME和END 在模块化程序设计中,常要用到模块定义伪指令。模块定义使 用NAME和END两条伪指令。 模块定义伪指令的一般格式为: 格式:[NAME 模块名]
┆ END [标号] 模块名为本模块的名称,是NAME的操作数;END表示源程序到此 结 主束模,块,若其程E序ND包语含句多中个可模以块指,定则一每个个标模号块,的这最个后标必号须表有示E程ND序,的如启果动是 地址,只有主模块的END语句后有标号。
10.3 模块间的通讯
10.3.1 各模块之间的通信方式
中定当义程的变序由量几、标个号模块以组及子成时程序,等势必问存题。在一由于个子模块程使序与用调另用一它个模的块语 句 汇 号,编的定是地义分址变开。量进因、行此标 的 ,号 , 要及 汇 由使 编 连用 程 接变 序 程量 无 序、 法 汇标 知 集号 道 各的 子 模语 程 块句 序 送分 入 来别口的在地地不址址同及信的变息模量,块、综中标合, 决 提定供各了个几调种用伪指指令 令的 来转 完移 成地 不址 同及 模变 块量 间、 的标 通号 讯地 。址。因此,汇编语言
返回
汇编语言 淮南师范学院重点课程
10.4 模块的连接
在模块化程序设计中,一个大的程序分成了若干子 模块,每个模块具有完整的结构和独立的功能,并且能 单独汇编和调试。在实际使用时如何将这些具有独立功 能的模块连接成一个完整的整体呢?一般分两种情况: 源程序级间的装配连接和目标文件级间的装配连接。
10.4.1 源程序级间的装配连接