【良心出品】汇编语言习题解答李敬兆第二版.

合集下载

汇编语言习题解答李敬兆第二版

汇编语言习题解答李敬兆第二版

汇编语言习题解答李敬兆第二版8086/8088和基于ARM核汇编语言程序设计第1章汇编语言基础知识习题解答1.1 什么是汇编语言?汇编语言的特点是什么?答:为了克服机器语言难以记忆、表达和阅读的缺点,人们采用具有一定含义的符号作为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令(或汇编指令)。

汇编语言是汇编指令集、伪指令集和使用它们规则的统称。

汇编语言的特点是:(1)执行速度快。

(2)程序短小。

(3)可以直接控制硬件。

(4)可以方便地编译。

(5)辅助计算机工作者掌握计算机体系结构。

(6)程序编制耗时,可读性差。

(7)程序可移植性差。

1.2 把下列十进制数转换成二进制数、八进制数、十六进制数。

① 127 ② 1021 ③ 0.875 ④ 6.25答:① 1111111B;177Q;7FH ② 1111111101;1775Q;3FDH③ 0.111 B;0.7Q;0.EH ④ 110.01B;6.2Q;6.4H1.3 把下列二进制数转换成十进制数。

① 1001.11 ② 101011.10011 ③111.011 ④ 1011.1答:① 9.75D ② 43.59375D ③ 7.375D④ 11.5D1.4 把下列八进制数转换成十进制数。

① 573.06 ② 75.23 ③ 431.7 ④123.45答:① 379.09375D ② 61.296875D ③ 281.875 ④ 83.5781251.5 把下列十六进制数转换成十进制数。

① 0D5.F4 ② 8BA.7C ③ 0B2E.3A ④ 6EC.2D答:① 213.953125D ② 2234.484375 ③ 2862.2265625 ④ 1772.175781251.6 把下列英文单词转换成ASCII编码的字符串。

- 1 -① Upper ② Blow ③Computer ④ What答:① 55H,70H,70H,65H,72H ②53H,6CH,6FH,77H③ 43H,6FH,6DH,70H,75H,74H,65H,72H④ 57H,68H,61H,74H1.7 求下列带符号十进制数的8位基2码补码。

《汇编语言程序设计》教案及答案第二版-2007

《汇编语言程序设计》教案及答案第二版-2007

《汇编语言程序设计》教案附:习题参考答案《IBM-PC汇编语言程序设计》(第2版)沈美明、温冬婵编著教案编写时间:2007年8月18日前言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 章基础知识 (5)1.1进位计数制与不同基数的数之间的转换 (5)1.2二进制数和十六进制数的运算 (6)1.3计算机中数和字符的表示 (7)1.4几种基本的逻辑运算 (7)第 2 章80X86计算机组织 (8)2.180X86微处理器 (8)2.2基于微处理器的计算机系统构成 (8)2.3中央处理机 (9)2.4存储器 (10)2.5外部设备 (11)第 3 章80X86的指令系统和寻址方式 (13)3.180X86的寻址方式 (13)3.2程序占有的空间和执行时间 (15)3.380X86的指令系统 (15)第 4 章汇编语言程序格式 (32)4.1汇编程序功能 (32)4.2伪操作 (32)4.3汇编语言程序格式 (36)4.4汇编语言程序的上机过程 (39)第 5 章循环与分支程序设计 (42)5.1循环程序设计 (42)5.2分支程序设计 (43)5.3如何在实模式下发挥80386及其后继机型的优势 (43)第 6 章子程序结构 (45)6.1子程序的设计方法 (45)6.2子程序的嵌套 (46)6.3子程序举例 (46)第7 章高级汇编语言技术 (48)7.1宏汇编 (48)7.2重复汇编 (49)7.3条件汇编 (50)第8 章输入/输出程序设计 (51)8.1I/O设备的数据传送方式 (51)8.2程序直接控制I/O方式 (52)8.3中断传送方式 (52)第9 章BIOS和DOS中断 (55)9.1键盘I/O (55)9.2显示器I/O (57)9.3打印机I/O (58)9.4串行通信口I/O (59)第10 章图形与发声系统的程序设计 (60)10.1显示方式 (60)10.2视频显示存储器 (60)10.3EGA/VGA图形程序设计 (61)10.4通用发声程序 (62)10.5乐曲程序 (63)第11 章磁盘文件存取技术 (64)11.1磁盘的记录方式 (64)11.2文件代号式磁盘存取 (65)11.3字符设备的文件代号式I/O (66)11.4BIOS磁盘存取功能 (67)附录:《IBM—PC汇编语言程序设计》习题参考答案 (68)第一章.习题 (68)第二章.习题 (69)第三章.习题 (70)第四章.习题 (83)第五章.习题 (88)第六章.习题 (107)第七章.习题 (120)第八章.习题 (126)第九章.习题 (131)第十章.习题 (134)第十一章.习题 (145)第 1 章 基础知识【教学目的】本章内容是本课程的基础,通过本章学习,使学生明确汇编语言程序设计的学科性质、基本内容和学习意义,掌握数制的转换、数据的编码,了解本门课程的教学要求和学习方法。

第三章8088汇编语言程序设计微机原理第2版课后答案

第三章8088汇编语言程序设计微机原理第2版课后答案

第三章8088汇编语⾔程序设计微机原理第2版课后答案第三章 8088汇编语⾔程序设计本章的主要内容是汇编语⾔语句⾏的构成,源程序的结构,汇编语⾔程序设计⽅法。

3.1 重点与难点本章的学习重点是结构化程序设计思想,顺序、分⽀、循环结构的程序设计,⼦程序结构的设计与调⽤,中断指令的应⽤。

另外,汇编语⾔伪指令的使⽤、源程序的结构等也是必须掌握的。

3.1.1 汇编语⾔语句⾏的构成1.标记(1)标识符:由数字、字母和下划线组成,且不能以数字开头,最⼤长度不超过31个字符。

(2)保留字:汇编语⾔中保留下来的具有特殊⽤途的字串,如指令、伪指令、寄存器名等都是保留字。

保留字不可⽤作标识符。

(3)界符:程序或指令中两个部分的分隔符号。

汇编语⾔源程序中可⽤的界符:′〈〉;,:? $ () + - = &[] * / ·(4)常量:数字常量,可以使⽤不同的进制D、B、H、Q;字符串常量,由引号引起来的字符串,相当给出字符所对应的ASCII码串。

2.符号及其属性(1)寄存器:8086/8088 CPU的寄存器可以作为指令的操作数。

(2)变量:即内存单元的符号地址。

变量不能与保留字、段名重名。

它有三个属性:段属性,指变量所在段的段地址;偏移量,指变量所在段的起始地址到变量地址之间的字节数,即偏移(有效、逻辑)地址。

类型,指指变量具有的字节数,包括BYTE、WORD、DWORD、QWORD和TBYTE等。

(3)标号:即代码段中某条指令的符号地址,由编程者根据需要确定的。

标号不能与保留字重名,可使⽤字母、数字及下划线,但不允许⽤数字开头,字符个数不超过31个。

标号作为符号地址也有三个属性:段、偏移量和类型(NEAR、FAR)。

3.表达式表达式是作为语句的⼀个操作数,在汇编时⼀个表达式得到⼀个值。

(1)操作数数据——常数、符号常量;存储单元地址——常⽤符号地址表⽰。

(2)运算符算术运算符:+、-、*、/、MOD。

对地址的运算仅有+(加)、-(减)运算符。

《汇编语言》第二版习题答案(全)

《汇编语言》第二版习题答案(全)

教材:《汇编语言》检测点1.1(1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13位。

(2)1KB的存储器有 1024 个存储单元,存储单元的编号从 0 到 1023 。

(3)1KB的存储器可以存储 8192(2^13)个bit, 1024个Byte。

(4)1GB是 1073741824 (2^30)个Byte、1MB是 1048576(2^20)个Byte、1KB是 1024(2^10)个Byte。

(5)8080、8088、80296、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为: 64 (KB)、 1 (MB)、 16 (MB)、 4 (GB)。

(6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。

则它们一次可以传送的数据为: 1 (B)、 1 (B)、 2 (B)、 2 (B)、 4 (B)。

(7)从内存中读取1024字节的数据,8086至少要读 512 次,80386至少要读 256 次。

(8)在存储器中,数据和程序以二进制形式存放。

解题过程:(1)1KB=1024B,8KB=1024B*8=2^N,N=13。

(2)存储器的容量是以字节为最小单位来计算的,1KB=1024B。

(3)8Bit=1Byte,1024Byte=1KB(1KB=1024B=1024B*8Bit)。

(4)1GB=1073741824B(即2^30)1MB=1048576B(即2^20)1KB=1024B(即2^10)。

(5)一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。

这样的CPU最多可以寻找2的N 次方个内存单元。

(一个内存单元=1Byte)。

(6)8根数据总线一次可以传送8位二进制数据(即一个字节)。

(7)8086的数据总线宽度为16根(即一次传送的数据为2B)1024B/2B=512,同理1024B/4B=256。

IBM-PC汇编语言程序设计课后习题答案第二版doc

IBM-PC汇编语言程序设计课后习题答案第二版doc

第一章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+01001100B=11110111B=0F7H;CF=0;OF=01.6 下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8 (2) FF答:(1) D8H表示的带符号数为 -40,D8H表示的无符号数为216;(2) FFH表示的带符号数为 -1, FFH表示的无符号数为255。

第二版 16/32位微机原理、汇编语言及接口技术-课后习题答案

第二版 16/32位微机原理、汇编语言及接口技术-课后习题答案

微机原理第一章1.1 解:五代,详细见书1.2 解:微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心,所构造出的计算机系统。

PC机:PC(Personal Computer)机就是面向个人单独使用的一类微机。

单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等。

数字信号处理器DSP:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用1.3 解:微机主要有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部分功能如下:CPU:统一协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O设备:实现微机的输入输出功能I/O接口:I/O设备与CPU的桥梁操作系统:管理系统所有的软硬件资源1.4 解:系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换。

好处:组态灵活、扩展方便三组信号线:数据总线、地址总线和控制总线。

其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。

1.5解:(1)用于数值计算、数据处理及信息管理方向。

采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。

(2)用于过程控制及嵌人应用方向。

采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。

1.6 解:1.7 解:I/O通道:位于CPU和设备控制器之间,其目的是承担一些原来由CPU处理的I/O任务,从而把CPU从繁杂的I/O任务中解脱出来。

汇编语言程序设计(第二版)课后习题答案

汇编语言程序设计(第二版)课后习题答案

汇编语言程序设计(第二版)课后习题答案第二章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寄存器的内容。

汇编语言参考答案.pdf

汇编语言参考答案.pdf

汇编参考答案注:题目旁的数字为课本页码1.处理器的性能指标。

1处理器的性能用字长、时钟频率、集成度等基本的技术参数来衡量。

字长:表明处理器每个时间单位可以处理的二进制数据位数,如一次运算、传输的位数。

时钟频率表明处理器的处理速度,反映了处理器的基本时间单位。

集成度表明处理器的生产工艺水平,通常用芯片上集成的晶体管数量来表达。

2.冯诺依曼的基本思想。

10(1)采用二进制形式表示数据和指令,指令有操作码和地址码组成(2)将程序和数据存放在存储器中,计算机在工作时从存储器取出指令加以执行,自动完成计算任务。

(3)指令的执行时顺序的,即一般按照指令在存储器中的存放的顺序执行,程序分支由转移指令实现。

(4)计算机有存储器运算器,控制器。

输入设备和输出设备五大基本部件组成,并规定了5部分的基本功能。

3.有三种系统总线是哪些13或154地址总线、数据总线、控制总线4.计算机系统的层次结构17184(1)第0层数字电路层(2)第1层控制层(3)第2层机器语言层(4)第3层操作系统层(5)第4层汇编语言层(6)第5层高级语言层(7)第6层用户层5.软件与硬件的等价性原理19软件与硬件的等价性原理是指软硬件在逻辑功能上的等价,并不意味着性能和成本的等价。

6.区别如下概念:助记符,汇编语言,汇编语言程序和汇编程序助记符:帮助记忆指令的符号,反应指令的功能。

处理器指令助记符可以是任何一条处理器指令,表示一种处理器操作。

44汇编语言:为了便于理解与记忆,将机器指令用助记符代替形成的一种语言18汇编语言程序:用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。

汇编程序:汇编语言程序翻译成机器语言的过程称为汇编,完成汇编工作的程序就是汇编程序(Assembler)。

187.移位指令SHL SAL SHR SAR ROL ROR RCR93SHL(Shift Left):逻辑左移SHR(Shift Right):逻辑右移SAL(Shift Arithmetic Left):算术左移SAR:算术右移ROL(Rotate Left):循环左移ROR(Rotate Right):循环右移RCR(Rotate through Carry Right):带进位循环右移8.什么是存储器芯片的全译码和部分译码?各有什么特点194全译码:使用全部系统地址总线进行译码。

16。32位微机原理、汇编语言及接口技术(第二版)第三章课后习题答案。

16。32位微机原理、汇编语言及接口技术(第二版)第三章课后习题答案。

>第3章3.1:汇编语言有什么特点解:汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数,可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序3.2编写汇编语言源程序时,一般的组成原则是什么?解:(1)完整的汇编语言源程序由段组成(2)一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列(3)需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点(4)所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内(5)通常,程序还需要一个堆栈段3.3 MODEL伪指令是简化段定义源程序格式中必不可少的语句,它设计了哪7种存储模式?各用于创建什么性质的程序?解:3.4如何规定一个程序执行的开始位置,主程序执行结束应该如何返回DOS,源程序在何处停止汇编过程?解:开始位置:用标号指明返回DOS:利用DOS功能调用的4CH子功能来实现汇编停止:执行到一条END伪指令时,停止汇编3.5逻辑段具有哪些属性?解:段定位、段组合和段类型。

3.6给出采用一个源程序格式书写的例题3.1源程序例题3.1:创建一个在屏幕上显示一段信息的程序……解:stack segment stackdb 1024(0)stack endsdata segmentstring db 'Hello,Assembly!',0dH,0aH,‘$’data endscode segment 'code'assume cs:code,ds:data,ss:stackstart: mov dx,offset stringmov ah,9int 21hcode endsend start3.7DOS支持哪两种可执行程序结构,编写这两种程序时需要注意什么?解:(1). EXE程序程序可以有多个代码段和多个数据段,程序长度可以超过64KB通常生成EXE结构的可执行程序(2). COM程序只有一个逻辑段,程序长度不超过64KB需要满足一定条件才能生成COM结构的可执行程序(MASM 6.x需要采用TINY模式)3.8举例说明等价“EUQ”伪指令和等号“=”伪指令的用途解:符号定义伪指令有“等价EQU”和“等号=”:符号名 EQU 数值表达式符号名 EQU <字符串>符号名=数值表达式EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值。

汇编语言程序设计(第二版)第2章

汇编语言程序设计(第二版)第2章

通过内部总线送来,运算结果一方面通过内部总线送到某个
寄存器或者送往片外,另一方面运算结果的特征还送往标志 寄存器。
第2章 微型计算机的内部结构
具体地说,8086/8088的运算器可以完成以下操作:
(1) 加减法。两个字节型数据相加减,或者两个字型数据 相加减,计算结果的类型与操作数类型相同。
(2) 乘法。两个字节型数据相乘,得到字型的乘积;或者 两个字型数据相乘,得到双字型的乘积。
第2章 微型计算机的内部结构
2.内部控制系统 这是CPU中控制器的一部分。计算机的任何动作都是在一 定的信号控制之下完成的,CPU内部控制系统就担负着产生有 关运算器、通用寄存器组、标志寄存器等内部部件的控制信号
的任务,并且还要保证这些信号保持足够长的有效时间,以及
安排信号在时间上的先后关系。内部控制系统总是根据当前指 令去产生相应的控制信号。
第2章 微型计算机的内部结构
2.控制标志位
(1) TF——单步中断允许标志,又称跟踪标志。表示系统 当前是否允许单步中断。 (2) IF——外中断屏蔽标志。表示系统当前是否允许可屏 蔽外中断。
(3) DF——方向标志。表示串操作按增量方向还是按减量 方向进行。
这三个标志位与8086/8088的运行状态密切相关,TF和IF 涉及中断系统,将在第8章中介绍,DF影响串操作指令的执行 方式,将在第7章中加以说明。
第2章 微型计算机的内部结构
2.2.2 通用寄存器组 寄存器是CPU内部临时存放数据的部件,它的存取速度比
内存更快,可以把数据通过内部总线送往运算器进行运算,或
者接收来自运算器的结果。充分利用CPU的内部寄存器可以加 快程序的执行速度。8086/8088有8个16位的字型通用寄存器, 各个寄存器都有自己特定的功能,特定的指令可以使用这些功 能,而不执行特定指令时,这些寄存器都可以用来临时存放数

汇编语言第二版答案

汇编语言第二版答案

检测点1.1(第8页)----------------------(1) 13(2) 1024,0,1023(3) 8192,1024(4) 2^30,2^20,2^10(5) 64,1,16,4(6) 1,1,2,2,4(7) 512,256(8) 二进制注意:1.第4题中的符号'^'指求幂运算(如: 2^30指2的30次方)(1)写出每条汇编指令执行后相关寄存器中的值。

第一空:F4A3H第二空:31A3H第三空:3123H第四空:6246H第五空:826CH第六空:6246H第七空:826CH第八空:04D8H第九空:0482H第十空:6C82H第十一空:D882H第十二空:D888H第十三空:D810H第十四空:6246H(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。

解答如下:mov ax,2add ax,axadd ax,axadd ax,ax检测点2.2(第23页)----------------------(1)00010H,1000FH(2)1001H,2000H第2题说明:因为段的起始地址要为16的倍数。

所以当段地址小于1001H或大于2000H时CPU都无法寻到。

检测点2.3(第33页)----------------------答:CPU修改了4次IP的值。

情况如下:第1次:执行完mov ax,bx后第2次:执行完sub ax,ax后第3次:读入jmp ax后第4次:执行完jmp ax后最后IP的值为0实验1 查看CPU和内存,用机器指令和汇编指令编程(第33页)-----------------------------------------------------1.预备知识:Debug的使用<此部分略>2.实验任务(第43页)(1)<此部分略>(2)<此部分略>(3)通过DEBUG中的D命令查看到主板的生产日期[以月、日、年,分隔符为'/'的格式]存储在内存ffff:0005~ffff:000C(共8个字节单元中)处。

《汇编语言 微机原理及接口技术》(第2版)课后习题答案

《汇编语言 微机原理及接口技术》(第2版)课后习题答案

《汇编语言微机原理及接口技术》(第2版)课后习题答案第1章进制及码元1.进制转换129= 81H= 10000001B=201Q 298= 12AH= 100101010B=452Q 1000= 3E8H= 1111101000B= 1750Q 5DH= 1011101 B= 135 Q= 93 D 3E8H= 1111101000 B= 1750Q= 1000 D 357Q=11101111 B= 0EF H= 239 D 3.数据表示范围:一字节的无符号数表示范围为0~255,有符号数(补码)表示范围为-l28—+127。

一个字的无符号数表示范围为0~65535,有符号数(补码)表示范围为—32768~+32767。

N位二进制数的无符号数表示范围为0~(2N-1),有符号数(补码)表示范围为-2N-1~(2N-1-1). 4.35H代表的ASCII字符为’5’,代表十六进制数时等价的十进制值为53 ,代表压缩8421BCD码等价的十进制值为35 ,代表非压缩8421BCD码等价的十进制值为5。

5.FFH代表无符号数时等价的十进制值为255 ,代表补码有符号数时等价的十进制值为一1 ,代表反码有符号数时等价的十进制值为一0 ,代表原码有符号数时等价的十进制值为一l27。

6.--20的8位二进制补码为ECH ,原码为94H ,反码为EBH 。

158的16位二进制补码为009EH,原码为009EH ,反码为009EH 。

第2章微机硬件基础1.计算机系统硬件的五大功能部件及其主要功能? 答:硬件系统按功能模块分为运算器、控制器、存储器、输入设备、输出设备。

运算器主要完成算术运算、逻辑运算及移位运算,其中主要包括算术逻辑运算单元Arithmetic Logic Unit,ALU)和暂存数据(原始、中间、结果)的寄存器(Register,R)。

控制器实现对计算机部件的协调调度完成指令的分析执行,其中主要有程序计数器Program Counter,PC)或叫指令指针(Instruction Pointer,IP)、指令寄存器(Instruction register,IR)、指令译码器(Instruction Decoder,ID)、微操作命令发生器、时序发生器等。

《汇编语言程序设计》李敬兆 知识点总结

《汇编语言程序设计》李敬兆 知识点总结

简答题1、定义子程序时如何确定其属性?(1)子程序和主程序在同一个代码段中,则子程序定义为NEAR属性。

(2)子程序和主程序不在同一个代码段中,则子程序定义为FAR属性。

(3)主程序通常定义为FAR属性,这是因为主程序被看作DOS调用的一个子程序,以便执行完返回DOS。

2、伪指令语句与指令语句的区别是什么?(1)指令语句:这类指令能够产生目标代码,是CPU可以执行的能够完成特定功能的语句,主要由机器指令组成。

在汇编时一条指令语句被翻译成对应的机器码,对应着特定的操作。

(2)伪指令语句:伪指令语句是为汇编程序和连接程序提供一些必要控制的管理性语句,它不产生目标代码,仅仅在汇编过程中告诉汇编程序如何汇编,并完成相应伪操作。

3、子程序的参数传递有那几种方式及其各自的优缺点?(1)寄存器传递参数:把参数存放在约定的寄存器中。

优点:数据传递书读快、编程较方便、节省内存单元。

缺点:当传递参数过多时候,由于寄存器个数有限,及寄存器的频繁使用,将导致寄存器不足。

适用:参数较少的子程序(2)存储单元传递参数:这种方法是使用存储单元传递参数的,即主程序在存储单元建立一个参数表,存放子程序所需要的参数,在主程序中将该参数表首地址传送给子程序,子程序通过参数表去的所需参数,并把结果也存放到指定存储单元中。

优点:不占用寄存器、参数个数任意、每个子程序要处理的数据和送出的结构都有独立的存储单元。

缺点:但用一定数量的存储单元,增加编程中对变量定义的难度。

(3)堆栈传递参数:用堆栈传递入口参数时,要在调用子程序前把有关参数依次压栈,子程序从堆栈中取得入口参数;用堆栈传递出口参数时,要在子程序返回前,把有关参数依次压栈,主程序就可以从堆栈中取到出口参数。

优点:参数不占用寄存器,和存储单元。

参数存放在公共堆栈区,处理完后客恢复。

参数个数一般不限。

缺点:由于参数和子程序混杂在一起,存取参数时候必须小心计算它在堆栈中的位置。

要注意断点的保存和恢复。

(完整版)汇编语言习题详解(全部)(免费)

(完整版)汇编语言习题详解(全部)(免费)

《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。

汇编语言程序设计(第二版)课后题答案

汇编语言程序设计(第二版)课后题答案

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.计算机的应用分哪几个方面,请举例说明书中未提到的领域的计算机应用。

科学计算、数据处理、计算机控制、计算机辅助设计、人工智能、企业管理、家用电器、网络应用。

书中未提及的如:远程教育、住宅小区控制、飞行系统控制与管理等。

2.简述计算机的发展过程,请查阅相关资料,列出微机的发展过程。

电子管、晶体管、集成电路、大规模集成电路以IBM为例,微机的发展:4004、8008、8080、8086/8088、80286、80386、80486、Pentium 系列3.计算机的字长是怎么定义的,试举例说明。

计算机能同时处理二进制信息的位宽定义为计算机的字长。

如8086能同时进行16位二进制数据的运算、存储和传输等操作,该机器的字长为16位。

4.汇编语言中的基本数据类型有哪些?数值型数据和非数值型数据。

非数值数据如字符、字符串、逻辑值等。

(1)7BCH=011110111100B=1980D(2)562Q=101110010B=370D(3)90D=01011010B=5AH(4)1110100.111B=164.7Q=74.EH30H~39H 41H~5AH 61H~7AH9.在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值?用相应进制的数值加上进制标记即可。

二进制用B,如10101010B八进制用Q,如437Q。

十进制用D或不用,如54D,或54。

十六进制用H,如27A8H10.完成下列二进制数的加减运算。

(1)10101010 + 11110000 (2)11001100 + 01010100=110011010 =100100000(3)11011010 - 01010010 (4)11101110 - 01001101=10001000 =1010000111.完成下列十六进制数的加减运算。

(1)0FEA9 - 8888=7621H (2)0FFFF - 1234=EDCBH(3)0EAC0 + 0028=EAE8H (4)3ABC + 1678=5134H12.完成下列BCD码的运算。

(完整版)汇编语言试题及答案.

(完整版)汇编语言试题及答案.

一,单项选择题 (每题 1 分,共 20 分1-10CCCCAADACB 11-20.ADBBAADDCC1.指令 JMP FAR PTR DONE属于 ( CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址2.以下表达正确的选项是 (A.对两个无符号数进行比较采纳CMP 指令 ,对两个有符号数比较用CMP S指令B.对两个无符号数进行比较采纳CMPS指令 ,对两个有符号数比较用CM P指令C.对无符号数条件转移采纳JAE/JNB指令 ,对有符号数条件转移用JGE/J NL指令D.对无符号数条件转移采纳JGE/JNL指令 ,对有符号数条件转移用 JAE/J NB 指令3.一个有 128 个字的数据区 ,它的开端地点为 12ABH:00ABH,请给出这个数据区最末一个字单元的物理地点是 (A.12CSBHB.12B6BHC.12C59HD.12BFEH4.在以下指令的表示中 ,不正确的选项是 (A.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL5.在进行二重循环程序设计时,以下描绘正确的选项是 (A.外循环初值应置外循环以外 ;内循环初值应置内循环以外 ,外循环以内B.外循环初值应置外循环以内 ;内循环初值应置内循环以内C.内、外循环初值都应置外循环以外D.内、外循环初值都应置内循环以外,外循环以内6.条件转移指令 JNE的测试条件为 (A.ZF=0B.CF=0C.ZF=1D.CF=17.8086CPU在基址加变址的寻址方式中,变址存放器能够为 (A.BX 或 CXB.CX或 SIC.DX或 SID.SI或 DI8.已知 BX=2000H,SI=1234H,则指令 MOV AX,[BX+SI+2]的源操作在 (中。

A.数据段中偏移量为3236H 的字节B.附带段中偏移量为3234H 的字节C.数据段中偏移量为3234H 的字节D.附带段中偏移量为3236H 的字节9.履行以下程序 :(MOV AX,0MOV AX,0MOV BX,1MOV CX,100A:ADD AX,BXINC BXLOOP AHLT履行后 (BX=(A.99B.100C.101D.10210.上题的程序履行后 (AX=(A.5000B.5050C.5100D.515011.关于以下程序段 :(AGAIN:MOV AL,[SI]MOV ES:[DI],ALINC SIINC DILOOP AGAIN也可用 ______指令达成相同的功能。

汇编语言课后习题及答案 按章节 超全面

汇编语言课后习题及答案 按章节 超全面

`00第一章课外练习题一、单项选择题:1.从键盘输入的字符,在计算机内存储的是它的(A)(A)二进制编码(B)四进制编码(C)八进制编码(D)十六进制编码2.6位无符号二进制数能表示的最大十进制数是(B)。

(A)64 (B)63 (C)32 (D)31 3.十进制数269变换为十六进制数是(C)。

(A)10B (B)10C (C)10D (D)10E 4.8位的微型计算机系统是以16位来表示地址,则该微机系统有(C)个地址空间。

(A)255 (B)65535 (C)65536 (D)1048576 5.8位有符号二进制数能表示的最大十进制数是(D)。

(A)256 (B)255 (C)128 (D)127 6.十六进制数88H,可表示成下面几种形式,请找出错误的表示(D)。

(A)无符号十进制数136 (B)带符号十进制数-120(C)压缩型BCD十进制数88 (D)8位二进制数-8的补码表示7.有一个数值152,它与十六进制数6A相等,那么该数值是(B)。

(A)二进制数(B)八进制数(C)十进制数(D)四进制数8.7位ASCII总共可表示(C)个符号。

(A)256 (B)127 (C)128 (D)255 9.4B的字长是(C)。

(A)8位(B)16位(C)32位(D)64位二、判断题(判断每题正误,对的在题后括号内划“√”,错的划“×”)1.字节通常用英文单词“Bit”来表示(×)。

2.目前广泛使用的Pentium计算机其字长为5个字节(×)。

3.存储器中将8个相邻的二进制位作为一个单位,这种单位称为字节(√)。

4.微型计算机的字长并不一定是字节的整数倍(×)。

三、填空题1.8位有/无符号整数的表示范围写成16进制形式为(80~~7F)/(00~~FF)。

2.己知:计算机中有一个“01100001”编码,如果把它看作是无符号数,它是十进制什么数(97);如果认为它是BCD,则表示(01100001)BCD;认为它是某个ASCII,则代表(a)字符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言习题解答李敬兆第二版8086/8088和基于ARM核汇编语言程序设计第1章汇编语言基础知识习题解答1.1 什么是汇编语言?汇编语言的特点是什么?答:为了克服机器语言难以记忆、表达和阅读的缺点,人们采用具有一定含义的符号作为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令(或汇编指令)。

汇编语言是汇编指令集、伪指令集和使用它们规则的统称。

汇编语言的特点是:(1)执行速度快。

(2)程序短小。

(3)可以直接控制硬件。

(4)可以方便地编译。

(5)辅助计算机工作者掌握计算机体系结构。

(6)程序编制耗时,可读性差。

(7)程序可移植性差。

1.2 把下列十进制数转换成二进制数、八进制数、十六进制数。

① 127 ② 1021 ③ 0.875 ④ 6.25答:① 1111111B;177Q;7FH ② 1111111101;1775Q;3FDH③ 0.111 B;0.7Q;0.EH ④ 110.01B;6.2Q;6.4H1.3 把下列二进制数转换成十进制数。

① 1001.11 ② 101011.10011 ③111.011 ④ 1011.1答:① 9.75D ② 43.59375D ③ 7.375D④ 11.5D1.4 把下列八进制数转换成十进制数。

① 573.06 ② 75.23 ③ 431.7 ④123.45答:① 379.09375D ② 61.296875D ③ 281.875 ④ 83.5781251.5 把下列十六进制数转换成十进制数。

① 0D5.F4 ② 8BA.7C ③ 0B2E.3A ④ 6EC.2D答:① 213.953125D ② 2234.484375 ③ 2862.2265625 ④ 1772.175781251.6 把下列英文单词转换成ASCII编码的字符串。

- 1 -① Upper ② Blow ③Computer ④ What答:① 55H,70H,70H,65H,72H ②53H,6CH,6FH,77H③ 43H,6FH,6DH,70H,75H,74H,65H,72H④ 57H,68H,61H,74H1.7 求下列带符号十进制数的8位基2码补码。

① +127 ②−2 ③−128④ +2答:① 01111111B ② 11111110B ③10000000B ④ 00000010B1.8 求下列带符号十进制数的16位基2码补码。

① +628 ②−9 ③−1234 ④+3249答:① 0000001001110100B ② 1111111111110111B③ 1111101100101110B ④ 110010110001B1.9 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。

① 68+(―53)② 68―53 ③ 68―(―53)④(―68)―53答:① 0FH ②0FH ③ 0A1H④87H1.10 汉字在输入、存储、输出过程中所使用的汉字编码是否一样?使用的是什么编码?答:在汉字的输入、存储、输出过程中所使用的汉字编码是不一样的,输入时有输入编码,存储时有汉字机内码,输出时有汉字字形码。

第2章 IBM-PC系统结构习题解答2.1什么是微型计算机?微型计算机主要由哪几部分组成?其主要功能是什么?答:微型计算机是指以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心所构造出的计算机系统。

微型计算机主要由微处理器、存储器、系统总线、I/O接口电路和I/O设备组成。

微处理器用来执行程序指令,完成所有的算术和逻辑运算及全机的控制工作;存储器用来存放程序和数据;系统总线是计算机各功能部件之间进行信息传输的通道;I/O设备是指微型计算机配备的输入输出设备,也称外围设备(简称外设),用来提供具体的输入输出手段。

2.2 8086/8088CPU由哪两部分组成?它们的主要功能是什么?答:8086/8088CPU由总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)两部分组成。

总线接口部件BIU是8086与系统总线的接口,负责CPU与存储器、I/O端口传送数据;执行部件EU负责指令的执行和数据的运算。

2.3 8086/8088CPU有哪些寄存器?各有什么用途? 答:8086/8088内部的寄存器可分为通用寄存器、专用寄存器和段寄存器。

8086/8088有8个16位的通用寄存器,包括4个数据寄存器(AX、BX、CX、DX)、2个变址寄存器(SI和DI)和2个指针寄存器(BP和SP)。

它们均可以用于保存算术逻辑运算中的操作数和运算结果,但每个寄存器又有各自规定的专门用途。

AX 通常称为累加器(Accumulator),用于算术运算、逻辑运算以及与外设传送信息等,它是汇编编程中使用频率最高的一个寄存器。

BX称为基址寄存器(Base Address Register) ,常用来存放存储器地址。

CX称为计数寄存器(Count Register) ,常用来保存计数值。

DX称为数据寄存器(Data Register) ,常用来存放双字长数据的高16位,也用于存放I/O的端口地址。

SI称为源变址(Source Index)寄存器,DI称为目的变址(Destination Index)寄存器,主要用于存储器寻址方式时提供偏移地址。

SI和DI一般与数据段寄存器DS联用,用来确定数据段中某存储单元的地址。

在串操作指令中,还有专用的用法:SI 和数据段寄存器DS联用,DI和附加段寄存器ES联用,分别用来寻址数据段中的源操作数和附加段的目的操作数。

BP称为基址指针(Base Pointer)寄存器,SP称为堆栈指针(Stack Pointer)寄存器,它们主要用于指向堆栈段中的存储单元。

BP与堆栈段寄存器SS联用,用来确定堆栈段中某存储单元的地址,BP主要用于给出堆栈中基地址,用它可直接存取堆栈中的数据;SP与堆栈段寄存器SS联用,用来确定堆栈段中栈顶的地址,SP保存堆栈栈顶的偏移地址,用它只可访问栈顶。

IP(Instruction Pointer)为指令指针寄存器,用来存将要执行的指令在代码段中的偏移地址。

它和代码段寄存器CS一起可以确定下一条的指令的物理地址。

标志寄存器FLAGS也被称为程序状态寄存器PSW,用来存放状态标志和控制标志的寄存器。

- 2 -8086/8088有4个16位段寄存器,分别为代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。

段寄存器是根据内存分段的管理模式而设置的,专门用于存放段地址。

CS(Code Segment Register)称为代码段寄存器,用来存放代码段的段地址;DS(Data Segment Register)称为数据段寄存器,用来存放数据段的段地址;ES(Extra Segment Register)称为附加段寄存器,用来存放附加段的段地址;SS(Stack Segment Register)称为堆栈段寄存器,用来存放堆栈段的段地址。

2.4 8086/8088CPU哪些寄存器可以用来指示存储器地址?BX、SI、DI、BP、SP、IP、CS、DS、ES、SS。

2.5标志寄存器中有哪些状态标志和控制标志?它们每一位所表示的含义是什么?答:标志寄存器中有6个状态标志(CF、PF、AF、ZF、SF、OF)和3个控制标志(TF、IF、DF)。

状态标志用来记录程序运行结果的状态信息,它们是根据有关指令的执行结果由CPU自动设置的,常用作条件转移指令的转移控制条件。

CF(Carry Flag)进位标志,主要用来反映运算是否产生进位或借位,如果运算结果的最高位有效位产生进位或借位时,进位标志置1,即CF=1,否则置0。

PF(Parity Flag)奇偶标志,用于反映运算结果中“1”的个数的奇偶性,当运算结果最低字节中“1”的个数为零或偶数时,PF=1,否则PF=0。

AF(Auxiliary carry Falg)辅助进位标志,记录运算时第3位(低半字节)产生的进位值,辅助进位标志一般在BCD码运算中作为是否进行十进制调整的判断依据。

ZF(Zero Flag)零标志,用来反映运算结果是否为0,运算结果为0时ZF位置1,否则置0。

SF(Sign Flag)符号标志,记录运算结果的符号,它与运算结果的最高位相同,结果为负时置1,否则置0。

OF(Overflow Flag)溢出标志,用于反映有符号数运算结果是否溢出,在运算过程中,如操作数超出了机器能表示的范围,则称为溢出,此时OF 位置1,否则置0。

控制标志用于控制处理器的操作,可根据需要用指令设置。

TF(Trap Flag)追踪标志,也称单步标志,当追踪标志TF为1时,CPU进入单步方式即CPU每执行一条指令后,产生一个单步中断,通常用于程序的调试;当追踪标志TF为0时,处理器正常工作。

IF(Interrupt Flag)中断标志,当IF=1时,CPU可以响应可屏蔽中断请求;当IF=0时,CPU不响应CPU外部的可屏蔽中断发出的中断请求。

DF(Direction Flag)方向标志,用于在串处理指令中控制地址的变化方向,当DF位为1时,每次操作后变址寄存器SI和DI自动减少,串处理从高地址向低地址方向处理;当DF为0时,则使SI和DI自动增加,使串处理从低地址向高地址方向处理。

2.6有两个16位数3A4BH和10EFH分别存放在2000H和2004H存储单元中,请用图表示出它们在存储器里的存放情况。

答:2000H2001H2003H2004H2005HHFH10E AHBH342.7一个存储单元的物理地址、段地址、偏移地址三者之间有何关系?答:20位的物理地址由16位的段地址和16位的段内偏移地址组成。

物理地址PA(Physical Address)的计算方法如下:物理地址PA=段地址×10H+偏移地址2.8在DEBUG程序中,一条指令语句表示为2000:0030 MOV AL,8。

请问:段地址、偏移地址和物理地址分别为多少?存放段地址和偏移地址的寄存器是哪两个?答:段地址:2000H。

偏移地址:0030H。

物理地址:20030H。

存放段地址的寄存器是CS。

存放偏移地址的寄存器是IP。

第3章 8086/8088寻址方式和指令系统习题解答一、填空3.1 指出下列指令源操作数的寻址方式:MOV AX,ARRAY[SI] ; MOV AX,ES:[BX] ; MOV AX,[100] ;MOV AX,[BX+DI] ;MOV AX,BX ; MOV AX,2000H ; MOV AX,ARRAY[BX][SI] ; MOV AX,[DI+20H] ;答:寄存器相对寻址;寄存器间接寻址;直接寻址;基址变址寻址;寄存器寻址;立即数寻址;相对基址变址寻址;寄存器相对寻址。

相关文档
最新文档