微机原理的答案.doc

上传人:夺命阿水 文档编号:7425 上传时间:2022-06-21 格式:DOC 页数:43 大小:219.50KB
返回 下载 相关 举报
微机原理的答案.doc_第1页
第1页 / 共43页
微机原理的答案.doc_第2页
第2页 / 共43页
微机原理的答案.doc_第3页
第3页 / 共43页
微机原理的答案.doc_第4页
第4页 / 共43页
微机原理的答案.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《微机原理的答案.doc》由会员分享,可在线阅读,更多相关《微机原理的答案.doc(43页珍藏版)》请在课桌文档上搜索。

1、-第二章 8086/8088 16位微处理器习题解答1 试说明8086/8088CPU中有哪些存放器?各有哪些用途?答:存放器组有1数据存放器,含AX、BX、CX、DX四个通用存放器,用来暂时存放计算过程中所遇到的操作数,结果和其它信息。2指针及变址存放器,含SP、BP、SI、DI四个十六位存放器,它们可以像存放器一样在运算过程中存放操作数只能以字为单位使用。还用来在段寻址时提供偏移地址。3段存放器,含CS、DS、SS、ES,用来专门存放段地址。4控制存放器,包括IP和PSW两个16为存放器。IP是指令指针存放器,用来存放代码段中的偏移地址。PSW为程序状态字存放器,由条件码标志和控制标志构成

2、。条件码标志用来纪录程序运行结果的状态信息。包括OF、SF、ZF、CF、AF、PF。控制标志位有三个存放器DF、IF、TF组成。2 是说明8086/8088CPU中标志位存放器中各标志位的意义?答:OF溢出标志,在运算过程中,如操作数超出了机器能表示的围那么置1,否那么置0。SF符号标志,运算结果为负时置1,否那么置0。ZF零标志,运算结果为0置1,否那么置0 。CF进位标志,记录运算是最高有效位产生的进位。AF辅助进位标志,记录第三位的进位情况。PF奇偶标志位,用来为机器中传送信息时可能产生的出错情况提供检验条件,当结果操作数中的1的个数为偶时置1。DF方向标志位,在串处理指令中控制处理信息

3、的方向。当DF=1时,每次操作后变址存放器减量,这样就使串处理从高地址向低地址方向处理。IF中断标志,当IF=1时,允许中断,否那么连续中断。TF陷阱标志,用于单步操作方式,当TF为1时,每条指令执行完后产生陷阱,由系统控制计算机。当TF为0时,CPU正常工作不产生陷阱。3哪些操作只能隐含使用某个段存放器,而不能用其它段存放器代替?哪些操作出隐含使用某个段存放器外,还可以使用其它段存放器?答:计算程序的地址隐含使用CS,正在执行的程序隐含使用SS,而数据的地址隐含使用ES和DS。48086/8088系列违纪在存储器中寻找存储单元时,逻辑地址由哪两个局部组成的?答:由段地址和偏移地址两局部构成。

4、5设IBM PC微机存中某个单元的物理地址是12345H,试完成以下不同的逻辑地址表示:(1) 1234H:_H(2) _H:0345H答:11234H:05H (2) 1200H:0345H6假设某程序执行过程中,SS=0950H,(SP)=64H,试问该用户程序的堆栈底部物理地址是多少?答:(SS)*10H+(SP)=09564H7设堆栈段存放器(SS)=0E4BH,程序中设堆栈长度为200H个字节。试计算出堆栈底部字单元物理地址,堆栈指针SP初始值即堆栈中没有数据时和SP初始值指向的物理地址。答:物理地址为:3E4B0H, SP的初始值为200H,指向的物理地址为:3E6B1H.。8设某

5、用户程序SS=0925H,SP=30H,(AX)=1234H,DX=5678H,问堆栈的地址围是多少?如现有两条进展指令: PUSH AXPUSH DS试问两指令执行后,SP=答:寻址围:09250H09280H,SP减4为2CH。98086CPU与 8088CPU由哪些一样之处?又有哪些区别?答:他们构造根本一样,不同之处仅在于8088有8条外部数据总线,因此为准16位。8088有16条外部数据总线,两个CPU的软件完全兼容,程序的编制也完全一样。108086CPU从功能上分为几局部?各局部由什么组成?各局部的功能是什么?答:8086CPU从功能上分外两大局部,一是执行部件EU,二是总线接口

6、部件BIU。执行部件是由以下四局部组成:14个通用存放器AX,BX,CX,DX。24个专用存放器BP,SP,XI,DI。3标志存放器FR。4算术逻辑部件ALU。功能是负责执行所以的指令,向总线接口部件BIU提供指令执行的结果数据和地址,并对通用存放器和标志存放器进展管理。 总线接口部件BIU由以下部件组成:1四个段存放器,代码段存放器,数据段存放器,附加段存放器,堆栈段存放器。2指令指针存放器。3地址加法器。4指令领队列。功能:执行外部总线周期,负责存储器与I/O端口传送数据。也就是负责CPU与存储器和外设之间的信息交换。128086系统中的物理地址是如何的得到的?假设CS=2000H,IP=

7、2100H,其物理地址是多少?答:8086系统的物理地址是将段地址乘10H,加上偏移地址。 2000H*10H+2100H=22100H 物理地址13 什么叫总线周期?一个总线周期包括多少时钟周期,什么情况下要插入TW等待周期?插入多少个TW取决于什么因素?答:CPU把总线接口部件BIU完成一次访问存储器或外设操作所需要的时间称为一个总线周期,它包括了四个时钟周期。 当访问存储器或外设时,存储器或外设不能及时配合CPU传输数据时,存储器或外设通过READY信号在T3之前向CPU发出一个数据未准备好信号,CPU会在T3之前插入一个或多个等待时间周期。当存储器或外设准备好数据,通过READY发准备

8、好信号,CPU承受此信号后,会自动脱离TW状态进入T4状态。因此,插入多少个TW由READY信号决定。14 什么是最大模式?什么是最小模式?用什么方法将8086/8088置于最大模式和最小模式?答:最小模式,即系统中只有一个微处理器,所有的总线控制信号都直接由8086/8088,因此,系统总线控制电路被减到最小。 最大模式,即系统里包括两个或多个微处理器,主处理器就是8086/8088,其它均为协助主处理器工作的协处理器。它主要用于中等规模或大型的8086/8088系统中。 将8086/8088的第33脚接地时,系统处于最大模式,接5V时,为最小模式15 什么是地址锁存器?8086/8088系

9、统中为什么要用地址锁存器?锁存的是什么信息? 答:地址锁存器就是一个暂存器,它根据控制信号的状态,将总线上地址代码暂存起来。8086/8088数据和地址总线采用分时复用操作方法,即用同一总线既传输数据又传输地址。当微处理器与存储器交换信号时,首先由CPU发出存储器地址,同时发出允许锁存信号ALE给锁存器,当锁存器接到该信号后将地址/数据总线上的地址锁存在总线上,随后才能传输数据。16 8086/8088系统中的8286是什么器件?起什么作用? 答:8286为总线驱动器收发器,双向数据缓冲器,当一个系统中所含外设接口较多时,用来增强数据总线的驱动能力。17 8086/8088系统用的时钟发生器产

10、生哪些信号? 答:时钟发生器8284A产生恒定的时钟信号CLK,复位信号RESET,准备就绪信号READY。18 8086/8088的执行部件EU由多少个通用存放器,多少个专用存放器,几个标志存放器和什么组成? 答:执行部件由以下几局部组成:1、四个通用存放器 AX BX CX DX;2、四个专用存放器,即基数指针存放器BP,堆栈指针存放器SP,源变址存放器SI,目的变址存放器DI;3一个标志存放器FR;4算术逻辑部件ALU。19 8086/8088的指令队列长度分别为多少个字节? 答:8086的指针队列为6个字节,8088的指针队列有4个字节。20 8086与8088的16位存放器中,有多少

11、个存放器可拆分为8位存放器使用。它们分别是什么?它们又被统称为什么? 答:在8086与8088的16位存放器中,有四个存放器可拆分为八位存放器使用,它们分别是AX,BX,CX,DX。统称为通用存放器。21 PU从主存取出一条指令并执行该指令的时间称 ,它通常用假设干个 来表示,而后者又包括假设干个 。指令周期 机器周期 时钟周期 答:12322 计算机时钟脉冲的频率称为什么?,其倒数又称为什么? 答:计算机的时钟脉冲频率称为时钟频率,即主频。其倒数为时钟周期。22 计算机主频为8MHz,每个机器周期平均含两个时钟周期,每条指令平均有2.5个机器周期,那么该机器的平均指令执行速度为多少MIPS?

12、答:该机器执行一条指令所用时间为:1/8*10-6*2*2.5=5/8*10-6t;平均指令执行速度为: 1/ (5/8)=1.6MIPS。24 8086/8088的存储器可以寻址1MB的空间,在对I/O进展读写操作时,20位地址中只有哪些位是有效的?这样,I/O地址的寻址空间为多大?答:在对I/O进展读写操作时,20位地址中只有A0A15有效,I/O地址的寻址空间为216B。25 指令队列的作用是什么?答:指令队列存放存中取下的将被执行的下一条或下几条指令,使CPU执行完一条指令就可立即执行下一条,提高CPU的效率。26 8086CPU可访问的存储空间为1MB,实际上分为奇数存储体和偶数存储

13、体两局部,对奇数存储体的选择信号是什么,对偶数存储体的选择信号是什么,对每个存储体单元的选择信号是什么? 答:奇数存储体的选择信号为BHE,偶数存储体的选择信号为A0。对每个存储体存储单元的选择信号是READY。27 8086有两种工作方式,即最小模式和最大模式,它由什么信号决定?最小模式的特点是什么?最大模式的特点是什么? 答:8086的两种工作模式由信号决定。当接入5V时,系统处于最小模式,只有一个微处理器,总线控制逻辑部件被减到最小。当接地时,系统处于最大模式,实现多处理器控制系统,主要应用于大中型系统。28 当=0,=0,=1时,CPU完成的操作是什么? 答:CPU完成一个对I/O设备

14、端口的读操作。29 8088与8086在软件上是否完全兼容? 答:8086/8088部都采用16位字进展操作及存储器寻址。因此两者软件完全兼容。第三章 存储器技术习题解答1 半导体存储器从器件原理的角度可分为哪两种类型?答:半导体存储器从器件原理角度分为ROM和RAM两种。2 磁盘和磁带属于哪种类型的存储器?答:磁盘和磁带同属于外存储器。3 半导体静态RAM和半导体动态RAM分别靠什么原理存储信息?答:静态RAM:用一个触发器电路作为1个Bit的根本存储单元,每个触发器能置位存储1,或复位存储0。 动态RAM:每Bit只需一个管子和一个电容,存放的信息是1还是0,决定于电容中是否储存电荷。4

15、为保证动态RAM中的容不消失,需要进展哪一步操作?答:由于电容有漏放电现象,为保证RAM中的容不消失,必须另外设计一种电路,定时一般为2ms,使电容上泄放的电荷得到补充,即进展存刷新。5 存储器片的地址译码有哪两种方式?答:存储芯片的地址译码有全地址译码和独立译码两种。6 存储器是计算机系统的记忆设备,它主要用来存储哪些东西?答:存储器用来存储地址、数据和程序。7 存储字长和存取周期分别指什么?答:存储字长是指存放在一个存储单元中的二进制代码个数。存取周期是指存储器进展连续读写操作所允许的最短时间间隔。8 和外存相比,存的特点有哪些?答:和外存相比,存的特点是容量小、速度快、本钱高。9 某计算

16、机主存容量为2048KB,这里的2048KB表示多少个字节?答:2048KB表示2048*1024个Byte,即211*210=221个。10 某计算机的主存为3KB,那么存地址存放器需多少位就足够了?答:主存为3KB,那么地址线有12条,所以存地址存放器需12位。11 假设256KB的SRAM具有8条数据线,那么它具有多少条地址线 答:具有18条地址线。12 计算机的存可采用ROM、RAM、磁盘中的哪几种?EPROM指的又是什么?主存和CPU之间增加高速缓存的目的是什么?采用虚拟存储器的目的是什么?答:可采用ROM和RAM。EPROM指可编程并可擦除的ROM,兼有ROM和RAM的功能。由于主

17、存储器的存/取时间比CPU慢一个数量级,从而严重影响了微型机的速度,而RAM线路的读写时间可与CPU的处理速度处于同一个数量级,因此在主存储器和CPU之间增加高速缓冲存储器Cache,以提高机器的速度。虚拟存储器的容量比实际物理上主存储器的容量大,软件可根据需要将所需的存储区域调入物理存储器,也可以提高处理速度。13 某以8088为CPU的微型计算机存RAM区为00000H3FFFFH,假设采用6264、62256、2164或21256各需要多少片芯片答: 采用62648k*8bit需要32片;采用6225632k*8bit需要8片;采用2164 (64k*1bit) 需要32片;采用2125

18、6 (256k*1bit)需要8片。14 利用全地址译码将6264芯片接在8088的系统总线上,其所占地址围为BE000HBFFFFH,试画连接图。解答:采用全地址译码连接图如下:图314 电路图15 试利用6264芯片,在8088系统总线上实现00000H03FFFH的存区域,试画连接电路图。解答:采用全地址译码。图314 电路图16 表达EPROM的编程过程,说明EEPROM的编程过程。答: PROM的编程有两种方式,即标准编程和灵巧编程两种方式。标准编程的过程为:使Vcc为+5v ,Vpp加上+21v 。而后,加上要编程的单元地址,数据线加上要写入的数据,使CE保持低电平,OE为高电平。

19、当上述信号稳定后,在PGM端加上505ms的负脉冲。这样就将一个字节的数据写到了相应的地址单元中。重复上述过程,即可将要写入的数据逐一写入相应的存储单元中。灵巧编程方式要比标准方式快5倍左右。当加上 Vcc= 5v, Vpp=21v 后,对一个写入地址,用1ms编程脉冲进展编程,接着进展校验,如不成功,再加1 ms编程脉冲。最多可进展15次,假设15次仍不能将数据正确写入,那么认为芯片本身已损坏。假设某一单元用X次1 编程脉冲已正确写入,校验到这种情况后,立即对该单元参加4倍 X的编程覆盖脉冲,那么认为该单元编程已完成。重复上述过程,将所有要写入的单元编程。将数据写入EEPROM有两种方式,即

20、字节方式和自动页写入。在对EEPROM编程时,可以在线操作。17 有2片6116,现欲将它们接到8088系统中去,其地址围为40000H到40FFFH,试画连接电路图。利用写入某数据并读出比拟,假设有错,那么在DL中写入01H;假设每个单元均对,那么在DL写入EEH,试编写此检测程序。解答:连接电路图见下一页。18 假设用全地址译码将EPROM 2764(128或256)接在首地址为A0000H的存区,试画出电路图。解答:电路图如下: 图318电路图19 第15题中,假设8088的时钟频率为5MHz,6264芯片的读写时间均200 ns,试粗略估计该芯片能否直接使用。答:8088的时钟频率为5

21、MHZ,那么读写时间为200ns,与6264芯片的读写时间一样,假设该芯片直接使用,容易出错。17 连接电路图如下:图317电路图第四章 指令与寻址方式习题解答1试分别说明以下各指令中源操作数和目的操作数使用的寻址方式:() AND AX,0FFH() AND BL,OFFH() MOV DS,AX() CMP SI,CX() MOV DS:0FFH,CL() SUB BPSI,AH() ADC AX,0ABHBX() OR DX,-35BXDI() PUSH DS() CMC答: 目的操作数 源操作数 1存放器直接寻址 立即数寻址 2存放器直接寻址 直接寻址 3存放器直接寻址 存放器直接寻址

22、4存放器间接寻址 存放器直接寻址5直接寻址 存放器直接寻址6基址变址寻址 存放器直接寻址 7存放器直接寻址 存放器相对寻址 8存放器直接寻址 基址变址相对寻址 9无 存放器直接寻址 (10)隐含寻址2试分别指出以下各指令语句的语法是否有错,如有错,指明是什么错误。() MOV BXBP,AX() TEST BP,BL() ADD SI,ABH() AND DH,DL() CMP CL,1234H() SHR BXDI,3() NOT CX,AX() LEA DS,35SI() INC CX,1() PUSH 45DI答:1应将BP,BX其中之一该为SI或DI 2正确 3ABH改为0ABH 4

23、5是字操作,CL改为CX 6移位数大于1时,应用CL 7NOT指令只有一个操作数 8LEA指令的源操作数应为一存单元地址 9此指令不用指出1 1045改为45H 3下面两条指令执行后,标志存放器中CF,AF,ZF,SF和OF分别是什么状态MOV DL,86ADD DL,0AAH答: 0101,0110 + 1010,1010 = 1,0000,0000 CF=1 AF=1 ZF=1 SF=1 OF=14在8086/8088CPU中可用于作地址指针的存放器有哪些答:有BX,CX,DX,BP,SI,DI IP,SP,5(DS)09lDH,(SS)1E4AH,AX1234H,BX=0024H,CX)

24、5678H,BP0024H,SI=0012H,DI0032H,09226H00F6H,09228H1E40H,1E4F6H091DH。以下各指令或程序段分别执行后的结果如何() MOV CL,20HBXSI() MOV BPDI,CX() LEA BX,20HBXSIMOV AX,2BX() LDS SI,BXDIMOV SI,BX() XCHG CX,32HBXXCHG 20HBXSI,AX答(1) (CX)=56F6H; (2) (09226H)=5678H; (3) (AX)=1E40H; (4) (1E4F6H)=0024H; (5) (09226H)=1234H,(AX)=5678H

25、.6(SS)09l 5H,(DS)0930H,(SI)0A0H,(DI)1C0H,(BX)80H,(BP)470H。现有一指令MOV AX,OPRD,如源操作数的物理地址为095C0H,试用四种不同寻址方式改写此指令(要求上述每个条件至少要使用一次)。答:1MOV AX,BP 2MOV AX,BP+DI+80H 3MOV AX,DI+0100H MOV AX,SI+0220H 4MOV AX,02C0H 7试按以下要求分别编制程序段:() 把标志存放器中符号位SF置1。() 存放器AL中上下四位互换。() 由存放器AX,BX组成一个32位带符号数(AX中存放高十六位),试求这个数的负数。()

26、现有三个字节存储单元A,B,C。在不使用ADD和ADC指令的情况下,实现(A)+(B)=C。() 用一条指令把CX中的整数转变为奇数(如原来已是奇数,那么CX中数据不变,如原来是偶数,那么(CX)+1形成奇数)。答:1MOV AH, 80HSAHF (2 ) MOV BL, 0FH AND BL, AL SAL 4 SHR 4 XOR AL, BL (3 ) MOV DX, 7FH SUB AX, DX MOV DX, 0FFH SUB DX, BX MOV BX, DX (4 ) MOV AH, FFH MOV BL, B SUB AH, BL MOV BH, A SUB BH, AH MO

27、V C, BH (5 ) MOV AX, CX NOT AX TEST 01H JNZ NEXT HLT NEXT: INC CX HLT8试给出以下各指令的机器目标代码:() MOV BL,12HSI() MOV 12HSI,BL() SAL DX,1() ADD 0ABHBPDI,1234H答: (1) 10001010,11011111=8ADF; (2) 10001000,01011100=885C; (3) 11010001,11100010=D1E2; (4) 10000001,10000001=8181.9执行以下指令后: STR1 DW AB STR2 DB 16DUP() T

28、 EQU $-STR1 MOV CX,T MOV AX,STR1 HLT存放器CL的值是多少?存放器AX的值是多少?答:存放器CL的值为12H,存放器AX的值为4241H。10JMP FAR PTR ABCD(ABCD是符号地址)的转移方式是什么?答:JMP FAT PTR ABCD 的转移方式是段间直接转移.11MOV AX,ES:BXSI的源操作数的物理地址是多少用CS、DS、ES、SS、BX、SI表示出即可?答 :MOV AX,ES:BX SI的源操作数的物理地址是ES10H+BX+SI.12运算型指令的寻址和转移型指令的寻址,其不同点在什么地方?答:运算型指令的寻址包括立即数寻址。存放

29、器寻址,直接寻址,存放器间接寻址,存放器相对寻址和基址加变址寻址方式。这些寻址方式中,CS,IP存放器的容不会发生变化。 转移型指令的寻址方式包括段直接寻址,段间接寻址,段间直接寻址,段间间接寻址。在后三种寻址方式中,CS,IP存放器的容发生改变。13如果TABLE为数据段中0032单元的符号名,其中存放的容为1234H,当执行指令MOV AX,TABLE和LEA AX,TABLE后,(AX)中的容分别为多少?答:执行MOV AX , TABLE后AX=1234H执行LEA AX, TABLE 后 AX=0032.14.当指令SUB AX,BX执行后,CF=1,说明最高有效位发生了什么现象?对

30、无符号数来说,操作结果发生了什么现象?答:执行指令SUB AX,BX后,CF=1,说明最高位发生了借位对无符号来说,操作结果发生了溢出。15.在1000H单元中有一条二字节指令JMP SHORT LAB,如果其中的偏移量分别为30H、6CH、0B8H,那么转向地址LAB的值分别为多少?答:转向地址LAB的值分别为:100010H+2H+30H=10032H100010H+2H+6CH=1006EH100010H+2H+B8H=100BAH16下面两个语句的区别在什么地方: X1 EQU 1000H X2=1000H答:EQU和=都可以作为赋值语句,但二者的区别是EQU伪操作中的表达式是不许重复

31、定义的,而=伪操作那么许重复定义。17.调用指令CALL可进展哪四种调用?答:调用指令CALL可进展段直接调用,段间接调用。段间直接调用。段间间接调用。18.(AL)=9AH,(BL)=0BCH,当分别进展以下指令运算后,请写出标志位ZF、PF、CF、SF的容:( P8050)(1) ADD AL,BL(2) SUB AL,BL(3) AND AL,BL(4) OR AL,BL(5) XOR AL,BL答:1ADD AL,BL 1 0 0 1 1 0 1 0+1 0 1 1 1 1 0 01,0 1 0 1 0 1 1 0 ZF=0,PF=1 CF=1 SF=02SUB AL,BL 1 0 0

32、 1 1 0 1 0 1 0 0 1 1 0 1 01 0 1 1 1 1 0 0 +0 1 0 0 0 1 0 0 1 1 0 1 1 1 1 0 ZF=0 PF=1 CF=1 SF=13AND AL,BL 1 0 0 1 1 0 1 0AND1 0 1 1 1 1 0 0 ZF=0 PF=0 CF=0 SF=0 1 0 0 1 1 0 0 0 4OR AL,BL 1 0 0 1 1 0 1 0 OR1 0 1 1 1 1 0 0 ZF=0 PF=1 CF=0 SF=0 1 0 1 1 1 1 1 05XOR AL,BL 1 0 0 1 1 0 1 0XOR1 0 1 1 1 1 0 0 Z

33、F=0 PF=0 CF=0 SF=00 0 1 0 0 1 1 019.假设(SP)=2800H,试用两种方法实现(SP)=27FEH答:方法一:执行一次PUSH指令 PUSH CX方法二:执行一次PUSHF指令20.试简述LES REG,SRC所完成的操作?答:LES REG,SRC 是将SRC和SRC+1中的偏移量送到REG 存放器,而将SRC+2和SRC+3中的段基址送ES段存放器。21.关系操作符EQ、NE、LT、GT、LE、GE计算的结果为逻辑值,试问0FFFFH代表假,0代表真是否正确?答:0FFFFH代表真。0表示结果为假。22.堆栈存取操作是以字节为单位的试分析当堆栈存入数据和

34、从堆栈取出数据时SP的变化?答:当堆栈存入一个字时,SPSP2从堆栈中取出一个字时SPSP+223.试编写汇编程序段完成以下功能:将1000个字符的字符串从存的BUFFER1搬移到存的BUFFER2中去。解答 LEA SI,BUFFER1 LEA DI,BUFFER2 MOV CX,1000 CLDREP MOVSb24.试编写汇编程序段完成以下功能:将数据段中100个字的数据块BLOCK1搬移到同一个数据段的BLOCK2中去。解答: LEA SI,BLOCK1 LEA DI,BLOCK2 MOV CX,100 CLDREP MOVSW25.试编写汇编程序段完成以下功能:比拟DEST和SOUR

35、CE中的500个字节,找出第一个不一样的字节,如果找到,那么将SOURCE中的这个数送AL中。解答: CLD LEA DI,DEST LEA SI,SOURCE MOV CX,500 REPE CMPB JCXZ NEXT DEC SI MOV AL,BYTE PTRSINEXT:HLT26.试编写汇编程序段完成以下功能:求最大值,假设自BLOCK开场的存缓冲区中,有100个带符号的数,希望找到其中最大的一个值,并将它放到MAX单元中。解答:MOV BX,OFFSET BLOCKMOV AX,BXMOV CX,100ADD BX,2F0:CMP AX,BXJGE F1MOV AX,BXF1:A

36、DD BX,2JCXZ NEXTJMP F0MOV MAX,AXNEXT:HLT27.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是多少?解答: 07H 21H 原栈顶20100 存放数据21H的物理地址是200FFH第五章 汇编语言程序设计习题解答1 指出以下指令的错误: (1)MOV AH,BX (2)MOV BX,SI (3)MOV AX,SIDI (4)MOV MYDATBXSI,ES:AX (5)MOV BYTE PTRBX,1000 (6)MOV BX,OFFSET MYDATSI (7)MOV CS,AX

37、答:1MOV AH,BX AH 为八位,BX为16位 2MOV BX,SI 两个操作数不能都是存储单元 3MOV AX,SIDI 一个操作数中不能用两个变址存放器 4MOV MYDAT BXSI,E8:AX ES ES 后应为一个变址存放器,表示偏移量 5MOV BYTE PTRBX,1000 BYTE 说明时BX进展字节操作。 而1000为字 6MOV BX,OFFSET MYDAT SI OFFSET 为取某个地址的偏移量,故后面不应用SI,而应是一个符号地址。 7MOV 是数据寻址,不应用程序段存放器CS.2下面哪些指令是非法的(假设OPl,OP2是已经用DB定义的变量) (1)CMP

38、l5,BX (2)CMP OPl,25 (3)CMP OPl,OP2 (4)CMP AX,OPl答:1 CMP 15,BX 非法,两个操作数不能一个为字,一个为字节 2CMP OP1,25 正确 3CMP OP1,OP2 正确 4CMP AX,OP1非法,两操作数不能一个为字,一个为字节3假设以下指令中的所有标识符均为类型属性为字的变量,请指出以下指令中哪些是非法的它们的错误是什么 (1)MOV BP,AL (2)MOV WORD_OPBX+4*3DI,SP (3)MOV WORD_OPl,WORD_OP2 (4)MOV AX,WORD_OPlDX (5)MOV SAVE_WORD,DS (6

39、)MOV SP,SS:DATA_WORDBXSI (7)MOV BXSI,2(8)MOV AX,WORD_ OPl+WORD_OP2(9)MOV AX,WORD_ OPl-WORD_OP2+100(10)MOV WORD_ OPl,WORD_ OPl-WORD_OP2答:1MOV BP,AL 非法,BP为16位 AL为八位 2MOV WORD_OPBX+4*3DI ,SP 正确3MOV WORD_OP1 ,WORD_OP2 非法,两个操作数不能都是变量4MOV AX , WORD_OP1DX 非法,DX应改为BX,BP,SI或DI,那么为存放器相对寻址。5MOV SAVE_WORD ,DS 非

40、法,未指明数据段地址DS的偏移量6MOV SP,SS:DATA_WORDBXSI 非法,SS与BX,SI不匹配,SS的偏移量用SP7MOV BXSI ,2 正确8 MOV AX,WORD_OP1+WORD_OP2 正确9 MOV AX, WORD_OP1WORD_OP2+100 正确10MOV WORD_OP1,WORD_OP1WORD_OP2 非法4假设VAR1和VAR2为字变量,LAB为标号,试指出以下指令的错误之处: (1)ADD VAR1,VAR2 (2)SUB AL,VAR1 (3)JMP LABSI (4)JNZ VARl(5)JMP NEAR LAB答:1 ADD VAR1,VAR2 ADD指令中,目的操作数必须是存放器或存储单元。 2SUB AL,VAR1 AL为8位的,而VAR为字变量16位 3JMP LAB SI 格式不对,LAB处应为一偏移量,而不是标号。 4JNZ VAR1 JNZ 为非零转移,应转移到某个程序段,故后面应为一个标号。 5JMP NEAR LAB 段直接转移,格式应为 JMP NEAR PTR LAB5画图说明以下语句所分配的存储空间及初始化的数据值。BYTE-VAR DB BYTE,12,-12H,3DUP0,?,2DUP1,2,?WOR

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号