1、3。5 段加偏移寻址机制允许重定位”段加偏移的基本含义是:将段寄存器内容左移4位后与16位偏移地址相加。例:假设CS=FA00H,IP=0300H,这是物理地址为0FA300H。 在微处理器中设置指令队列缓冲器有什么作用8086与8088 CPU中的指令队列有何区别指令队列缓冲器在执行指令的同时,可以从内存中取下面一条或几条指令,取来的指令就依次暂放在指令队列中。 区别:8086指令队列为6个字节,8088为4字节;8086指令队列只要空出2个,而8088只要空出1个指令字节时,BIU便自动执行取指操作,直到填满为止。 8086 CPU的基址寄存器BX和基址指针(或基址指针寄存器)BP有何区别
2、基址指针BP和堆栈指针SP在使用中有何区别基址寄存器BX在查表指令XLAT中存放表的起始地址,而基址指针BP用来存放堆栈地址。 指针寄存器SP和BP都用来指示存储位于当前堆栈段中的数据所在的地址,但SP和BP在使用上有区别。入栈和出栈指令是由SP给出栈顶的偏移地址,故称为堆栈指针寄存器。而BP则是存放位于堆栈段中的一个数据区的基地址的偏移地址,故称为堆栈基址指针寄存器。 段地址和段起始地址相同吗两者是什么关系8086的段起始地址就是段基址吗它是怎样获得的解:不同。为了使8086/8088 CPU能够寻址1MB内存空间,在其内部设计了一组16位的段寄存器,用这些段寄存器的内容作为段地址,再由段寄
3、存器左移4位形成20位的段起始地址。 8086的段起始地址就是段基址。由段寄存器左移4位形成20位的段基址。 微处理器在实模式下操作时,段寄存器的用途是什么为了使8086/8088 CPU能够寻址1MB内存空间,在其内部设计了一组16位段寄存器,用这些段寄存器的内容作为段地址,再由段寄存器左移4位形成20位的段起始地址,它们通常被称为段基址;这样,8086/8088就有可能寻址1MB存储空间并将其分为若干个逻辑段,提供在内存中的重定位功能。 在实模式下,若段寄存器中装入如下数值,试写出每个段的起始地址和结束地址。 (1)1000H (2)1234H (3)E000H (4)AB00H,(1)起
4、始地址:10000H 结束地址:10000H+FFFFH=1FFFFH(2)起始地址:12340H 结束地址:12340H+FFFFH=2233FH(3)起始地址:E0000H 结束地址:E0000H+FFFFH=EFFFFH(4)起始地址:AB000H 结束地址:AB000H+FFFFH=BAFFFH微处理器在实模式下操作,对于下列CS:IP组合,计算出要执行的下条指令的存储器地址。 (1)CS=1000H和IP=2000H (2)CS=2400H和IP=1A00(3)CS=1A00和IP=B000H (4)CS=3456H和IP=ABCDH(1)下条指令地址:10000H+2000H=12
5、000H (2)下条指令地址:24000H+1A00H=25A00H (3)下条指令地址:1A000H+B000H=25000H (4)下条指令地址:34560H+ABCDH=3F12DH ? 8086在使用什么指令时,用哪个存储器保存记数值在使用无条件重复指令REP时,CX寄存器用来保存记数值; 在使用循环控制指令LOOP时,CX寄存器用来保存记数值。 IP寄存器的用途是什么它提供的是什么信息简单地说,IP寄存器指示即将执行的下一条指令的段内偏移地址。一般情况下,CPU每取一个指令字节,IP就自动加1,从而保证程序的顺序运行。程序控制类指令改变IP值,从而改变程序的运行顺序。 8086的进位
6、标志位有哪些运算指令来置位当执行加法、减法、乘法指令、BCD调整指令、移位和循环指令都会影响进位标志,但使CF 置位的运算指令只有NEG指令(STC不算运算指令)。 如果带符号数FFH与01H相加,会产生溢出吗0FFH+01H=0H,所以不会产生溢出。 某个数包含有5个1,它具有什么奇偶性奇偶性为奇,标志PF=0 某个数为全0,它的零标志位为0吗(题目不好)不为0,零标志ZF=1 用什么指令设置哪个标志位,就可以控制微处理器的INTR引脚用STI和CLI指令控制IF标志,就可以控制微处理器的INTR引脚。 微处理器在什么情况下才执行总线周期一个基本的总线周期由几个状态组成在什么情况下需要插入等
7、待状态为了从存储器中取得指令或者与一个存储单元或I/O接口单元传送数据,需要它的总线接口单元执行一个总线周期。一个总线周期由T1、T2、T3和T4这四个状态。由于外设或存储器的速度较慢,不能及时的配合CPU传送数据。这时,外设或存储器就会通过“READY”的信号线在T3状态启动之前向CPU发一个“数据未准备好”信号,表示他们还来不及同CPU之间传送数据,于是,CPU会在T3之后自动插入一个或多个附加的时钟周期TW,这个TW就叫等待状态。 什么叫做非规则字,微处理器对非规则字是怎样操作的、对内存中存放的字数据,其低位字节在奇数地址开始存放,称为非规则存放,存放的字叫非规则字。8086对非规则字必
8、须分两次访问。 8086对1MB的存储空间是如何按高位库和低位库来进行选择和访问的用什么控制信号来实现对两个库的选择8086的1MB存储空间分为两个512KB的存储体,又称存储库,分别叫高位库和低位库,低位库与数据总线D7D0相连,该库中每个单元的地址均为偶数地址,高位库与数据总线D15D8相连,该库中每个单元的地址均为奇数地址。用A0对低位库和用BHE对高位库实现选择控制。 堆栈的深度由哪个寄存器确定为什么说一个堆栈的深度最大为64kB在执行一条入栈或出栈命令时,栈顶地址将如何变化堆栈的深度由堆栈指针SP来确定。 因为存储器中包括堆栈段在内的每一个逻辑段至多可包含64KB长的连续存储单元,所
9、以一个堆栈的深度最大为64KB。 执行PUSH s指令时,先SPSP2,再SS:SPS 执行POP d指令时,先dSS:SP,再SPSP+2 8086/8088CPU对RESET复位信号的复位脉冲宽度有何要求复位后内部寄存器的状态如何RESET复位信号的复位脉冲宽度不得小于4个时钟周期。复位后各个寄存器状态如下:CS=0FFFFH,DS=ES=SS=0,F=0,指令队列清空。 ALE信号起什么作用它在使用时能否被浮空DT/R信号起什么作用它在什么情况下被浮置为高阻状态它是8086/8088提供给地址锁存器8282/8283的控制信号,高电平有效。ALE在使用时不能被浮空。 在使用8286/82
10、87作为数据总线收发器时,DT/R信号用来控制8286/8287的数据传送方向。在DMA方式时,它被置为高阻状态。 8086/8088CPU的哪些引脚采用了时分复用技术哪些引脚具有两种功能地址/数据总线AD15AD0,地址/状态总线A19/S6A16/S3,BHE/S7采用了分时复用技术。 MN/MX、DT/R、M/IO、RQ/GT1、RQ/GT0具有两种功能。 8086/8088CPU的微机系统有哪两种工作方式它们由什么引脚来实现控制这两种工作方式的主要特点和区别如何8086/8088 CPU微机系统有最大和最小两种工作方式。他们由MN/MX引脚实现控制。! MN/MX接电源电压,系统工作于
11、最小方式,即单处理机系统,适合于较小规模的应用。MN/MX接地,系统工作于最大方式,一般包含两个或多个微处理器,这样就要解决主处理器和协处理器之间的协调问题以及对总线的共享控制问题。最大方式和最小方式的主要区别是外加有8288总线控制器。 当8086/8088按最大方式操作时,8288总线控制器主要提供什么功能8086/8088 CPU在最大方式下工作时有哪些专用引脚它们的主要作用是什么通过它对CPU发出的控制信号进行变换和组合,以得到对存储器和I/O端口的读/写信号和对锁存器器8282及对总线收发器8286的控制信号,使总线控制功能更加完善。在最大方式下使用的专用引脚有:(1)QS1、QS0
12、指令队列状态信号输出 这两个信号组合起来提供了本总线周期的前一个时钟周期中指令队列的状态,以便于外部对8086/8088内部指令队列的动作跟踪。(2)LOCK 总线封锁信号输出 当LOCK为低电平时,系统中其他主部件就不能占有总线。(3)RQ/GT1、RQ/GT0总线请求信号输入/总线 这两个信号端可供CPU以外的两个处理器用来发出使用总线的请求信号和接收CPU对总线请求信号的回答信号。(4)S0、S1、S2状态信号,8288根据这三个状态信号和CLK时钟信号组合输出各种总线控制信号。 为什么要研究指令格式8086/8088微处理器有哪些基本的指令格式指令格式是按指令系统的特定规范与要求精心设
13、计的,了解指令格式,对完整的掌握一个成功设计的指令系统是十分必要的。 基本指令格式有:无操作数指令、单操作数指令、双操作数指令 在指令格式中,MOD字段指定了什么信息它和R/M字段确定的有效地址EA的计算方法共有多少种MOD字段给定指令的寻址方式,即规定是存储器或寄存器的寻址类型,并确定在存储器寻址类型时是否有位移量。 它和R/M字段确定的有效地址EA计算方法共有24种 说明某些机器语言指令中的D位和W位是何作用D表示来自/到寄存器的方向。D=1,表示由指令REG字段所确定的某寄存器为目标;D=0,则表示该寄存器为源。 W表示操作数为字或字节处理方式。W=1,表示为字;W=0,则为字节。 假定
14、指令是16位模式指令,如果指令寄存器字段(REG)的信息为001,W字段为0,试问寻址时选择什么寄存器(题目自相矛盾) 16位模式与W字段为0相互矛盾! 某机器语言16位模式指令的R/M=001,MOD=00,试问该指令指定了哪种存储器寻址方式指定了BX+DI存储器寻址方式 何谓寻址方式8086/8088微处理器有哪几种主要的寻址方式寻址方式即寻找操作数的方式。主要的寻址方式有:固定寻址、立即数寻址、寄存器寻址、存储器寻址、串操作指令寻址、I/O端口寻址方式,其中存储器寻址又可分为:基址寻址、变址寻址、基址加变址。此外,程序控制指令还有直接、相对、寄存器间接、存储器间接等寻址方式。 试写出寻址
15、存储器操作时计算有效地址EA的通式。EA=基址值(BX/BP)+变址值(SI/DI)+位移量Disp(0/8/16位) 指出8086/8088下列指令源操作数的寻址方式。(1)MOV AX,1200H (2) MOV BX,1200H(3)MOV BX,SI (4) MOV BX,SI+1200H(5)MOV BX+SI,AL (6) ADD AX,BX+DI+20H(7)MUL BL (8) JMP BX (9)IN AL,DX (10)INC WORD PTRBP+50H (1)立即数寻址 (2)存储器直接寻址 (3)变址寄存器间接寻址 (4)寄存器变址间接寻址 (5)基址加变址寄存器间接
16、寻址 (6)基址加变址间接寻址(7)寄存器寻址 (8)寄存器寻址(9)端口间接寻址 (10)寄存器基址加变址间接寻址 指出8086/8088下列指令中存储器操作数物理地址的计数表达式。 (1)MOV AL,DI (2)MOV AX,BX+SI (3)MOV 8BX+DI,AL (4)ADD AL,ES:BX (5)SUB AX,2400H (6)ADC AX,BX+DI+1200H (7)MOV CX,BP+SI (8)INC BYTP PTRDI(1)PA=DS16+DI (2)PA=DS16+(BX+SI) (3)PA=DS16+(BX+DI+8) (4)PA=ES16+BX (5)PA=
17、DS16+2400H (6)PA=DS16+(BX+DI+1200H)(7)PA=SS16+(BP+SI) (8)PA=DS16+DI 指出8086/8088下列指令的错误何在 (1)MOV SI,IP (2)MOV CS,AX。 (3)MOV BL,SI+2 (4)MOV 60H,AL (5)PUSH 2400H (6) INC BX (7)MUL60H (8)ADD 2400H,2AH (9)MOV BX,DI (10)MOV SI,AL(1)IP不可与内部寄存器之间实现直接数据传送(2)代码段寄存器CS不可与内部寄存器之间实现直接数据传送(3)应是SI+2指示的内存单元的字节内容(4)立
18、即数60H不可做目的操作数(5)PUSH的源操作数只能为寄存器操作数或内存操作数(6)间接寻址存储器数据加1指令要用TYPE PTR类型操作符来标识数据类型¥(7)MUL 指令的源操作数只能为寄存器操作数或内存操作数(8)要用TYPE PTR类型操作符来标识数据类型(9)两者不能同为存储器操作数(10)AL为8位,SI为16位,数据类型不匹配 MOV CS,AX指令会带来什么错误这条指令不存在。如果有的话,将可以直接仅改变代码段的段基址而IP值不变,程序运行顺序发生变化,变到那里去了很难控制。 阅读下列程序段,指出每条指令执行以后有关寄存器的内容是什么 MOV AX,0ABCH ; AX= 0
19、ABCH DEC AX ; AX= 0ABBH AND AX,00FFH ; AX= 00BBH MOV CL,4 ; CL= 4 SAL AL,1 ;AL= 76H,CF=1 MOV CL,AL ;CL= 76H ADD CL,78H ;CL= 0EEH,CF=0 PUSH AX ;AX=0076H POP BX ;BX=0076H执行完后,AX=0076H,CF=0,CL=0EEH 指出RET和IRET两条指令的区别,并说明各用在什么场合RET用于从过程返回,而IRET用于从中断中返回。 说明MOV BX,DATA和MOV BX,0FFSET DATA指令之间的区别。】 MOV BX,DA
20、TA ;DATA是字变量名,指令功能是把DATA变量的内容BXMOV BX,0FFSET DATA ;把DATA变量的段内偏移地址BX3.44给定DS=1100H,BX=0200H,LIST=0250H和SI=0500H。试确定下面各条指令寻址存储器的物理地址。(1)MOV LISTSI,EDX (2)MOV CL,LISTBX+SI(3)MOV CH,BX+SI (4)MOV DL,BX+100 (1)PA=11000+0500+0250=11750H (2)PA=11000+0200+0500+0250=11950H (3)PA=11000+0200+0500=11700H (4)PA=1
21、1000+0200+0100=11300H 假定PC机存储器低地址区有关单元的内容如下所示。 (20H)=3CH,(21H)=00H,(22H)=86H,(23H)=0EH且CS=2000H,IP=0010H,SS=1000H,SP=0100HFLAGS=0240H,这时若执行INT 8指令,试问:(1)程序转向从何处执行(用物理地址回答)(2)栈顶6个存储单元的地址(用逻辑地址回答)及内容分别是什么(1)PA=0E8610H + 003CH = 0E89CH (2)LA=1000:00FAH1000:00FFH 设SP=2000H,AX=3000H,BX=5000H,执行下列片段程序后,问S
22、P=AX=BX= PUSH AX PUSH BXPOP AXSP=1FFEH,AX=5000H,BX=5000H 某程序段为 2000H:304CH ABC:MOV AX,1234H 。307EH JNE ABC 试问代码段中跳转指令的操作数为何值操作数为4CH(7E+2)=0CCH 若AX=5555H,BX=FF00H,试问在下列程序段执行后,AX=BX=CF= AND AX,BX ;AX=5500H XOR AX,AX ;AX=0000H NOT BXAX=0000H,BX=00FFH,CF=03.49若CS=E000H,说明代码段可寻址物理存储地址空间的范围。代码段可寻址物理存储地址空间
23、的范围是:E0000HEFFFFH,共64KB的空间。3.50若DS=3000H,BX=2000H,SI=0100H,ES=4000H,计算出下述各条指令中存储器操作数的物理地址。(1)MOV BX,AH (2) ADD AL,BX+SI+1000H(3)MOV AL,BX+SI (4)SUB AL,ES:(1)PA=30000+2000=32000H (2)PA=30000+2000+0100+1000=33100H (3)PA=30000+2000+0100=32100H (4)PA=40000+2000=42000H3.51试比较SUB AL,09H与CMP AL,09H这两条指令的异同
24、,若AL=08H,分别执行下述两条指令后,SF=CF=OF=ZF=在SUB指令中,将AL 09H的值赋给AL,而CMP指令只影响标志,不保存结果。 SUB AL,09H ;SF=1,CF=1,OF=0,ZF=0,AL=FF CMP AL,09 ;SF=1,CF=1,OF=0,ZF=0,AL=083.52选用最少的指令,实现下述要求的功能。(1)AH的高4位清零(2)AL的高4位取反 (3)AL的高4位移到低4位,高4位清零 (4)AH的低4位移到高4位,低4位清零(1)AND AH,0FH (2)XOR AL,0F0H(3)MOV CL,4SHR AL,CL (4)MOV CL,4SHL AH
25、,CL 3.53设BX=6D16H,AX=1100H,写出下列两条指令执行后BX寄存器中的内容。MOV CL,06H ;CL=06HROL AX,CL ;AX=4004HSHR BX,CL ;BX=01B4H3.54设初值AX=0119H,执行下列程序段后AX=MOV CH,AH ;CH=01HADD AL,AH ; AL=1AH,AF=0,CF=0DAA ;AL=20,AF=1,CF=0XCHG AL,CH ;AL=01H,CH=20HADC AL,34H ;AL=01H+34H=35HAL=35HMOV AH,AL ;AH=35HMOV AL,CH ;AL=20HHLT AX=3520H3.55设初值AX=6264H,CX=0004H,在执行下列程序段后AX=AND AX,AX ;AX=6264H,ZF=0JZ DONESHL CX,1 ;CX=0008H ROR AX,CL ;AX=6462HDONE:OR AX,1234H ;AX=7676H3.56写出可使AX清零的几条指令。 AND AX,0; MOV AX,0;XOR AX,AX。3.57!3.58什么叫堆栈说明堆栈中数据进出的顺序以及压入堆栈和弹出堆栈的操作过程。堆栈中数据的进出顺序为“先进后出” P
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1