80x86微机原理参考答案
《微机原理及应用》教材课后习题参考答案

《80X86/Pentium微型计算机原理及应用》教材课后习题参考答案第三章3-5(1)MOV SI, 2100H 源:立即数;目标:寄存器(2)MOV CX, DISP[BX] 源:基址,EA=BX+DISP,PA=DS×16+BX+DISP;目标:寄存器(3)源:寄存器;目标:寄存器间接寻址EA=SI,PA=DS×16+SI(4)源:基址加变址,EA=BX+SI,PA=DS×16+BX+SI;目标:寄存器(5)源:寄存器;目标:寄存器(6)源:基址,EA=BX+10H,PA= DS×16+BX+10H;目标:寄存器(7)源:寄存器间接,EA=BX,PA= ES×16+BX;目标:寄存器(8)源:带位移量的基址加变址,EA=BX+SI+20H,PA= DS×16+BX+SI+20H;目标:寄存器(9)源:寄存器;目标:寄存器间接,EA=BP,PA= SS×16+BP(10)源:寄存器;目标:存储器,EA=SP-2,PA= SS×16+SP-23-7(1)源操作数错,基址+基址不能用在存储器寻址方式中,只能基址+变量,改成MOV AX, [BX+SI](2)错,V ALUE1和V ALUE2一般为自己定义的变量名称,则此两操作数的组合形式为存储器和存储器,ADD指令无此组合形式(3)错,立即数不能直接传给段寄存器(4)错,CS不能作为目标操作数(5)错,立即数不能作为目标操作数,两个操作数互换位置即可(6)如果V ALUE1是用DW定义的WORD型变量,则此题正确,否则错误(7)错,段寄存器不能直接传给段寄存器(8)错,移位次数超过1时,应该先将移位次数送给CL,改成MOV CL, 3; ROL [BX][DI],CL(9)错,NOT操作符只有一个操作数(10)对,CS不能作为目标操作数,但可以作为源操作数(11)错,不能直接将立即数压入堆栈(12)错,两处错误,1:IN指令应该AL在前,端口地址在后;2:端口地址100H超过8位数能表示的范围,应该先将100H送给DX,改成MOV DX, 100H; IN AL, DX(13)错,LEA指令的第二操作数必需为存储器寻址方式(14)错,CX不能作为寄存器间接寻址方式,应将CX改成BX/BP/SI/DI之一3-8(1)AX=3355H, SP=1FFEH(2)AX=3355H, DX=4466H, SP=1FFCH3-9 BX=4154H, [2F246H]=6F30H3-10 BX=139EH3-11 SI=0180H, DS=2000H3-12(1) CL=F6H(2) [1E4F6H]=5678H(3) BX=9226H, AX=1E40H(4) SI=9226H, [SI]=[1E4F6]=0024H(5) AX=5678H, [09226H]=1234H3-13 AF=0, CF=1, OF=1, SF=0, ZF=03-14(1) MOV AX, 0 XOR AX, AX SUB AX, AX(2) MOV CL, 4ROL BL,CL (或ROR BL, CL)(3) 题中没规定N1和N2是8位还是16位数,现假定都8位数(也可假定是16位数,程序不一样)MOV AH, 0MOV AL, N1IDIV N2MOV M1, ALMOV M2, AH(4) 题目的意思即使BX的b4,b6,b11位清零AND BX, 0F7AFH(5) XOR AX, 4020H(6) TEST DX, 0201H(7) TEST CL, 1JNZ NEXTINC CL (或DEC CL)NEXT:3-15 假设题目的意思理解为编号从1开始(1) LEA BX, BLOCK+(6-1)*2MOV AX, [BX](2) LEA BX, BLOCKMOV AX, 10[BX](3) LEA BX, BLOCKMOV SI, 0MOV AX, 10[BX][SI](4) MOV AX, BLOCK+103-16(1) 结果存在地址是580H端口中,[580H]=60H(2) 结果存在地址是580H端口中,[580H]=8060H(即[580H]=60H, [581H]=80H)(3) 结果存在AL中,AL=[40H]=4FH(4) 结果存在AX中,AL=[40H]=4FH, AH=[41H](题目中没有给出端口41H中的值)(5) 结果存在地址是45H端口中,[45H]=60H(6) 结果存在地址是45H端口中,[45H]=8060H(即[45H]=60H,[46H]=80H)3-17 假定每小题中NUM1和NUM2都是和题中指定的操作数等长,即(1)中NUM1和NUM2为字变量,(2)(3)中为字节变量,(4)中为双字变量(1) MOV AX, NUM2ADD NUM1, AX(2) MOV CX, 4LEA BX, NUM1XOR AL, AL ; AL清零L1: ADD AL, [BX]INC BXLOOP L1MOV RES, AL(3) MOV CX, 8LEA BX, NUM1XOR AX, AXL1: ADD AL, [BX]JNC L2INC AHL2: INC BXLOOP L1MOV AX, WORD PTR RES(4) MOV AX, WORD PTR NUM1ADD WORD PTR NUM2, AXMOV AX, WORD PTR NUM1+1ADC WORD PTR NUM2+1, AX ; (MOV指令不影响CF标志位,否则不能这么写) 3-18(1) MOV CX, 8LEA BX, NUM1XOR AX, AXL1: ADD AL, [BX]DAAJNC L2INC AHL2: INC BXLOOP L1MOV AX, WORD PTR RES(2) MOV AL, NUM1SUB AL, NUM2DASMOV RES, AL差=90H, CF=13-19(1) MOV AL, NUM1MUL NUM2 ; 8位乘8位MOV WORD PTR RES, AX(2) MOV AX, NUM1IMUL NUM2 ;16位乘16位MOV WORD PTR RES, AXMOV WORD PTR RES+2, DX(3)MOV AL, NUM1MOV BL, 46CBWDIV BLMOV WORD PTR RES, AX(4) MOV AX, NUM1CWDIDIV NUM2 (或DIV NUM2)MOV WORD PTR RES, AXMOV WORD PTR RES+2, DX3-20(1)53乘以2MOV AL, 53SHL AL, 1结果106(2) -49乘以2MOV AL, -49 ; -49补码为CFHSHL AL, 1 ;AL=9EH, 真值即为-98结果-98除以2类似3-21(1) BX=009AH(2) BX=15CH(3) BX=8071H(4) BX=10F7H(5) BX=FF1CH3-22(1) DX=[20506]=0006H BX=0004H(2) SP=1FFEH, [SP]=CX=FFFEH(3) CX=BX=0004H(4) AX=8094H, CF=0(5) AL=[20508H]=87H(6) AL=94H+37H+1=CCH, CF=0, AL=32H(7) SI=9(8) DI=9(9) [DI]=[2050A]=AL=94H(10) AX=17C6H, DX=8094H(11) AH=84H, BL=4(12) IP=DX=17C6H3-23(1) 将存储器中以FIRST为起始地址连续10个字节复制到以SECOND为起始地址的地方(2) 将存储器中数据段中以偏移地址0404H为起始地址,连续80H个字节的空间清零3-24MOV BX, 5MUL BXMOV BX, 2DIV BX3-26 MOV BX, 0A80HMOV AL, 5XLAT3-27(1) IP=1256(2) IP=3280H(3) IP=2450H3-28 IP=009A, CS=2000, [SP]=8F, [SP+1]=3DH, [SP+2]=50H, [SP+3]=40H3-29CMP AL, 1JNZ LAB1CMP AL, 2JNZ LAB2CMP AL,4JNZ LAB3最后一个条件(若位0至位2都是0,则顺序执行),相当于没有,因为不管符不符合这个条件,程序都会按顺序执行。
微机原理课后习题参考答案

微机原理课后习题参考答案第1部分微型计算机基础知识1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?【解】微处理器:指计算机内部对数据进行处理并对处理过程进行控制的部件,伴随着大规模集成电路技术的迅速发展,芯片集成密度越来越高,CPU可以集成在一个半导体芯片上,这种具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。
微型计算机:简称“微型机”、“微机”,也称“微电脑”。
由大规模集成电路组成的、体积较小的电子计算机。
由微处理机(核心)、存储片、输入和输出片、系统总线等组成。
特点是体积小、灵活性大、价格便宜、使用方便。
微型计算机系统:简称“微机系统”。
由微型计算机、显示器、输入输出设备、电源及控制面板等组成的计算机系统。
配有操作系统、高级语言和多种工具性软件等。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?【解】CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。
1.3 微型计算机采用总线结构有什么优点?【解】①简化了系统结构,便于系统设计制造;②大大减少了连线数目,便于布线,减小体积,提高系统的可靠性;③便于接口设计,所有与总线连接的设备均采用类似的接口;④便于系统的扩充、更新与灵活配置,易于实现系统的模块化;⑤便于设备的软件设计,所有接口的软件就是对不同的口地址进行操作;⑥便于故障诊断和维修,同时也降低了成本。
总线的逻辑电路有些是三态的,即输出电平有三种状态:逻辑“0”,逻辑“1”和“高阻”态。
1.4计算机总线有哪些,分别是什么?【解】总线按其信号线上传输的信息性质可分为三组:①数据总线,一般情况下是双向总线;②地址总线,单向总线,是微处理器或其他主设备发出的地址信号线;③ 控制总线,微处理器与存储器或接口等之间1.5 数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?【解】数据总线(DB)为双向结构,数据在CPU与存储器或I/O 接口之间的传送是双向的,(数据既可以读也可以写),其宽度通常与微处理器的字长相同。
电子科大-微机原理习题解答-chap6

Chapter6习题解答6.2什么是I/O 端口?一般接口电路中有哪些端口?I/O 端口指的是I/O 接口电路中的一些寄存器;一般接口电路中有数据端口、控制端口和状态端口。
6.3 CPU 对I/O 端口的编址方式有哪几种?各有什么特点?80x86对I/O 端口的编址方式属于哪一种? (1)独立编址其特点:系统视端口和存储单元为不同的对象。
(2)统一编址(存储器映像编址总线结构)其特点:将端口看作存储单元,仅以地址范围的不同来区分两者。
80x86对I/O 端口的编址方式属于独立编址方式。
6.4某计算机系统有8个I/O 接口芯片,每个接口芯片占用8个端口地址。
若起始地址为9000H ,8个接口芯片的地址连续分布,用74LS138作为译码器,试画出端口译码电路图,并说明每个芯片的端口地址范围。
A15 A14 … … A7 A66.6 CPU与I/O设备之间的数据传送有哪几种方式?每种工作方式的特点是什么?各适用于什么场合?①无条件控制(同步控制):特点:方式简单,CPU随时可无条件读/写数据,无法保证数据总是有效,适用面窄。
适用于外设数据变化缓慢,操作时间固定,可以被认为始终处于就绪状态。
②条件控制(查询控制):特点:CPU主动,外设被动,执行I/O操作时CPU总要先查询外设状态;若传输条件不满足时,CPU等待直到条件满足。
解决了CPU与外设间的同步问题,可靠性高,但CPU利用率低,低优先级外设可能无法及时得到响应。
适用于CPU不太忙,传送速度不高的场合。
③中断方式:特点:CPU在执行现行程序时为处理一些紧急发出的情况,暂时停止当前程序,转而对该紧急事件进行处理,并在处理完后返回正常程序。
CPU利用率高,外设具有申请CPU中断的主动权,可以实现实时故障处理,实时响应外设的处理,但中断服务需要保护断点(占用存储空间,降低速度)。
适用于CPU的任务较忙,传送速度要求不高的场合,尤其适用实时控制中紧急事件的处理。
(答案)微机原理及应用

(答案)微机原理及应⽤⼀、填空题(每空1分,共30分)1、CPU访问存储器时,在地址总线上送出的地址称为物理地址。
2、80X86系统中,执⾏指令PUSH AX后,SP= SP-2 ;若执⾏指令POP AX后,SP= SP+2 。
3、指令“MOV AX,2000H”源操作数的寻址⽅式为⽴即数 ;指令“MOV AX,[BX+SI+6]”源操作数的寻址⽅式为带偏移量的基础加变址。
4、设(DS)=24EOH,(SS)=2410H,(ES)=2510H,(DI)=0206H,则指令“MOV AX,[DI+100H]”源操作数的有效地址为 0306H ,物理地址为 25106H 。
5、80486可访问两个独⽴的地址空间,⼀个为I/O地址空间,其⼤⼩为 64K 字节。
6、执⾏指令“XOR AX,AX”后,标志位ZF的值为 1 。
7、若(AL)=10011000B,(BL)=01100111B,则执⾏指令“ADD AL,BL”后,(AL)=11111111B;执⾏指令“AND AL,BL”后,(AL)= 0 。
8、可屏蔽中断从CPU的 INTR 引脚进⼊,只有当中断允许标志IF为 1 时,该中断才能得到响应。
9、中断向量表存放在从 00000H ⾄ 003FFH 存储空间中。
10、在实地址⽅式下,中断类型号为20H的中断所对应的中断向量,存放在内存从 00080H 开始的四个连续字节单元中,若这四个字节单元的内容由低地址到⾼地址依次为00H,50H,00H,60H,则中断服务程序的⼊⼝地址 65000H 。
11、80X86的I/O指令中,要寻址的16位的端⼝地址存放在 DX 中。
12、现要⽤6116静态RAM芯⽚构成8K×32位的存储器,此种芯⽚共需16 ⽚。
13、8255A在“⽅式1输出”与外设之间的⼀对"握⼿"信号是 ACK和OBF 。
14、由实地址⽅式上,由逻辑地址获得物理地址的计算公式为:物理地址= 段基址×16+偏移地址。
微机原理第4章练习题及答案

微机原理第4章练习题及答案第4章 80x86指令系统一、自测练习题㈠选择题 1.MOV AX,[BX+SI]的源操作数的物理地址是( )。
A.(DS)×16+(BX)+(SI) B. (ES)×16+(BX)+(SI) C.(SS)×10H+(BX)+(SI) D.(CS)×10H+(BX)+(SI)2.MOV AX,[BP+Sl]的源操作数的物理地址是( )。
A.(DS)×10H+(BP)+(SI) A. (ES)×16+(BP)+(SI) C.(SS)×16+(BP)+(SI) D.(CS)×10H+(BP)+(SI) 3.MOV AX,ES:[BX+SI]的源操作数的物理地址是( )。
A.(DS)×16+(BX)+SI) B.(ES)×10H+(BX)+(SI) C.(SS)×10H+(BX)+SI) D.(CS)×16+(BX)+(SI)4.JMP WORD PTR[DI]是( )。
A.段内间接转移B.段间间接转移C.段内直接转移D.段间直接转移5.JMP FAR PTR BlOCK(BLOCK是符号地址)是( )。
A.段内间接转移B.段间间接转移C..段内直接转移D.段间直接转移6.INC指令不影响( )标志。
A.OF B.CF C.SF D.ZF 7.条件转移指令JNE的测试条件是( )。
A.ZF=1 B.CF=0 C.ZF=0 D.CF=1 8.下列指令中,有语法错误的是( )。
A.MOV [SI],[DI] B.IN AL,DX C.JMP WORD PTR[BX+8] D.PUSH WORD PTR 20[BX+S1] 9.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是。
A.20102H B.20101H C.200FEH D.200FFH 10.对于下列程序段:AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用指令完成同样的功能。
合肥工业大学电气与自动化专业实验中心 80X86微机原理及接口技术实验教程 思考题部分参考答案(5)

硬件实验2.1 静态存储器扩展实验2.4 8255并行接口实验实验四 8253方波实验实验五(2)8259A中断控制器实验2.3 8254定时/计数器应用实验2.1 静态存储器扩展实验2.1.1 实验目的1. 了解存储器扩展的方法和存储器的读/写。
2. 掌握CPU对16位存储器的访问方法。
2.1.2 实验设备PC机一台,TD-PITE实验装臵一套,示波器一台。
2.1.3 实验内容编写实验程序,将0000H~000FH共16个数写入SRAM的从0000H起始的一段空间中,然后通过系统命令查看该存储空间,检测写入数据是否正确。
2.1.4 实验原理存储器是用来存储信息的部件,是计算机的重要组成部分,静态RAM 是由MOS 管组成的触发器电路,每个触发器可以存放1位信息。
只要不掉电,所储存的信息就不会丢失。
因此,静态RAM 工作稳定,不要外加刷新电路,使用方便。
但一般 图2.1 62256引脚图SRAM 的每一个触发器是由6个晶体管组成,SRAM 芯片的集成度不会太高,目前较常用的有6116(2K ×8位),6264(8K ×8位)和62256(32K ×8位)。
本实验平台上选用的是62256,两片组成32K ×16位的形式,共64K 字节。
62256的外部引脚图如图4.1所示。
本系统采用准32位CPU ,具有16位外部数据总线,即D0、D1、…、D15,地址总线为BHE #(#表示该信号低电平有效)、BLE #、A1、A2、…、A20。
存储器分为奇体和偶体,分别由字节允许线BHE #和BLE #选通。
存储器中,从偶地址开始存放的字称为规则字,从奇地址开始存放的字称为非规则字。
处理器访问规则字只需要一个时钟周期,BHE #和BLE #同时有效,从而同时选通存储器奇体和偶体。
处理器访问非规则字却需要两个时钟周期,第一个时钟周期BHE #有效,访问奇字节;第二个时钟周期BLE #有效,访问偶字节。
80x86微机原理参考答案

80x86微机原理参考答案第一章计算机基础(P32)1-1电子管,晶体管,中小规模集成电路、大规模、超大规模集成电路。
1-2把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。
以微处理器为核心,配上由大规模集成电路制作的只读存储器(ROM)、读写存储器(RAM)、输入/输出、接口电路及系统总线等所组成的计算机,称为微型计算机。
微型计算机系统是微型计算机配置相应的系统软件,应用软件及外部设备等.1-3写出下列机器数的真值:(1)01101110 (2)10001101(3)01011001 (4)11001110答案:(1)+110 (2)-13(原码) -114(反码)-115(补码)(3)+89 (4)-78(原码)-49(反码)-50(补码)1-4写出下列二进制数的原码、反码和补码(设字长为8位):(1)+010111 (2)+101011(3)-101000 (4)-111111答案:(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011(3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000(4)[x]原=10111111 [x]反= 11000000 [x]补=110000011-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?(1)00001110 表示原码14,反码14,表示补码为14(2)11111111 表示原码-127,反码-0,表示补码为-1(3)10000000 表示原码-0,反码-127,表示补码为-128(4)10000001 表示原码-1,反码-126,表示补码为-1271-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。
第4章INTEL80X86系列微处理器习题参考答案

第4章 Intel80X86系列微处理器习题解答 4.1 8086/8088内部寄存器有哪些?哪些属于通用寄存器?哪些用于存放段地址?标志寄存器的含义是什么?答:8086/8088内部有14个16位的寄存器。
位的寄存器。
88个通用寄存器AX AX、、BX BX、、CX CX、、DX DX、、SP SP、、BP BP、、SI SI、、DI DI。
4个16位的段寄存器CS CS、、DS DS、、SS SS、、ES ES,用于存放段地址。
标志寄存器,用于存放段地址。
标志寄存器FLAGS 用于存放指令执行结果的特征和CPU 工作方式,其内容通常称为处理器状态字PSW PSW。
4.2 对于8086/8088CPU ,确定以下运算的结果与标志位。
(1)5439H+456AH(2)2345H+5219H (3)54E3H-27A0H (4)3881H+3597H (5)5432H-6543H (6)9876H+1234H略。
4.3 8086/8088为什么要对存储器采用分段管理?一个段最多包含多少存储单元?答:8086/8088内部与地址有关的寄存器都是16位的,只能处理16位地址,对内存的直接寻址范围最大只能达64KB 64KB。
为了实现对。
为了实现对1MB 单元的寻址,单元的寻址,8086/80888086/8088系统采用了存储器分段技术。
一个段最多包含64K 个存储单元。
个存储单元。
4.4 8086/8088CPU 内部共有多少个段?分别称为什么段?段地址存放在哪些寄存器中?答:8086/8088 CPU 内部共有4个段。
分别称为代码段、数据段、堆栈段和附加段。
段地址存放在4个16位的段寄存器,位的段寄存器,CS CS 代码段寄存器、代码段寄存器、DS DS 数据段寄存器、数据段寄存器、SS SS 堆栈段寄存器、堆栈段寄存器、ES ES 附加段寄存器中。
附加段寄存器中。
4.5 简述物理地址、逻辑地址、段基地址和偏移量的含义及其相互关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章计算机基础(P32)1-1电子管,晶体管,中小规模集成电路、大规模、超大规模集成电路。
1-2把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。
以微处理器为核心,配上由大规模集成电路制作的只读存储器(ROM)、读写存储器(RAM)、输入/输出、接口电路及系统总线等所组成的计算机,称为微型计算机。
微型计算机系统是微型计算机配置相应的系统软件,应用软件及外部设备等.1-3写出下列机器数的真值:(1)01101110 (2)10001101(3)01011001 (4)11001110答案:(1)+110 (2)-13(原码) -114(反码)-115(补码)(3)+89 (4)-78(原码)-49(反码)-50(补码)1-4写出下列二进制数的原码、反码和补码(设字长为8位):(1)+010111 (2)+101011(3)-101000 (4)-111111答案:(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011(3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000(4)[x]原=10111111 [x]反= 11000000 [x]补=110000011-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?(1)00001110 表示原码14,反码14,表示补码为14(2)11111111 表示原码-127,反码-0,表示补码为-1(3)10000000 表示原码-0,反码-127,表示补码为-128(4)10000001 表示原码-1,反码-126,表示补码为-1271-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。
(字长8位)(1)[x1+y1]补(2)[x1-y2]补(3)[x2-y2]补(4)[x2+y2]补(5)[x1+2*y2]补(6)[x2+y2/8]补答案:(1)[x1+y1]补=[00010100+00100001]补=[00110101]补=00110101(2)[x1-y2]补=[x1]补+[-y2]补=00010100+00100001=00110101(3)[x2-y2]补=[x2]补+[-y2]补=11101100+00100001=00001101(4)[x2+y2]补=[x2]补+[y2]补=11101100+11011111=11001011(5)[x1+2*y2]补=[x1]补+[2*y2]补=00010100+10111110=11010010(6)[x2+y2/8]补=11101100+[y2/8]补=11101100+11111100=111010001-7 用补码来完成下列运算,并判断有无溢出产生(字长为8位):(1)85+60 (2)-85+60(3)85-60 (4)-85-60答案:(1)[x]补+[y]补=01010101+00111100=10010001 = -111,有溢出(2)[x]补+[y]补=10101011+00111100=11100111 =-25,无溢出(3)[x]补+[y]补= 01010101+11000100=00011001 =25,无溢出(4)[x]补+[y]补=10101011+11000100=01101111 =111,有溢出1-8在微型计算机中存放的两个补码数,试用补码加法完成计算,并判断有无溢出产生。
(1)[x]补+[y]补=01001010+01100001=10101011有溢出(2)[x]补-[y]补=01101100-01010110 = 01101100+10101010=00010110无溢出注:[ X]补-[Y]补=[X]补+[-Y]补[-Y]补的算法:将[Y]补连同符号位一起按位取反加11-9 试将下列各数转换成BCD码:(1)(30)10 (2)(127)10(3)00100010B (4)74H答案:(1)(30)10 = (0011 0000)BCD(2)(127)10 = (0001 0010 0111)BCD(3)00100010B = 34 = (0011 0100)BCD(4)74H = (116)10 = (0001 0001 0110)BCD1-10 下列各数代表什么ASCII字符:(1)41H (2) 72H(3) 65H (4) 20H答案:(1)41H =(0100 0001)2,代表字符A。
(2)72H = (0111 0010)2,代表字符r。
(3)65H = (0110 0101)2,代表字符e。
(4)20H = (32)10 = (0010 0000)2, 代表SP。
1-11 写出下列字符的ASCII码:9,*,=,!,$答案: 9 0011 1001* 0010 1010= 0011 1101! 0010 0001$ 0010 00011-19 地址总线:传递地址信息的总线数据总线:传输数据控制总线:传输控制信号,时序信号和状态信息1-20 指令:人们规定计算机执行特定操作(加、减、乘、除、移位……)的命令。
指令系统:计算机全部指令的集合1-21 试用示意图说明内存储器的结构和读、写操作。
参考课本P22第二章 80X86/Pentium微处理器(P90)2-3 在执行指令期间,EU能直接访问存储器吗?为什么?答:不能,因为CPU由EU和BIU组成,在指令执行期间,EU负责到BIU指令队列去取指令,执行指令,如果需要从存储器取数据,由BIU负责总线操作。
2-7 8086/8088有几位状态位?有几位控制位?其含义分别是什么?答:8086/8088有6位状态位,3位控制位。
状态位:CF进位标志;PF奇偶标志;AF辅助进位标志;ZF零标志;SF符号标志,OF溢出标志。
控制位:IF 允许中断标志;DF方向标志;TF陷阱标志2-9 简述A0与/BHE在8086系统中的作用。
答:8086有16根数据线,可以在一个总线读写周期中,读写一个字数据。
8086CPU 配置的内存分为奇地址和偶地址存储体。
如果要读写一个字数据,需要分别从奇地址和偶地址存储体读写一个字节数据。
由A0=0选通偶地址存储体,一个字节数据送到低八位数据线D0~D7;由/BHE=0选通奇地址存储体,一个字节数据送到高八位数据线D8~D15。
2-15物理地址:存储区域的某一单元地址,地址信息是20位二进制代码. CPU 是以物理地址访问存储器.逻辑地址:编程时采用,由段基址和偏移量组成.8086 CPU中的每个存储元在存储体中的位置都可以使用实际地址和逻辑地址来表示。
同一物理地址可对应多个逻辑地址2-16 段寄存器指示的存储区域的起始地址称为段基址,偏移量是在某段内指定存储单元到段基址的距离。
段基址和偏移量共同组成物理地址,物理地址PA=段基地址×16 + 偏移量2-17 A0000H-AFFFFh2-18 B000H2-19设双字12345678H的起始地址是A001H,试说明这个双字在存储器中如何存放?答:地址为A001H、A002H、A003H、A004H的存储单元分别存放:78H、56H、34H、12H。
存放原则:低地址存放低位数据,依次存放在连续的存储单元中。
2-20已知堆栈段寄存器SS=A000H,堆栈指示器SP=0100H,试将数据1234ABCDH 推入堆栈,画出进栈示意图。
最后栈顶SP=?答: SP=00FCH物理地址 0A00FCH---0A00FFH的内容依次为CD,AB,34,12.注:SP:堆栈栈顶指示器,16位寄存器,存放栈顶的偏移地址。
2-21 试求出下列运算后的各个状态标志,并说明进位标志和溢出标志的区别。
(1)1278H+3469H(2)54E3H-27A0H(3)3881H+3597H(4)01E3H-01E3H解:(1) 0001 0010 0111 1000+ 0011 0100 0110 10010100 0110 1110 0001CF=0 PF=1 AF=1 ZF=0 SF=0 OF=0(2) 0101 0100 1110 0011+ 1101 1000 0110 00001 0010 1101 0100 0011CF=0 PF=0 AF=0 ZF=0 SF=0 OF=0(3) 0011 1000 1000 0001+ 0011 0101 1001 01110110 1110 0001 1000CF=0 PF=1 AF=0 ZF=0 SF=0 OF=0(4) 0000 0001 1110 0011+ 1111 1110 0001 11011 0000 0000 0000 0000CF=0 PF=1 AF=0 ZF=1 SF=0 OF=0注:16位操作数的最低二进制位:b0、最高二进制位:b15AF:看b3是否向b4有进(借)位:辅助进借位对减法运算,若采用补码的加法进行,则CF取反。
2-24 什么是时钟周期,机器周期,总线周期,什么是指令周期?参考课本P55。
第三章 80X86/Pentium指令系统(P135)3-4 (1) 7237H (2) D5B4H (3)637DH3-5寻址方式:(1)MOV SI,2100H (2)MOV CX,DISP[BX](3)MOV [SI],AX (4)ADC AX,[BX][SI](5)AND AX,DX (6)MOV AX,[BX+10H](7)MOV AX,ES:[BX] (8)MOV AX,[BX+SI+20H](9)MOV [BP],CX (10)PUSH DS地址表达式:标号/变量/常量+基址寄存器+变址寄存器[地址表达式]:存储器操作数,以地址表达式的值为偏移地址3-7 (4) (10) (14)正确。
3-8(1)AX=3355H, SP=1FFFEH(2) AX=3355H, DX=4466H, SP=1FFFEH3-9 BX=4154H,[2F246H]=6F30H3-10 BX=139EH3-11 SI= 0180H DS=2000H3-12 (1) CL=0F6H(2) CX=5678h(3)BX=0056H, AX=1E40H(4)SI=00F6H, [SI]=0024H(5)AX=5678H, [09226H]=1234H3-13 (1)不影响(2)AF=0,CF=1 OF=1 SF=0 ZF=03-14 (1)MOV AX,0 XOR AX,AX SUB AX, AX(2)MOV CL,4ROR BL,CL(3)MOV AX,N1MOV BX,N1CWD ;对被除数进行符号扩展IDIV BXMOV M1,AX ;商放在AX中MOV M2,DX ;余数放在DX中(4) AND BX,0F7AFH 或OR 0850H(5) XOR AX 4020H(6) TEST DX,0201H(7) OR CX,13-15 (1)LEA BX,BLOCKMOV BX,BX+10MOV AX,[BX](2)LEA BX ,BLOCKMOV AX,[BX+10](3)LEA BX,BLOCKMOV SI,10MOV AX,[BX+SI](4) MOV AX, [BLOCK+10]3-16 (1)60H输出到端口580H (2)8060H输出到580H 端口(3)将4FH从端口40H读入到AL (4)从端口40H读一个16位的数到AX (5)将60H输出到端口45H (6)将8060H输出到端口45H3-17NUM1 DW 4148H,2816HNUM2 DW 2258H,8452H(1) MOV AX,NUM2ADD NUM1,AXMOV AX,NUM2+2ADD NUM1+2,AX(2) RES DB 2DUP(?)MOV AL,BYTE PTR NUM1ADD AL,BYTE PTR NUM1+1ADD AL,BYTE PTR NUM1+2ADD AL,BYTE PTR NUM1+3MOV RES,AL(3) 假设存放的数据为无符号数MOV SI,OFFSET NUM1XOR AX,AXMOV CX,8LP:ADD AL,[SI]ADC AH,0INC SILOOP LPMOV RES,ALMOV RES+1,AH假设存放的数据为带符号数MOV SI,OFFSET NUM1XOR BX,BXMOV CX,8LP:MOV AL,[SI]CBWADD BX,AXINC SILOOP LPMOV RES,ALMOV RES+1,AH(4) MOV AX,NUM1ADD NUM2,AXMOV AX,NUM1+2ADC NUM2+2,AX3-18(1) XOR AX, AX ;AX清零LEA SI, NUM1MOV CX, 8LOP: ADD AL, [SI]DAAADC AH, 0 ;AF清零INC SILOOP LOPMOV RES, ALMOV RES+1, AH(2)MOV AL, NUM1SUB AL, NUM2DASMOV RES, AL差=90H;CF=13-21(1)BX=9AH (2)BX=61H (3)BX=8071H (4)BX=10F7H (5)BX=0FF1CH3-22(1)DX=0006H BX=0004H(2)SP=1FFFEH [SP]=0FFFEH(3)CX=0004H BX=0004H(4)AX=8094H CF=0(5)MOV AL, [SI](6)AL=0CCH CF=0AL=32H(7)SI=0009H(8)DI=0009H(9)[DI]=94H(10) AX=17C6H DX=8094H(11) AH=84H, BL=04H(12)IP=17C6H3-23(1)将自FIRST开始的存储区中的连续10个字节传送到从SECOND开始的存储区中。