您的当前位置:首页正文

《微机原理与接口技术》基础考题

2021-03-30 来源:客趣旅游网
《微机原理与接口技术》基础考题 一、 填空题

1. 在计算机中:1Byte= 8 bit,1Word = 16 bit。

2. 对于十六进制数码64.8H,转换为十进制数时为 100.5 为 64.8 ;该数码看作8421BCD码时表示数据 。

3. 对于十进制数18.5,用十六进制数表示时为 12.8 H;用压缩8421BCD码表示时为 18.5H 或 (00011000.0101) 。

4. 设机器字长为8位,最高位是符号位。则十进制 数–127所对应的原码为 11111111B ,补 码为 10000001B 。 5. 8086CPU内部结构可分为 EU 和 BIU 两部分。 6. 8086CPU 可以访问 8 位和 16 位的寄存器。 7. 8086CPU是 16 位的CPU。

8. 设SP为2000H,则执行PUSH AX 后,SP= 1FFE H。 9. 逻辑地址是由 段基址 和 偏移地址 组成。其中, 段寄存器中存放的是 段基址。

10. 将逻辑地址转换为物理地址的公式是 段基址×16 +偏移地址。

11. 设有逻辑地址1234H:1234H,试写出其对应的 物理地址 13574 H。

12. 一个含有16个字节数据的变量,它的逻辑地址为 1000H:0100H,那么该变量的最后一个字节数据 的物理地址是 1010F H。

13. 8086CPU对外的数据线是 16 20 条,地址线是 方式轮 条,它的寻址能力为 1M 字节。 14. 数据线和地址线是以 流使用的。

15.若有如下定义: ORG 0100H TAB DW 9876H 分时复用 当执行:MOV AX,TAB后,(AX)= 9876H ; 而执行:LEA AX,TAB后,(AX)= 0100H 。

16.若定义 A DB ‘abcd’,则(A+2)单元存放的字节 数据是 16 ‘c’ 或 63H 。

17.8086 CPU在I/O单独编址时,对I/O编址最多使用 条地址线,若要从地址为80H的端口读入字 节数据,则应该使用指令 IN AL,80H 型号是 8259A ,该芯片最少占用 。 2 18.在8086系统(XT机)中使用的可编程中断控制器 个端口地址。

19. 可编程定时/计数器8253含有 3 个 16 位的定 时/计数器。每个定时/计数器可以通过编程方式 来设定的工作方式有 6 种。

20. 若用4K×1的存储器芯片组成12K字节的内存容 量,则共需 24 个这样的芯片。

21. 一般情况下,容量为256KB的存储器具有 8 条 数据线, 18 条地址线。

22. 在微型计算机系统中,可采用的输入输出方式主 要有 程序控制、 中断方式 、 DMA 三种 类型。

23. 可编程接口芯片8255A含有 3 个 8 位的I/O口。 A口工作方式有 3 种,B口工作方式有 2 种。

24. 8086 CPU上电复位后,执行第一条指令的物理地 址是 FFFF0 H。

25. 8086/8088 CPU 的中断系统能处理 256种不同类型的中断。

26. 在8086系统中使用8259A芯片,最多能管理 64 级中断优先级。 、 I/O单独编址 两种。 ROM

27. 计算机对I/O端口的编址方法有 存储器映象寻址 (也称统一编址) 28. 内存按存储器性质分类通常分为RAM和 两类。

二、分析简答题

1、写出-23的原码、反码、补码,并将补码转换成十 六进制数(设字长为8位)。 答: X=-23=-10111B X原码:10010111B X反码:11101000B X补码:11101001B = E9H 10

2、已知逻辑地址3010H:1234H,写出段地址、偏移 地址、物理地址。 答:段地址为:3010H; 偏移地址为:1234H 物理地址:3010H*10H+1234H=31334H

3、简述BIU、EU单元作用。 答:BIU:地址形成、取指令、指令排队、读/写操作 数、总线控制 EU:指令译码、指令执行 11 4、8086 CPU中四个段寄存器的名称是什么,分别用 什么符号表示? 答:代码段:CS 数据段:DS 堆栈段:SS 扩展段:

ES 12

5、列举至少5种程序状态字中的标志位,并简要说 明其功能 答:ZF:全零标志 CF:进位标志 SF:符号位 AF:辅助进位 PF:奇偶校验位 OF:溢出标志 13

6、设字长为8位,用二进制计算15+20的结果,并 说明对状态标志C、A、S、Z的影响。 答: 00001111 + 00010100 00100011 CF=0 AF=1 SF=0 ZF=0 14

7、8086CPU对1M存储空间是如何组织的? 答: 8086 CPU对存储器是采用分段方式管理的(段 地址:偏移量),分为奇地址库和偶地址库。

8、8086CPU系统中存储器为什么分奇地址库和偶地 址库。 答:为保证和以前的CPU兼容,保证8086既能进行字 节操作,有可以进行字操作。

9、8086对存储器的管理为什么采用分段的办法?20 位的物理地址是如何形成的? 答:8086的数据线和内部的寄存器都是16位的,而 其地址线是20位的,无法直接进行管理;为扩大 寻址范围,采用分段的管理方式,把真正的物理 地址用段地址和偏移量表示,每一部分都不超过 64K,可保存在内部寄存器中。 当CPU访问内存时,在地址加法器中将段寄存 器的内容(段基址)自动左移4位(二进制),再16 位偏移地址相加,形成20位的物理地址。

10、设SS=1050H,SP=0008H,AX=1234H,当执行指 令:

PUSH AX后,寄存器SS、SP、AX内容分别是 什么?画图说明1234H在内存中的存放情况。 答: SS=1050H SP=0006H AX=1234H (10506H)=34H (10507H)=12H 11、分别指出下列指令中的 源操作数的寻址方式。 (1)MOV CX,[300H] (1)直接寻址 (2)MOV [BP][DI],300H (2)立即寻址 (3)MOV AX,BX (3)寄存器寻址 (4)MOV AX,[BP+DI] (4)基址加变址 (5)MOV AX,10[BX][DI] (5)相对基址加变址寻址 (6)MOV AX,10[SI] (6)寄存器相对寻址 (7)MOV AX,[DI] (7)寄存器间接寻址 (8)JMP BX (8)段内间接寻址 (9)IN AL,23H (9)直接端口寻址 (10)IN AL,DX (10)间接端口寻址

12、指出下列指令的错误 (1)MOV AH,BX 答:源、目的操作数长度不匹配 (2)ADD 15H,BX 答:立即数不能做目的操作数 (3)MOV CS,AX 答: CS不能做目的操作数 (4)MOV AX,[SI][DI] 答: SI、DI不能同时出现在 [ ]中 (或源操作数寻址方式有误) (5)MOV BYTE PTR[BX],1000 答:源、目的操作数长度不匹配

(6)MOV [SI],[BX] 答:源、目的操作数不能均为存储器操作数 (7)MOV DS,0200H 答:立即数不能直接送至段寄存器 (8)IN BL,05H 答: IN指令中目的操作数不能用BL(只能用AL或AX) (9)MOV AX,IP 答: IP不能作操作数 (10)MOV SI,[DX] 答: DX不能间接寻址,可改为 MOV

SI,[BX] (11)PUSH AL 答: PUSH指令的操作数必须为16位(即:按字操作)

13、试写一指令序列,完成将AX寄存器的最低4位置 1,最高3位清零,D7~D9位反相,其它位不变。 答:OR AX,000FH AND AX,1FFFH XOR AX,0380H

14、用单条指令或程序片段,实现下述功能。 (1)将AX高8位取反,低四位置1,其余位不变。 (2)将AL的高四位与低四位互换。 (3)将BX、AX内容互换。 答:(1)XOR AX,0FF00H (2)MOV CL,4 (3)XCHG AX,BX OR AX,000FH ROR AL,CL(或ROL AL,CL)

15、写出至少3种指令,使AX寄存器清零 答: MOV AX,00 SUB AX,AX XOR AX,AX AND AX,00H

16、设计I/O接口电路时一般遵循什么原则,为什么? 答:遵循的基本原则:输出要锁存,输入要缓冲。 原因:CPU运行速度较快,外设速度相对较慢,通 过锁存器保持CPU的输出信号;CPU的数据线是公 用的,任何外设都不能单独占用数据线,通过缓冲 器可以将外设和数据线在不需要的时候隔离。

17、计算机使用中断有什么好处? 答: (1)解决快速CPU与慢速外设之间的矛盾,使CPU 可以与外设同时工作,甚至可以与几个外设同时工 作。(2)计算机实现对控制对象的实时处理。(3)计算 机可以对故障自行处理。

18、8086可屏蔽中断请求输入信号线是什么?“可屏 蔽”的涵义是什么? 答:可屏蔽中断请求输入线为INTR; “可屏蔽”是指 该中断请求可经软件清除标志寄存器中IF位而被禁止。 19、简述CPU响应外部可屏蔽中断的前提条件是什么? 答:有中断源申请、 无内部中断、中断系统是开放的

20、什么是中断向量,中断向量表在内存中的地址范围 是什么? 答:中断向量是指中断处理程序的入口地址; 中断向量表的地址范围:00000H~003FFH

21、什么叫中断向量表,在8086系统中,中断向量 表存放在内存的什么位置,容量有多大? 答:把不同中断类型号对应的中断服务程序入口地 址排列起来,形成的表称为中断向量表;存放在 存储器最开始的一段空间内;容量为1KB。 22、8086CPU主要能处理哪些类型的中断,这些中 断的优先级是如何排列的。 答:内部中断和外部中断,内部中断包括内部硬中 断和内部软中断,外部中断包括可屏蔽和不可屏 蔽中断。 中断优先级为: 内部中断>不可屏蔽中断>可屏蔽中断>单步中断

23、编写中断类型号为10的中断向量设置程序(假 设中断服务程序名为INT_10) 方法一: MOV AX,0 MOV ES,AX MOV DI,40 MOV AX,OFFSET INT_10 CLD STOSW MOV AX,SEG INT_10 STOSW 方法二: MOV MOV MOV MOV MOV MOV MOV AX,0 DS,AX BX,40 AX,OFFSET INT_10 [BX],AX AX,SEG INT_10 [BX+2],AX 三、程序分析题

1、MOV AL,85H MOV X1,0 MOV X2,0 MOV CX,8 L0:SHL AL,1 JC L1 INC X1 JMP L2 L1:INC X2 L2:LOOP L0 程序中X1和X2是字节变量, (1) 分析程序实现的功能。 (2) 程序执行后,X1和X2的值分 别是多少? 答: (1) 统计AL中0和1的个数,分别 放在X1和X2中。 (2) X1=5; X2=3 2、IN AL,5FH ;从地址为5F的端口读入1个字节送AL TEST

AL,80H ;AL与80H相与,但不回送结果, JZ L1 MOV AH,0 JMP STOP L1:MOV AH,0FH STOP:HALT 只影响标志位的值 ;若状态标志Z为1,跳转至L1运行 (1) 在横线处写明语句实现的功能。 (2) 分析程序实现的功能。 功能:若从地址为5F的端口外围设 备读入的字节最高位为0则 AH=0FH,否则AH=0

3、MOV AX,0 MOV BX,1 (1) 分析程序实现的功能。 (2) 程序执行后,AX、BX、CX的 MOV CX,100 L1:ADD AX,BX INC BX DEC CX JNZ L1 值分别是多少? 答: (1) 计算1+2+3+…+100的值,最 终保存在AX中 ; (2) AX=5050 BX=101 CX=0

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 L1 L2: HALT

(1)在横线处写明语句实现的功能。 答:(a) 将STR变量的首地址送BX (b)比较BX间接寻址的字节是否等于’U’ (2) 分析程序实现的功能,并说明执行完后,AL寄 存器的值。 答:计算字母’U’在字符串中出现的位置,AL=5

5、分析填空 MOV AX,00H PUSH AX POP BX MOV AX,3F5FH MOV CX,4 ROR AL,CL 答: ; 执行后 AX= ;执行后 AX= ;执行后 BX= ; 执行后 AL= ;执行后 AL= ;执行后 AL= 00H 00H 00H 5FH 0F5H 05H AND AL,0FH

6、若STR是字符串的首地址,指出下列程序的功能,并 将语句加上注解。 LEA BX,STR ;取STR 的偏移量放到BX中 MOV CX,20 ;_设置循环次数________ LP:CMP [BX],‘*’ JNZ NEXT ;BX所指单元内容不为‘*’,则转移至NEXT MOV [BX],‘$’ ;将BX所指单元用‘$’替代 NEXT:INC BX ;BX加1,指向下一个单元 LOOP LP ;CX-1不等于0则转移至LP处,继续循环 HLT 程序的功能:将STR开始的前20个字符中的‘*’用‘$’替代。 四、编程题

1、 从BLOCK开始有一个字节型数组,共有15个元素, 编写完整汇编源程序,计算这个数组中奇数的个数, 并将结果存入内存SUM单元。

2、从BUF开始有一个字节型数组,共有100个元素, 编写完整汇编源程序,计算这个数组中负数的个数, 并将结果存入内存COUNT单元。

3、从BUF开始,存放10个带符号的字节数据,编写 完整汇编源程序,找出该数据区中的最大数,并将 其存放至内存单元MAX中。 (答案略)

1、 从 BLOCK 开始有一个字节型数组,共有 15 个元素,编写完整汇编源程序,计算这个数 组中奇数的个数,并将结果存入内存 SUM 单元 DATA SEGMENT CON:MOV AL,[SI] BLOCK DB 15 DUP (?) TEST AL,01H SUM DB 00 JZ NEXT

DATA ENDS INC SUM CODE SEGMENT NEXT:INC SI ASSUME CS:CODE,DS:DATA LOOP CON START:MOV AX,DATA MOV AH,4CH MOV DS,AX INT 21H MOV SI,OFFSET BLOCK CODE ENDS MOV CX,15 END START 五、存储器扩展题

1.右图为8088 CPU和某 存储器电路连接图, 请回答以下问题: (1) 将CPU的信号线 与存储器相连。 (2) 存储器是什么类 型(RAM、ROM)? 总容量为多少?各存 储芯片的地址范围分 别是多少?

答:1)CPU与 存储器的 连接如右 图所示。 2) 存储器类型为:RAM ; 总容量为 4K×8 ; 地址范围: 0# 1# 2000H-27FFH 2800H-2FFFH 六、输入输出接口题

1、INTEL 8255A接口芯片 (1) 现给出INTEL 8255A 的应用电路如下,系统分配 给8255的地址为60H~63H。试分析该电路中8255 的A、B口分别是作为输入口,还是输出口? (2) 现给出8255A 工作方式控制字格式如下,请编写 程序片段对8255进行初始化,并读取电路中的开 关量,用LED发光二极管显示其对应的开关状态 (注:LED显示器“亮”,表示开关“断开”)。

1 D6 D5 D 4 D3 D2 D1 D 0 B组 PC 3~0 0: OUT 1: INPUT PB 7~0 0: OUT 1: INPUT PB 工作方式 0:0工作方式 1:1工

作方式 A 组 PC 7~4 0: OUT 1: INPUT PA 7~0 0: OUT 1: INPUT PA 工作方式 00:0工作方式 01:1工作方式 1x:2工作方式

解答: (1)A口作为输入口,B口作为输出口 (2)初始化: A口作为输入口,B口作为输出口,均工作于 方式0,则控制字为:90H(不唯一) 参考程序片段: …… MOV AL,90H OUT 63H,AL IN AL,60H OUT 61H,AL …… 2、根据下面的接口电路图,回答下列问题:

(1)这是一个什么接口电路图? 答:查询式输入接口电路图 (2)写出下列芯片的名称或功能(锁存、缓冲): U1:锁存器 U2:三态缓冲器(或三态门) (3) 电路图中的1、2、3、4、应接到何处?写出符号。 答:1. RD 2.M /IO 3.地址线A15~A0 4. RD The end!

执行下列指令后, AX寄存器中的内容是什么? 指令系统程序设计举例 10,20,30,40,50 TABLE DW DS:TABLE0AH ENTRY DW 3 14H 1EH . 28H 32H MOV BX,OFFSET TABLE ;取数据串偏移地址 DS:ENTRY03H ADD BX,ENTRY ;BX=BX+3 MOV AX,[BX] 此例中要注意: ) ;物理地址=DS×16+(BX 1)TABLE 和ENTRY的标号意义,这里为数据串的偏移地址的首 答案: (AX)=40 地址。 2)从存储器中取数据必须要知道数据在那个段和它的偏移地址 。

如果数据串定义在ES段中 ES:TABLE0AH 14H ENTRY DW 3 1EH 28H . 32H MOV BX,OFFSET TABLE ;取数据串偏移地址 ES:ENTRY 03H ADD BX, ES ENTRY ;BX=BX+3 TABLE DW 10,20,30,40,50 MOV AX, [BX] ;物理地址=ES×16+( BX) 此例中要注意: 答案: (AX)=40 1)TABLE 和ENTRY的标号在程序中只能出现一次,在段定义中 已经指明在ES段中。

例2:在使用中容易出错的指令用法 指出下列指令的错误: (1)MOV AH,BX ; 源、目的字长不一致 (2)MOV [SI],[BX] ;源、目的不能同时为存贮器寻址方式 基址变址方式不能有 BX和BP的组合 (3)MOV AX,[SI][DI] ;基址变址方式不能有 SI和DI的组合 (4)MOV AX,[BX][BP] ; (5)MOV[BX],ES:AX ;AX不能作为基址寄存器使用,而且源、目 的不能同时为存贮器寻址方式 (6)MOV BYTE PTR[BX],1000 ;1000超出一个字

节的表数范围 (7)MOV AX,OFFSET [SI] (8)MOV CS,AX (9)MOV DS,BP ; OFFSET只用于标号 ;CS不能作为目的寄存器 ;段地址不能直接送入数据段寄存器

例3: 推断指令的执行结果 DS:TABA 34H DATA SEGMENT 12H TABA DW 1234H XX DATA ENDS XX XX . XX MOV BX, TABA LEA BX, TABA 请写出上述两条指令执行后, BX寄存器中的内容。 答案: MOV BX,TABA ; 执行后(BX)=1234H ,内存中的数据 LEA BX,TABA ; 执行后(BX)=OFFSET TABA,偏移地址

DW DATAY DW DW 2316H 0237H 4052H 按下述要求写出指令序列: DATAX和DATAY中的两个字数据相 加, 和存放在DATAY和DATAY+2中。 实现的运算为:2316 0148H+4052 0237H=? MOV AX, DATAX ;取第一个要加数的低字 ADD AX, DATAY ;与第二个数低字相加,结果在AX中 MOV BX, DATAX+2 ;取第一个数要加的数的高字 ADC BX, DATAY+2 ;与第二个数高字相加,结果在BX中

例5:乘法指令应用(无符号) 两个16变量DATAY和DATAX定义如下: DATAY DW DW DATAX DW DW RESULT DW 0148H 2316H 0237H 4052H 12DUP(0) ;A ;B ;C ;D 按下述要求写出指令序列:DATAY和DATAX两个字相乘( 用MUL)。

×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 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 F X X X X X X X X X X X X X X X X X

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

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(0) DX(1) DX(2) DX(3) + C2 字3 + C2 AX(3) C1 字2 AX(1) +AX(2) C1 字1 字0 AX(0) MOV BX,WORD PTR DATAY ;取被乘数第一个字 MUL MOV MOV MOV MOV MUL MOV MOV BX ;(A×C) RESULT,AX ;结果低字 AX(0) RESULT+2,DX ;结果高字 DX(0) AX,WORD PTR DATAX ;取乘数第一个字 AX,WORD PTR DATAY+2 ;取被乘数第二个字 BX ;(A×D) RESULT+4,AX ;结果低字 AX(1) RESULT+6,DX ;结果高字 DX(1)

MOV MOV MUL MOV MOV MOV MOV AX,WORD PTR DATAX+2 BX,WORD PTR DATAY BX ;(B×C) RESULT+8,AX ;结果低字 ;取乘数第二个字 ;取被乘数第一个字 AX(2) RESULT+10,DX ;结果高字 DX(2) AX,WORD PTR DATAX+2 ;取乘数第二个字 BX,WORD PTR DATAY+2 ;取被乘数第一个字 MUL MOV BX ;(B×D) RESULT+12,AX ;结果低字 AX(3) MOV RESULT+14,DX ;结果高字 DX(3)

MOV AX,RESULT+2 MOV BX,RESULT+4 MOV DX,RESULT+8 ADD ADC AX,BX AX,DX ;DX(0)+AX(1)+AX(2) MOV RESULT+2, AX MOV AX,RESULT+6 MOV BX,RESULT+10 MOV DX,RESULT+12 ADC AX,BX ADC AX,DX ;DX(1)+DX(2)+AX(3)

例6:移位指令应用 试分析下面的程序段完成什么操作? MOV CL,04 SHL DX,CL ;DX左移4位。左移次数CL中 的数 MOV BL,AH SHL AX,CL ; AX左移4位 SHR BL,CL ; BL右移4位 答案: 将DX、AX中的字左移4位, BL右移4位 例7:变量N1和N2均为2字节的非压缩BCD数码,请写出计算 N1与N2之差的指令序列。非压缩BCD码格式:0000XXXXH MOV AX, 0 ;(MOV AH,00H)AX高8位清0 MOV AL, N1 ;取个位数 SUB AL, N2 ;个位减 AAS ;非压缩的BCD数的减法结果进行调整 MOV DL, AL MOV AL,

N1+1 SBC AL, N2+2 ;将正确结果保存在DL中 ;取十位数 ;十位减,考虑个位有借位 AAS ;非压缩的BCD数的减法结果进行调整 MOV DH, AL ;将正确结果保存在DH中 例8:假设(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的值。 (1)SBB AX,BX ; 2060H-3000H (AX)=F05FH, (SF)=1, (ZF)=0, (OF)=0, 假设(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的值。 (2) CMP AX,WORD PTR[SI+0FA0H];2060HA006H 目的操作数的地址:DS×16+SI+0FA0H

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)=1

OF=1 两数符号相反(正数-负数、或负数正数),而结果符号与减数相同。 OF=0 同符号数相减时或不同符号数相减,而 结果符号与减数不相同。

假设(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的值。

MUL BYTE PTR[BX] 目的操作数的地址:DS×16+(BX) =40000H+3000=43000H (43000H)=A006H 此操作为:60H×06H=0240H (AX)=0240H, (OF)=1, (CF)=1 乘法指令运算结果影响状态标志,但对CF、OF 有特殊的定义。 当乘积的高半部分为0(AH=0或DX(高位) =0)时,CF=0、OF=0,表示高半部分无有效数,

假设(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

的值。 (4) DIV BH;AX/BL(2060H÷30H) (AX)=2060H (4) DIV BH;AX/BL(2060H÷30H) (AX)=2060H AL=商,AH=余数 2060H=4096×2+96=8288 8288÷48=172 余数=32 除法不影响标志位

假设(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) SAR AX,CL ;算术右移5次 (AX)=0103H, (CF)=0 2060H=0010 0000 0110 0000B 0000 0001 0000 0011 B 00000B

假设 (AX)=2060H, 请写出下列各条指令单 独执行完后, 有关寄存器及存储单元的内容, 若影响条件码请给出条件码SF、ZF、OF、CF 的值。 (6) XOR AX,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)=2000H,

(AX)=2060H,

(BX)=3000H, (SI)=2060H, (43000H)=0A006H, (33000H)=0F802H,

(23000H)=0B116H,

(25060)=00B0H,.(SP)=0FFFEH, 请写出下列 各条指令单独执行完后, 有关寄存器及存储单 元的内容, 若影响条件码请给出条件码SF、 ZF、OF、CF的值。 (7) XCHG AX,ES:[BX+SI] 目的操作数的地址:ES×16+(BX+SI) =20000H+3000+2060=25060H (25060H)=00B0H ARRAY偏移地址为0050H,20250H)=1234H,(40100H)=00A0H, (40102H)=2200H。填空回答下列问题。 (1)MOV AX,[BP][DI];源操作数物理地址= H ;源操作数物理地址= H ;源操作数有效地址= ;源字段的寻址方式是 H H H H 指令执行后(AX)= (2)POP AX 指令执行后(AX)= (3)PUSH (4)LEA ES:[BX] DI,ARRAY 指令执行后(DI)= (5)JMP (6)ADD BX;指令执行后(IP)= H AL,BYTE PTR ARRAY[BX] ;源字段的寻址方式是 ?

(1)源操作数物理地址= 指令执行后(AX)= 40102 H 2200 H (2)源操作数物理地址= 指令执行后(AX)= 40100 H 00A0 H 200H H (3)源操作数有效地址= (4)源字段的寻址方式是 直接寻址方式 指令执行后(DI)= 0050 H 200 H (5)指令执行后(IP)= (6)源字段的寻址方式是 寄存器相对寻址方式 指令执行后(AL)= 34 H

因篇幅问题不能全部显示,请点此查看更多更全内容