第一范文网 - 专业文章范例文档资料分享平台

微机原理习题3

来源:用户分享 时间:2025/5/25 8:34:50 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

XCHG 20H[BX][SI],AX

答(1) (CX)=56F6H; (2) (09226H)=5678H; (3) (AX)=1E40H; (4) (1E4F6H)=0024H;

(5) (09226H)=1234H,(AX)=5678H. 6.已知(SS)=09l 5H,(DS)=0930H,(SI)=0A0H,(DI)=1C0H,(BX)=80H,(BP)=470H。现有一指令“MOV AX,OPRD”,如源操作数的物理地址为095C0H,试用四种不同寻址方式改写此指令(要求上述每个已知条件至少要使用一次)。 答:(1)MOV AX,[BP]

(2)MOV AX,[BP+DI+80H] (3)MOV AX,[DI+0100H] MOV AX,[SI+0220H] (4)MOV AX,[02C0H]

7.试按下列要求分别编制程序段:

(1) 把标志寄存器中符号位SF置‘1’。 (2) 寄存器AL中高低四位互换。

(3) 由寄存器AX,BX组成一个32位带符号数(AX中存放高十六位),试求这个

数的负数。

(4) 现有三个字节存储单元A,B,C。在不使用ADD和ADC指令的情况下,

实现(A)+(B)=>C。

(5) 用一条指令把CX中的整数转变为奇数(如原来已是奇数,则CX中数据不变,

如原来是偶数,则(CX)+1形成奇数)。

答:(1)MOV AH, 80H

SAHF

(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 MOV [C], BH (5 ) MOV AX, CX NOT AX TEST 01H JNZ NEXT HLT

NEXT: INC CX HLT

8.试给出下列各指令的机器目标代码:

(1) MOV BL,12H[SI] (2) MOV 12H[SI],BL

(3) SAL DX,1

(4) ADD 0ABH[BP][DI],1234H 答: (1) 10001010,11011111=8ADF; (2) 10001000,01011100=885C; (3) 11010001,11100010=D1E2; (4) 10000001,10000001=8181. 9.执行下列指令后:

STR1 DW ‘AB’ STR2 DB 16DUP(?) CNT EQU $-STR1 MOV CX,CNT MOV AX,STR1 HLT

寄存器CL的值是多少?寄存器AX的值是多少?

答:寄存器CL的值为12H,寄存器AX的值为4241H。

10.JMP FAR PTR ABCD(ABCD是符号地址)的转移方式是什么?

答:JMP FAT PTR ABCD 的转移方式是段间直接转移.

11.MOV AX,ES:[BX][SI]的源操作数的物理地址是多少(用CS、DS、ES、SS、BX、SI表示出即可)?

答 :MOV AX,ES:[BX] [SI]的源操作数的物理地址是[ES]×10H+[BX]+[SI]. 12.运算型指令的寻址和转移型指令的寻址,其不同点在什么地方?

答:运算型指令的寻址包括立即数寻址。寄存器寻址,直接寻址,寄存器间接寻址,寄存器

相对寻址和基址加变址寻址方式。这些寻址方式中,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,说明最高有效位发生了什么现象?对无符号 数来说,操作结果发生了什么现象?

答:执行指令SUB AX,BX后,CF=1,说明最高位发生了借位对无符号来说,操作结果发生了溢出。

15.在1000H单元中有一条二字节指令JMP SHORT LAB,如果其中的偏移量分别为 30H、6CH、0B8H,则转向地址LAB的值分别为多少? 答:转向地址LAB的值分别为: 1000×10H+2H+30H=10032H 1000×10H+2H+6CH=1006EH 1000×10H+2H+B8H=100BAH

16.下面两个语句的区别在什么地方:

X1 EQU 1000H X2=1000H 答:“EQU”和“=”都可以作为赋值语句,但二者的区别是EQU伪操作中的表达式是不许重复定义的,而“=”伪操作则许重复定义。 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

答:(1)ADD AL,BL 1 0 0 1 1 0 1 0 +)1 0 1 1 1 1 0 0 1,0 1 0 1 0 1 1 0 ∴ZF=0,PF=1 CF=1 SF=0

(2)SUB AL,BL

1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 —)1 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=1 (3)AND AL,BL

1 0 0 1 1 0 1 0

AND)1 0 1 1 1 1 0 0 ∴ ZF=0 PF=0 CF=0 SF=0 1 0 0 1 1 0 0 0 (4)OR AL,BL

1 0 0 1 1 0 1 0 OR)1 0 1 1 1 1 0 0

∴ ZF=0 PF=1 CF=0 SF=0 1 0 1 1 1 1 1 0 (5)XOR AL,BL

1 0 0 1 1 0 1 0

XOR)1 0 1 1 1 1 0 0 ∴ ZF=0 PF=0 CF=0 SF=0 0 0 1 0 0 1 1 0

19.若(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.堆栈存取操作是以字节为单位的.试分析当堆栈存入数据和从堆栈取出数据时SP 的变化?

答:当堆栈存入一个字时,(SP)<—SP—2

从堆栈中取出一个字时(SP)<—SP+2

23.试编写汇编程序段完成以下功能:将1000个字符的字符串从内存的BUFFER1搬 移到内存的BUFFER2中去。 解答 LEA SI,BUFFER1 LEA DI,BUFFER2 MOV CX,1000 CLD

REP MOVSb

24.试编写汇编程序段完成以下功能:将数据段中100个字的数据块BLOCK1搬移到 同一个数据段的BLOCK2中去。 解答: LEA SI,BLOCK1

LEA DI,BLOCK2 MOV CX,100 CLD

REP MOVSW

25.试编写汇编程序段完成以下功能:比较DEST和SOURCE中的500个字节,找出 第一个不相同的字节,如果找到,则将SOURCE中的这个数送AL中。 解答: CLD

LEA DI,DEST LEA SI,SOURCE MOV CX,500 REPE CMPB JCXZ NEXT DEC SI

MOV AL,BYTE PTR[SI] NEXT:HLT

26.试编写汇编程序段完成以下功能:求最大值,若自BLOCK开始的内存缓冲区中, 有100个带符号的数,希望找到其中最大的一个值,并将它放到MAX单元中。 解答:MOV BX,OFFSET BLOCK

MOV AX,[BX] MOV CX,100 ADD BX,2 F0:CMP AX,[BX]

JGE F1 MOV AX,BX F1:ADD BX,2

JCXZ NEXT JMP F0

MOV MAX,AX NEXT:HLT

27.假定(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,[SI][DI]

(4)MOV MYDAT[BX][SI],ES:AX (5)MOV BYTE PTR[BX],1000 (6)MOV BX,OFFSET MYDAT[SI] (7)MOV CS,AX 答:(1)MOV AH,BX AH 为八位,BX为16位

搜索更多关于: 微机原理习题3 的文档
微机原理习题3.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4nkye2ptlj58u602wq6s_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top