1、1微机原理及应用重修综合练习题一、填空题二、分析简答题三、程序分析题四、编程题五、存储器扩展题六、输入输出接口题2微机原理及应用重修一、填空题在计算机中:1Byte= 8 bit,1Word = 16 bit。 对于十六进制数码64.8H,转换为十进制数时为 100.5 ;该数码看作8421BCD码时表示数据为 64.8 。对于十进制数18.5,用十六进制数表示时为 12.8 H;用压缩8421BCD码表示时为 18.5H 或(00011000.0101) 。3微机原理及应用重修设机器字长为8位,最高位是符号位。则十进制数127所对应的原码为 11111111B ,补码为 10000001B
2、。8086CPU内部结构可分为 EU 和 BIU 两部分。8086CPU 可以访问 8 位和 16 位的寄存器。8086CPU是 16 位的CPU。设SP为2000H,则执行PUSH AX 后,SP= 1FFE H。4微机原理及应用重修逻辑地址是由 段基址 和 偏移地址 组成。其中,段寄存器中存放的是 段基址。将逻辑地址转换为物理地址的公式是 段基址16偏移地址。设有逻辑地址1234H:1234H,试写出其对应的物理地址 13574 H 。一个含有16个字节数据的变量,它的逻辑地址为1000H:0100H,那么该变量的最后一个字节数据的物理地址是 1010F H。5微机原理及应用重修8086C
3、PU对外的数据线是 16 条,地址线是 20 条,它的寻址能力为 1M 字节。数据线和地址线是以 分时复用 方式轮流使用的。若有如下定义: ORG 0100H TAB DW 9876H 当执行:MOV AX,TAB后,(AX)= 9876H ; 而执行:LEA AX,TAB后,(AX)= 0100H 。6微机原理及应用重修若定义 A DB abcd,则(A+2)单元存放的字节数据是 c 或 63H 。8086 CPU在I/O单独编址时,对I/O编址最多使用 16 条地址线,若要从地址为80H的端口读入字节数据,则应该使用指令 IN AL,80H 。在8086系统(XT机)中使用的可编程中断控制
4、器型号是 8259A ,该芯片最少占用 2 个端口地址。 7微机原理及应用重修可编程定时/计数器8253含有 3 个 16 位的定时/计数器。每个定时/计数器可以通过编程方式来设定的工作方式有 6 种。若用4K1的存储器芯片组成12K字节的内存容量,则共需 24 个这样的芯片。一般情况下,容量为256KB的存储器具有 8 条数据线, 18 条地址线。8微机原理及应用重修在微型计算机系统中,可采用的输入输出方式主要有 程序控制、 中断方式 、 DMA 三种类型。可编程接口芯片8255A含有 3 个 8 位的I/O口。A口工作方式有 3 种,B口工作方式有 2 种。8086 CPU上电复位后,执行
5、第一条指令的物理地址是 FFFF0 H。9微机原理及应用重修8086/8088 CPU 的中断系统能处理 256 种不同类型的中断。在8086系统中使用8259A芯片,最多能管理 64 级中断优先级。计算机对I/O端口的编址方法有 存储器映象寻址(也称统一编址) 、 I/O单独编址 两种。内存按存储器性质分类通常分为RAM和 ROM 两类。10微机原理及应用重修二、分析简答题1、写出-23的原码、反码、补码,并将补码转换成十六进制数(设字长为8位)。答:X=-23=-10111BX原码:10010111BX反码:11101000BX补码:11101001B = E9H11微机原理及应用重修2、
6、已知逻辑地址3010H:1234H,写出段地址、偏移地址、物理地址。答:段地址为:3010H; 偏移地址为:1234H 物理地址:3010H*10H+1234H=31334H3、简述BIU、EU单元作用。答:BIU:地址形成、取指令、指令排队、读/写操作数、总线控制 EU:指令译码、指令执行12微机原理及应用重修4、8086 CPU中四个段寄存器的名称是什么,分别用什么符号表示?答:代码段:CS 数据段:DS 堆栈段:SS 扩展段:ES13微机原理及应用重修5、列举至少5种程序状态字中的标志位,并简要说明其功能答:ZF:全零标志 CF:进位标志 SF:符号位 AF:辅助进位 PF:奇偶校验位
7、OF:溢出标志14微机原理及应用重修6、设字长为8位,用二进制计算15+20的结果,并说明对状态标志C、A、S、Z的影响。答: 00001111 + 00010100 00100011 CF=0 AF=1 SF=0 ZF=015微机原理及应用重修7、8086CPU对1M存储空间是如何组织的?答: 8086 CPU对存储器是采用分段方式管理的(段地址:偏移量),分为奇地址库和偶地址库。8、8086CPU系统中存储器为什么分奇地址库和偶地址库。答:为保证和以前的CPU兼容,保证8086既能进行字节操作,有可以进行字操作。16微机原理及应用重修9、8086对存储器的管理为什么采用分段的办法?20位的
8、物理地址是如何形成的? 答:8086的数据线和内部的寄存器都是16位的,而其地址线是20位的,无法直接进行管理;为扩大寻址范围,采用分段的管理方式,把真正的物理地址用段地址和偏移量表示,每一部分都不超过64K,可保存在内部寄存器中。 当CPU访问内存时,在地址加法器中将段寄存器的内容(段基址)自动左移4位(二进制),再16位偏移地址相加,形成20位的物理地址。 17微机原理及应用重修10、设SS=1050H,SP=0008H,AX=1234H,当执行指令:PUSH AX后,寄存器SS、SP、AX内容分别是什么?画图说明1234H在内存中的存放情况。答: SS=1050H SP=0006H AX
9、=1234H (10506H)=34H (10507H)=12H18微机原理及应用重修11、分别指出下列指令中的源操作数的寻址方式。 (1)MOV CX,300H (2)MOV BPDI,300H (3)MOV AX,BX(4)MOV AX,BP+DI(5)MOV AX,10BXDI (6)MOV AX,10SI (7)MOV AX,DI (8)JMP BX(9)IN AL,23H(10)IN AL,DX(1)直接寻址 (2)立即寻址 (3)寄存器寻址 (4)基址加变址 (5)相对基址加变址寻址 (6)寄存器相对寻址 (7)寄存器间接寻址 (8)段内间接寻址(9)直接端口寻址 (10)间接端口
10、寻址 19微机原理及应用重修12、指出下列指令的错误 (1)MOV AH,BX 答:源、目的操作数长度不匹配 (2)ADD 15H,BX 答:立即数不能做目的操作数 (3)MOV CS,AX答: CS不能做目的操作数(4)MOV AX,SIDI 答: SI、DI不能同时出现在 中 (或源操作数寻址方式有误)(5)MOV BYTE PTRBX,1000答:源、目的操作数长度不匹配 20微机原理及应用重修(6)MOV SI,BX答:源、目的操作数不能均为存储器操作数 (7)MOV DS,0200H答:立即数不能直接送至段寄存器(8)IN BL,05H答: IN指令中目的操作数不能用BL(只能用AL
11、或AX) (9)MOV AX,IP答: IP不能作操作数 (10)MOV SI,DX答: DX不能间接寻址,可改为 MOV SI,BX (11)PUSH AL 答: PUSH指令的操作数必须为16位(即:按字操作) 21微机原理及应用重修13、试写一指令序列,完成将AX寄存器的最低4位置1,最高3位清零,D7D9位反相,其它位不变。答:OR AX,000FH AND AX,1FFFH XOR AX,0380H22微机原理及应用重修14、用单条指令或程序片段,实现下述功能。 (1)将AX高8位取反,低四位置1,其余位不变。 (2)将AL的高四位与低四位互换。 (3)将BX、AX内容互换。答:(1
12、)XOR AX,0FF00H OR AX,000FH (2)MOV CL,4 ROR AL,CL(或ROL AL,CL) (3)XCHG AX,BX 23微机原理及应用重修15、写出至少3种指令,使AX寄存器清零 答: MOV AX,00 SUB AX,AX XOR AX,AX AND AX,00H24微机原理及应用重修16、设计I/O接口电路时一般遵循什么原则,为什么? 答:遵循的基本原则:输出要锁存,输入要缓冲。 原因:CPU运行速度较快,外设速度相对较慢,通过锁存器保持CPU的输出信号;CPU的数据线是公用的,任何外设都不能单独占用数据线,通过缓冲器可以将外设和数据线在不需要的时候隔离。
13、25微机原理及应用重修17、计算机使用中断有什么好处?答: (1)解决快速CPU与慢速外设之间的矛盾,使CPU可以与外设同时工作,甚至可以与几个外设同时工作。(2)计算机实现对控制对象的实时处理。(3)计算机可以对故障自行处理。18、8086可屏蔽中断请求输入信号线是什么?“可屏蔽”的涵义是什么? 答:可屏蔽中断请求输入线为INTR; “可屏蔽”是指该中断请求可经软件清除标志寄存器中IF位而被禁止。26微机原理及应用重修19、简述CPU响应外部可屏蔽中断的前提条件是什么?答:有中断源申请、 无内部中断、中断系统是开放的20、什么是中断向量,中断向量表在内存中的地址范围是什么?答:中断向量是指中
14、断处理程序的入口地址; 中断向量表的地址范围:00000H003FFH27微机原理及应用重修21、什么叫中断向量表,在8086系统中,中断向量表存放在内存的什么位置,容量有多大?答:把不同中断类型号对应的中断服务程序入口地址排列起来,形成的表称为中断向量表;存放在存储器最开始的一段空间内;容量为1KB。28微机原理及应用重修22、8086CPU主要能处理哪些类型的中断,这些中断的优先级是如何排列的。答:内部中断和外部中断,内部中断包括内部硬中断和内部软中断,外部中断包括可屏蔽和不可屏蔽中断。 中断优先级为: 内部中断不可屏蔽中断可屏蔽中断单步中断29微机原理及应用重修23、编写中断类型号为10
15、的中断向量设置程序(假设中断服务程序名为INT_10)方法一:MOV AX,0 MOV ES,AXMOV DI,40MOV AX,OFFSET INT_10CLD STOSWMOV AX,SEG INT_10STOSW方法二:MOV AX,0 MOV DS,AXMOV BX,40MOV AX,OFFSET INT_10MOV BX,AXMOV AX,SEG INT_10MOV BX+2,AX30微机原理及应用重修三、程序分析题1、MOV AL,85H MOV X1,0 MOV X2,0 MOV CX,8L0:SHL AL,1 JC L1 INC X1 JMP L2L1:INC X2L2:LOO
16、P L0程序中X1和X2是字节变量,(1) 分析程序实现的功能。(2) 程序执行后,X1和X2的值分别是多少?答:(1) 统计AL中0和1的个数,分别放在X1和X2中。(2) X1=5; X2=331微机原理及应用重修2、IN AL,5FH ;TEST AL,80H ; JZ L1 ; MOV AH,0 JMP STOPL1:MOV AH,0FHSTOP:HALT从地址为5F的端口读入1个字节送ALAL与80H相与,但不回送结果,只影响标志位的值若状态标志Z为1,跳转至L1运行 (1) 在横线处写明语句实现的功能。(2) 分析程序实现的功能。功能:若从地址为5F的端口外围设备读入的字节最高位为
17、0则AH=0FH,否则AH=032微机原理及应用重修3、MOV AX,0 MOV BX,1 MOV CX,100L1:ADD AX,BXINC BXDEC CXJNZ L1(1) 分析程序实现的功能。(2) 程序执行后,AX、BX、CX的值分别是多少?答: (1) 计算1+2+3+100的值,最终保存在AX中 ;(2) AX=5050 BX=101 CX=0 33微机原理及应用重修4、STR DB COMPUTER MOV CX,8 MOV AL,1 LEA BX,STR ;(a)L1:CMP BYTE PTR BX,U ;(b) JZ L2 INC BX INC AL LOOP L1L2:
18、HALT34微机原理及应用重修(1)在横线处写明语句实现的功能。答:(a) 将STR变量的首地址送BX (b)比较BX间接寻址的字节是否等于U (2) 分析程序实现的功能,并说明执行完后,AL寄存器的值。答:计算字母U在字符串中出现的位置,AL=5 35微机原理及应用重修5、分析填空MOV AX,00H ;PUSH AX;POP BX;MOV AX,3F5FH ;MOV CX,4ROR AL,CL;AND AL,0FH;答:执行后 AX= 00H 执行后 AX= 00H 执行后 BX= 00H 执行后 AL= 5FH 执行后 AL= 0F5H 执行后 AL= 05H 36微机原理及应用重修6、
19、若STR是字符串的首地址,指出下列程序的功能,并将语句加上注解。 LEA BX,STR ;取STR 的偏移量放到BX中 MOV CX,20 ;_设置循环次数_LP:CMP BX,*JNZ NEXT ;BX所指单元内容不为*,则转移至NEXTMOV BX,$ ;将BX所指单元用$替代NEXT:INC BX ;BX加1,指向下一个单元LOOP LP ;CX-1不等于0则转移至LP处,继续循环HLT 程序的功能:将STR开始的前20个字符中的*用$替代37微机原理及应用重修四、编程题1、 从BLOCK开始有一个字节型数组,共有15个元素,编写完整汇编源程序,计算这个数组中奇数的个数,并将结果存入内存
20、SUM单元。2、从BUF开始有一个字节型数组,共有100个元素,编写完整汇编源程序,计算这个数组中负数的个数,并将结果存入内存COUNT单元。3、从BUF开始,存放10个带符号的字节数据,编写完整汇编源程序,找出该数据区中的最大数,并将其存放至内存单元MAX中。(答案略)38微机原理及应用重修39微机原理及应用重修1.右图为8088 CPU和某存储器电路连接图,请回答以下问题: (1) 将CPU的信号线与存储器相连。 (2) 存储器是什么类型(RAM、ROM)?总容量为多少?各存储芯片的地址范围分别是多少?五、存储器扩展题40微机原理及应用重修答:1)CPU与存储器的连接如右图所示。 2) 存
21、储器类型为:RAM ; 总容量为 4K8 ; 地址范围: 0# 2000H-27FFH 1# 2800H-2FFFH 41微机原理及应用重修1、INTEL 8255A接口芯片 (1) 现给出INTEL 8255A 的应用电路如下,系统分配给8255的地址为60H63H。试分析该电路中8255的A、B口分别是作为输入口,还是输出口? (2) 现给出8255A 工作方式控制字格式如下,请编写程序片段对8255进行初始化,并读取电路中的开关量,用LED发光二极管显示其对应的开关状态(注:LED显示器“亮”,表示开关“断开”)。 六、输入输出接口题42微机原理及应用重修DDDDDD D6543210P
22、C300: OUT 1: INPUTPA700: OUT 1: INPUTPB工作方式00:0工作方式01:1工作方式1x:2工作方式B组PC740: OUT 1: INPUTPB0: OUT 1: INPUT工作方式0:0工作方式1:1工作方式PA1A组7043微机原理及应用重修解答:(1)A口作为输入口,B口作为输出口 (2)初始化: A口作为输入口,B口作为输出口,均工作于方式0,则控制字为:90H(不唯一)参考程序片段: MOV AL,90H OUT 63H,AL IN AL,60H OUT 61H,AL 44微机原理及应用重修2、根据下面的接口电路图,回答下列问题:45微机原理及应用
23、重修(1)这是一个什么接口电路图? 答答:查询式输入接口电路图 (2)写出下列芯片的名称或功能(锁存、缓冲):U1:锁存器U2:三态缓冲器(或三态门) (3) 电路图中的1、2、3、4、应接到何处?写出符号。 答答:1. 2.M / 3.地址线A15A0 4. RDRDIOThe end!46微机原理及应用重修温馨提示: 考试时请带学生证和重修证!谢 谢 !精选指令系统程序设计举例 例1:从存储器中取数的基本方法执行下列指令后, AX寄存器中的内容是什么? TABLEDW10,20,30,40,50 ENTRY DW3 .MOV BX,OFFSET TABLE ;取数据串偏移地址ADD BX,
24、ENTRY ;BX=BX+3MOV AX,BX ;物理地址=DS16+(BX)答案: (AX)=400AH14H1EH28H32H03HDS:TABLEDS:ENTRY此例中要注意: 1)TABLE 和ENTRY的标号意义,这里为数据串的偏移地址的首地址。2)从存储器中取数据必须要知道数据在那个段和它的偏移地址。3)得到偏移地址有两条指令4)如果数据在ES或SS段时,指令中段前缀的用法精选 如果数据串定义在ES段中 TABLEDW10,20,30,40,50 ENTRY DW3 .MOV BX,OFFSET TABLE ;取数据串偏移地址ADD BX, ES ENTRY ;BX=BX+3MOV
25、 AX, BX ;物理地址=ES16+(BX)答案: (AX)=400AH14H1EH28H32H03HES:TABLEES:ENTRY此例中要注意: 1)TABLE 和ENTRY的标号在程序中只能出现一次,在段定义中已经指明在ES段中。精选例2:在使用中容易出错的指令用法指出下列指令的错误: MOV AH,BX ; 源、目的字长不一致(2)MOV SI,BX ;源、目的不能同时为存贮器寻址方式(3)MOV AX,SIDI ;基址变址方式不能有 SI和DI的组合(4)MOV AX,BXBP ;基址变址方式不能有 BX和BP的组合(5)MOVBX,ES:AX ;AX不能作为基址寄存器使用,而且源
26、、目的不能同时为存贮器寻址方式(6)MOV BYTE PTRBX,1000 ;1000超出一个字节的表数范围(7)MOV AX,OFFSET SI ; OFFSET只用于标号(8)MOV CS,AX;CS不能作为目的寄存器(9)MOV DS,BP ;段地址不能直接送入数据段寄存器精选例3: 推断指令的执行结果 DATA SEGMENTTABA DW1234HDATA ENDS . MOV BX, TABALEABX, TABA请写出上述两条指令执行后, BX寄存器中的内容。答案:MOVBX,TABA ; 执行后(BX)=1234H ,内存中的数据LEABX,TABA ; 执行后(BX)=OFF
27、SET TABA,偏移地址34H12HXXXXXXXXDS:TABA精选例4 多字节加法的程序设计变量DATAX和DATAY定义如下: DATAX DW 0148H DW 2316H DATAY DW 0237H DW 4052H按下述要求写出指令序列: DATAX和DATAY中的两个字数据相加, 和存放在DATAY和DATAY+2中。实现的运算为:2316 0148H+4052 0237H=?MOV AX, DATAX ;取第一个要加数的低字ADDAX, DATAY ;与第二个数低字相加,结果在AX中MOV BX, DATAX+2 ;取第一个数要加的数的高字ADCBX, DATAY+2 ;与
28、第二个数高字相加,结果在BX中MOV DATAY, AXMOV DATAY+2, BX ;保存和,注意地址为2个字节在编程时要考虑到低字相加后产生的进位精选例5:乘法指令应用(无符号)两个16变量DATAY和DATAX定义如下: DATAY DW 0148H ;A DW 2316H ;B DATAX DW 0237H ;C DW 4052H ;D RESULT DW 12DUP(0)按下述要求写出指令序列:DATAY和DATAX两个字相乘(用MUL)。精选 A B C D E F G H H G F E D C B A N N N N N N N N N M M M M M M M M M A
29、 A A A A A A A A B B B B B B B B B C C C C C C C C C D D D D D D D D D E E E E E E E E E F F F F F F F F FX X X X X X X X X X X X X X X X X精选 A B C D E F G H H G F E D C B A N N N N N M M M M M A A A A A B B B B B DX(0) AX(0) A B C D E F G H H G F E D C B A C C C C C D D D D D E E E E E F F F F F DX
30、(1) AX(1)精选 A B C D E F G H H G F E D C B A N N N N N M M M M M A A A A A B B B B B DX(2) AX(2) A B C D E F G H H G F E D C B A C C C C C D D D D D E E E E E F F F F F DX(3) AX(3)精选 DX(0) AX(0) DX(1) AX(1) DX(2) +AX(2) DX(3) AX(3) C1 字1 字0 + C2 + C1 字3 C2 字2字相乘后位相加的要求精选MOVAX,WORD PTR DATAX ;取乘数第一个字M
31、OVBX,WORD PTR DATAY ;取被乘数第一个字MULBX;(AC)MOVRESULT,AX ;结果低字 AX(0)MOVRESULT+2,DX ;结果高字 DX(0) MOVAX,WORD PTR DATAX ;取乘数第一个字MOVAX,WORD PTR DATAY+2 ;取被乘数第二个字MULBX ;(AD) MOVRESULT+4,AX;结果低字 AX(1)MOVRESULT+6,DX ;结果高字 DX(1) 精选MOVAX,WORD PTR DATAX+2 ;取乘数第二个字MOVBX,WORD PTR DATAY ;取被乘数第一个字MULBX ;(BC)MOVRESULT+8
32、,AX ;结果低字 AX(2)MOVRESULT+10,DX ;结果高字 DX(2) MOVAX,WORD PTR DATAX+2 ;取乘数第二个字MOVBX,WORD PTR DATAY+2 ;取被乘数第一个字MULBX ;(BD)MOVRESULT+12,AX;结果低字 AX(3)MOVRESULT+14,DX ;结果高字 DX(3)精选MOV AX,RESULT+2MOV BX,RESULT+4MOV DX,RESULT+8ADDAX,BXADCAX,DX ;DX(0)+AX(1)+AX(2)MOV RESULT+2, AXMOV AX,RESULT+6MOV BX,RESULT+10M
33、OV DX,RESULT+12ADCAX,BXADCAX,DX ;DX(1)+DX(2)+AX(3)MOV RESULT+4, AX MOVAX,RESULT14ADCAX,0000H ; DX(3)+CMOVRESULT6, AX精选例6:移位指令应用试分析下面的程序段完成什么操作?MOVCL,04SHLDX,CL ;DX左移4位。左移次数CL中的数MOVBL,AH SHLAX,CL ; AX左移4位SHRBL,CL ; BL右移4位答案: 将DX、AX中的字左移4位, BL右移4位精选例7:变量N1和N2均为2字节的非压缩BCD数码,请写出计算N1与N2之差的指令序列。非压缩BCD码格式:
34、0000XXXXHMOV AX, 0 ;(MOV AH,00H)AX高8位清0 MOV AL, N1 ;取个位数SUBAL, N2 ;个位减AAS ;非压缩的BCD数的减法结果进行调整MOV DL, AL ;将正确结果保存在DL中MOV AL, N1+1 ;取十位数SBCAL, N2+2 ;十位减,考虑个位有借位AAS ;非压缩的BCD数的减法结果进行调整MOV DH, AL ;将正确结果保存在DH中精选 例8:假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (S
35、I)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H,(25060)=00B0H,(SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。SBB AX,BX ;2060H-3000H(AX)=F05FH, (SF)=1, (ZF)=0, (OF)=0, (CF)=1精选 假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H
36、, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。(2) CMPAX,WORD PTRSI+0FA0H;2060H-A006H目的操作数的地址:DS16+SI+0FA0H =40000H+2060+0FA0=43000H执行此指令后AX
37、中的内容不变!只影响标志位!精选2060H-A006H 0010 0000 0110 0000 -1010 0000 0000 0110 0010 0000 0110 0000 +0101 1111 1111 1010 1000 0000 0101 1010结果:(SF)=1, (ZF)=0, (OF)=1, (CF)=1OF=1 两数符号相反(正数-负数、或负数-正数),而结果符号与减数相同。OF=0 同符号数相减时或不同符号数相减,而结果符号与减数不相同。精选 假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX
38、)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。(3) MULBYTE PTRBX ;字或字节由源决定 (AX)=0260H, (OF)=1, (CF)=1精选MULBYTE PTRBX目的操作数的地址:DS16+(BX) =40000H+30
39、00=43000H (43000H)=A006H此操作为:60H06H=0240H (AX)=0240H, (OF)=1, (CF)=1乘法指令运算结果影响状态标志,但对CF、OF有特殊的定义。 当乘积的高半部分为0(AH=0或DX(高位)=0)时,CF=0、OF=0,表示高半部分无有效数,否则CF=1、OF=1,用于指出字节运算结果是8位或16位,字运算结果是16位或32位。(不存在有进位的可能)精选 假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2
40、060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。(4) DIVBH;AX/BL(2060H30H) (AX)=2060H精选(4) DIVBH;AX/BL(2060H30H) (AX)=2060H AL=商,AH=余数2060H=40962+96=8288 828848=172 余数=32除法不影响标志位
41、精选 假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。(5) SARAX,CL ;算术右移5次(AX)=0103H
42、, (CF)=0 2060H=0010 0000 0110 0000B 0000 0001 0000 0011 B 00000B精选 假设 (AX)=2060H, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。(6) XORAX,0FFE7H 0010 0000 0110 0000B 1111 1111 1110 0111B 1101 1111 1000 0111B(AX)=0DF87H, (CF)=0, (OF)=0, (SF)=1, (ZF)=0相当于对AX的内容求反精选 假设 (DS)=4000H, (ES)=2000
43、H, (AX)=2060H, (BX)=3000H, (SI)=2060H, (43000H)=0A006H, (23000H)=0B116H, (33000H)=0F802H, (25060)=00B0H,.(SP)=0FFFEH, 请写出下列各条指令单独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF的值。(7) XCHG AX,ES:BX+SI目的操作数的地址:ES16+(BX+SI) =20000H+3000+2060=25060H (25060H)=00B0H(AX)=00B0H, (25060)=2060H, 不影响标志位精选假设(DS)=2
44、000H,(ES)=3000H,(SS)=4000H,(SP)=100H,(BX)=200H,(SI)=1,(DI)=2,(BP)=256,字变量ARRAY偏移地址为0050H,20250H)=1234H,(40100H)=00A0H,(40102H)=2200H。填空回答下列问题。(1)MOVAX,BPDI;源操作数物理地址= H指令执行后(AX)= H(2)POPAX;源操作数物理地址= H指令执行后(AX)= H(3)PUSHES:BX;源操作数有效地址= H(4)LEADI,ARRAY;源字段的寻址方式是 指令执行后(DI)= H(5)JMP BX;指令执行后(IP)= H(6)ADD AL,BYTE PTR ARRAYBX ;源字段的寻址方式是 ? 指令执行后(AL)= H精选(1)源操作数物理地址= 40102 H指令执行后(AX)= 2200 H(2)源操作数物理地址= 40100 H指令执行后(AX)= 00A0 H(3)源操作数有效地址= 200H H(4)源字段的寻址方式是 直接寻址方式 指令执行后(DI)= 0050 H(5)指令执行后(IP)= 200 H(6)源字段的寻址方式是 寄存器相对寻址方式 指令执行后(AL)= 34 H
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。