当前位置:文档之家› 微机原理第三,四章练习题

微机原理第三,四章练习题

微机原理第三,四章练习题
微机原理第三,四章练习题

第三、四章

1、指令“MOV AX,BX”源操作数的寻址方式为()

A.立即寻址

B.直接寻址

C.寄存器寻址

D.寄存器间接寻址

2、指令“MOV AX,[2000H]”源操作数的寻址方式为()

A.立即寻址

B.直接寻址

C.寄存器寻址

D.寄存器间接寻址

3、若DS=3000H,SS=5000H,[32000H]=00H,[32001H]=40H,[52000H]=34H,[52001H]=12H,则指令“MOV AX,[2000H]”执行后AX

的内容为()

A.00H

B.4000H

C.34H

D.1234H

4、指令“MOV AX,[SI]”源操作数的寻址方式为()

A.立即寻址

B.直接寻址

C.寄存器寻址

D.寄存器间接寻址

5、若DS=3000H,SS=5000H,SI=1000H,[31000H]=20H,[31001H]=60H,[51000H]=34H,[51001H]=12H,则指令“MOV AX,[SI]”执

行后AX的内容为()

A.20H

B.6020H

C.34H

D.1234H

6、指令“MOV AX,[BP]”源操作数的寻址方式为()

A.立即寻址

B.直接寻址

C.寄存器寻址

D.寄存器间接寻址

7、若DS=3000H,SS=5000H,BP=1000H,[31000H]=20H,[31001H]=60H,[51000H]=34H,[51001H]=12H,则指令“MOV AX,[BP]”执

行后AX的内容为()

A.20H

B.6020H

C.34H

D.1234H

8、指令“MOV AX,[BP+SI]”源操作数的寻址方式为()

A.立即寻址

B.直接寻址

C.寄存器寻址

D.基址加变址寻址

9、若DS=3000H,SS=5000H,BP=2000H,SI=1000H,[33000H]=20H,[33001H]=60H,[53000H]=34H,[53001H]=12H,则指令“MOV AX,[BP+SI]”

执行后AX的内容为()

A.20H

B.6020H

C.34H

D.1234H

10、在下面80x86指令中,合法的是()

A.ADD 01H,BL

B.SHL CL,AX

C.OUT 258H,AL

D.MOV BX,01H

11、在Intel 8086系统中,若一个32位的存储数11223344H的地址为10000H,则10000H和10003H的字节单元内容分别为()

A.44H和11H

B.11H和33H

C.3344H和1122H

D.1122H和3344H

12、下列叙述中,正确的是()

A.汇编程序MASM.EXE就是汇编语言源程序

B.汇编程序是对源程序进行编辑、修改的程序

C.汇编的结果是生成后缀为.EXE的可执行程序

D.汇编的结果是生成后缀为.OBJ的目标代码程序

13、下列8086/8088指令中,能用来判断AL中最高位是否为1的是()

A.CMP AL,81H

B.TEST AL,80H

C.RCR AL,1

D.AND AL,01H

14、下列4条8086/8088指令中,()指令在执行后将使进位标志置1

A.CLC

B.MOV CX,1

C.STC

D.INC DX

15、下列8086/8088指令中,不影响堆栈内容的指令是()

A.PUSH

B.RET

C.CALL

D.JMP

16、要定义一个子程序,应采用以下伪指令组()

A.SEGMENT ...... ENDS

https://www.doczj.com/doc/ec15982406.html, ...... END

C.PROC ...... ENDP

D.MACRO ...... ENDM

17、下面伪指令经汇编后,标号STOR和DATA所代表的偏移地址为()

ORG 3000H

STOR DW 12,34,56,78

SUM D B ‘1234’

DATA DB 05H,06H,07H,08H

A.3000H、300CH

B.0000H、000CH

C.1000H、100CH

D.3000H、3012H

18、根据以下伪指令语句,数据段中偏移地址为0005H 和000AH单元的内容是()DATA SEGMENT

STR DB ‘ABCDEFG’

DW ‘?’

DB 10H,20H

DATA ENDS

A. 45H,20H

B. 46H,10H

C. 45H,10H

D. 46H,20H

19、下列指令中不会改变指令计数器IP的是( )

A.MOV

B.JMP

C.CALL

D.RET

20、8088/8086系统中,可以用于间接寻址的寄存器为()。

A. BX,SI,DI,BP

B. AX,SI,CX,BP

C. AX,BX,CX,DX

D.SI,DI,SP,BP

21、下列8086/8088指令中,语法格式错误的是()

A. MOV AX,1000H

B. MOV AX,BX

C. MOV [AX],[1000H]

D. MOV AX,[1000H]

22、下列指令中,合法的8086/8088指令只有()

A.MOV AX,[BX+BP]

B.MOV CS,2000H

C. SUB AL,38H

D. PUSH AL

23、执行PUSH AX指令后,堆栈指针SP的内容()

A.减1

B.减2

C.加1

D. 加2

24、下列指令中,不影响进位的指令是()

A. ADD AX,BX

B.MUL BL

C.INC BX

D.SUB AL,0BH

25、下列4组指令中,执行后实际效果不相同的是第()组

A.LEA BX,BUFFER B. SHL [1000H],CL

MOV BX,OFFSET BUFFER SAL [1000H],CL

C. XOR AX,AX

D. SUB DL,23

MOV AX,0 CMP DL,23

26、指令“MOV 5[BX+DI],AX”中,目的操作数的寻址方式是()

A.寄存器寻址

B.直接寻址

C.寄存器间接寻址

D.立即寻址

27、MOV AX,5[BP]这条指令中,BP指出的内存单元的段地址默认在()寄存器中

A.CS

B.DS

C.ES

D.SS

28、设SP=1000H,CS=2140H,IP=1FC0H,在执行段间调用指令后,堆栈段内0FFEH单元的内容为()

A.1FH

B.0C0H

C.21H

D.40H

29、设SP=0008H,SS=F0A8H,执行POP AX 指令后堆栈顶部的物理地址为()

A.000EH

B.F0A86H

C.000AH

D.F0A8AH

30、根据以下伪指令语句,104H和10AH单元的内容是()

ORG 100H

STR DB ‘ABCDEFGH’

DW ‘?’

DB 10H,20H

A.45H,3FH

B.46H,10H

C.45H,10H

D.46H,20H

31、DS寄存器的功能是()

A.存放数据段的段地址

B.存放堆栈段的段地址

C.存放堆栈段的偏移地址

D.存放代码段的偏移地址

32、下列指令中格式错误的是()

A.INC BYTE PTR [DI]

B.MOV AX,[BX]

C.SHL BL,CL

D.OUT AL,DX

33、下列指令中格式正确的是()

A.LEA AX,[BX+SI+59H]

B.ROL CX,5

C.POP CS

D.MOV [DI],[BX]

34、下列指令中,不能实现将AL寄存器清零的指令是()

(1)CMP AL,AL (2)SUB AL,AL

(3)XOR AL,AL (4)MOV AL,0

A.(1)

B.(2)

C.(3)

D.(4)

35、下列4条指令中,()条指令对标志位没有影响

A. INC AL

B. MOV AX,BX

C. ADD AX,BX

D. TEST AL,80H

36、8086/8088的指令DIV CL,其结果的商存在( )中

A.AH

B.AL

C.CL

D.AX

37、以下伪指令中,()定义一个宏

A.MACRO.................ENDM

https://www.doczj.com/doc/ec15982406.html,...................END

C.PROC...................ENDP

D.SEGMENT...................ENDS

38、下面叙述中,错误的是()

A.DEBUG程序中的D命令用来显示内存数据

B.DEBUG程序中的U命令用来将指定范围的代码反汇编成源程序显示内存数据

C.DEBUG程序中的W命令用来将正在调试的程序写入磁盘

D.DEBUG程序中的R命令用来显示内存数据

39、下面指令中,()采用了基址加变址的寻址方法

A.RCL [BX],CL

B.ADD [BX][DI],AX

C.CMP BX,AX

D.INC WORD PTR[BP+50]

40、在堆栈段内,有效地址为2500H到2505H单元内依次存放10H、20H、30H、40H、50H、60H六个数,已知SP=2502H,执行POP BX 指令后,有()

A.SP=2502H,BX=1020H

B. SP=2502H,BX=2010H

C.SP=2504H,BX=3040H

D. SP=2504H,BX=4030H

41、能判断累加器AX是否为全0的下面4种方法中,正确的有()种

(1)SUB AX,0

JZ L1

(2)XOR AX,0

JZ L1

(3)OR AX,AX

JZ L1

(4)TEST AX,0FFFFH

JZ L1

A.1

B.2

C.3

D.4

42、下列8086/8088指令中,有语法格式错误的是()

A.XOR AL,AL

B.MOV AL,[CX]

C.XCHG AX,DX

D.OUT DX,AL

43、下列8086/8088指令中,无语法格式错误的是()

A.LEA AX,DATA1

B.ROL CL,CX

C. POP 2000H

D.MOV [DI],[SI]

44、下面8086/8088指令执行后,不影响进位标志的是()

A.ADD

B.SUB

C.DEC

D.ROR

45、设SP=000CH,SS=F0A8H,执行POP AX 指令后堆栈顶部的物理地址为()

A.000EH

B.F0A8EH

C.000AH

D.F0A8AH

46、对以下四种软件的表述,()是错误的

A.DEBUG是汇编程序调试工具

B.MASM是一种程序设计语言

C.LINK将目标代码连接成可执行程序

D.EDIT用来进行文本编辑

47、汇编语言中,语句标号就是()

A.文件名

B.对应指令的符号地址

C.程序名

D.常量的符号表示

48、下列叙述中,正确的是()

A.汇编程序是汇编语言源程序

B.汇编程序是对源程序进行编辑、修改的程序

C.汇编的目的只是检查汇编语言源程序的语法错误

D.汇编的结果是生成后缀为.OBJ的目标程序

49、下列指令中,格式错误的指令数目是()

MOV DS , 20[SI+BX] PUSH CS

MUL 50 PUSH [DI+IP]

A.4

B.3

C.2

D.1

50、下列指令中,合法的8086/8088指令只有()

A.MOV AX,[BX+BP]

B.ROL CX,CX

C.PUSH CS

D.MOV [1000H],[2000H]

51、下列4条指令中,只有()这条指令对进位标志有影响

A.NOT AL

B.MOV AL,80H

C.ADD AX,BX

D.LOOP NUM

52、下列4组指令中,执行后实际效果相同的有()组

(1)LEA BX,BUFFER (2)SHL [1000H],CL

MOV BX,OFFSET BUFFER SAL [1000H],CL

(3)XOR AX,AX (4)SUB DL,23

MOV AX,0 CMP DL,23

A.4

B.3

C.2

D.1

53、下列指令中,格式正确的是()

A.MOV AX,[DI+SI]

B.MOV CX,[BX+BP]

C.MOV DX,[AX+BX]

D.MOV AX,[BP+SI]

54、8086/8088的下列指令中,错误的指令条数是()

SAL AX,3 MOV AX,DS:[BX+BP]

MUL [BX]3[DI] POP CS

A.1

B.2

C.3

D.4

55、8086/8088的下列指令中,错误的是()

A. MOV AX,357AH[BX][DI]

B. OUT DX,AL

C. LEA AX,50H[BX][BP]

D.RCR BX,1

56、8086/8088的下列指令中,错误的指令条数是()

PUSH WORD PTR 30[BX+SI] MOV BYTE PTR [BX],300

ADD AX,300 MUL 30

A. 1

B. 2

C. 3

D. 4

17、在8086/8088中若AH为0FH,则下列4组指令中,能转到NEXT的有( C )组(1)TEST AH,0FH (2)XOR AH,0FH (3)CMP AH,0FH (4)SUB AH,0FH

JZ NEXT JZ NEXT JZ NEXT JZ NEXT

A. 1

B. 2

C. 3

D. 4

58、8086/8088的下列指令中,错误的的是()

A. MOV BH,BL

B. MOV DS,200H[SI+BX]

C. MOV CS,2000H

D. IN AL,DX

59、以下伪指令中,()定义一个逻辑段

A.MACRO.................ENDM

https://www.doczj.com/doc/ec15982406.html,...................END

C.PROC...................ENDP

D.SEGMENT...................ENDS

60、下列8086/8088指令中,格式错误的指令条数为()

IN AL,DX MOV AL,ES:[BX]

MUL [BX] MOV AX,DS:[BP]

A. 4

B.3

C.2

D.1

61、8086/8088的指令DIV CL,其结果的余数存在( )中

A.AH

B.AL

C.CL

D.AX

62、8086/8088的指令DIV CX,其结果的余数存在( )中

A.AH

B.AL

C.DX

D.AX

63、8086/8088的指令DIV CX,其结果的商在存( )中

A.AH

B.AL

C.DX

D.AX

64、8086/8088的指令DIV CX,其被除数存在( )中

A.AX

B.CX

C.DX

D.DX、AX

65、8086/8088的指令DIV CX,其除数存在( )中

A.AX

B.CX

C.DX

D.DX、AX

66、8086/8088的指令DIV CL,其除数存在( )中

A.AH

B.AL

C.CL

D.AX

67、8086/8088的指令DIV CL,其被除数存在( )中

A.AH

B.AL

C.CL

D.AX

68、8086/8088的指令MUL BL,其被乘数存在()中

A.AH

B.AL

C.BL

D.AX

69、8086/8088的指令MUL BL,其乘数存在()中

A.AH

B.AL

C.BL

D.AX

70、8086/8088的指令MUL BL,其结果存在()中

A.AH

B.AL

C.BL

D.AX

71、8086/8088的指令MUL BX,其结果存在()中

A.AX

B.BX

C.DX

D.DX、AX

72、8086/8088的指令MUL BX,其乘数存在()中

A.AX

B.BX

C.DX

D.DX、AX

73、8086/8088的指令SHL AH,1,被移出的那一位存入了()中

A.AH的最高位

B.AH的最低位

C.CF

D.不保存,被丢弃了

74、8086/8088的指令SAL AH,1,被移入的那一位是()

A.AH的最高位的值

B.AH的最低位的值

C.CF的原值

D.以上都不对

75、8086/8088的指令ROR AH,1,对于被移出的那一位下列说法正确的是()

A.只存入了AH的最高位中

B.只存入了AH的最低位中

C.既存入了AH的最高位中,又存入了CF

D.既存入了AH的最低位中,又存入了CF

76、8086/8088的指令RCL AH,1,被移入的那一位是()

A.AH的最高位的值

B.AH的最低位的值

C.CF的原值

D.以上都不对

77、下列关于8086/8088移位指令的说法中错误的是()

A.所有以为指令的目标操作数,只允许是8位或16位的通用寄存器或存储器。

B.指令中的移位计数值是常数1,若大于1,必须先存入CL寄存器中。

C.标志位CF在移位之后总是等于目标操作数最后移出的那一位。

D.一条移位指令最多可以移动256位。

78、下列8086/8088指令中,不回送执行结果,只根据结果设置标志位的是()

A.MOV AX,0

B.AND BL,0FH

C.CMP AL,BL

D.SHL DL,1

79、下列8086/8088指令中,不回送执行结果,只根据结果设置标志位的是()

A.ADD AL,BL

B.REP MOVSB

C.TESL AL,01H

D.JNZ NEXT

80、8086/8088 属性是NEAR的JMP指令的相对转移范围为()

A.-65536~+65535字节

B.-128~+127字节

C.-32768~+32767字节

D.-256~+255字节

81、8086/8088 属性是SHORT的JMP指令的相对转移范围为()

A.-65536~+65535字节

B.-128~+127字节

C.-32768~+32767字节

D.-256~+255字节

82、若CS=DS=1000H,BX=2000H,[12000H]=00H,[12001H]=30H,则执行指令JMP WORD PTR [BX]后,寄存器IP所存内容为()

A.1000H

B.2000H

C.3000H

D.13000H

83、若CS=DS=1000H,BX=2000H,[12000H]=00H,[12001H]=30H,则执行指令JMP WORD PTR [BX]后,程序转移到物理地址为()

的单元继续执行

A.2000H

B.12000H

C.3000H

D.13000H

84、若CS=1000H,BX=2000H,[12000H]=00H,[12001H]=30H,则执行指令JMP BX后,寄存器IP所存内容为()

A.1000H

B.2000H

C.3000H

D.12000H

85、若CS=1000H,BX=2000H,[12000H]=00H,[12001H]=30H,则执行指令JMP BX后,程序转移到物理地址为()

的单元继续执行

A.1000H

B.2000H

C.13000H

D.12000H

86、8086/8088的基本串操作的源操作数和目标操作数分别用()寄存器寻址

A. SI,DI

B.SI,SI

C.DI,SI

D.DI,DI

87、8086/8088的基本串操作的源操作数和目标操作数的段地址分别存在()中

A.DS,ES B、DS,DS C、ES,ES D、必须在程序中分别制定

88、下列说法中错误的是()

A.8086宏汇编语言中的指令语句经过汇编和连接生成计算机可执行的机器指令代码。

B.8086宏汇编语言中的伪指令语句在汇编时被解释执行,而不会生成相应的目的代码。

C. 8086宏汇编语言中用“EQU”定义的常量在同一程序模块中可以重新定义。

D. 8086宏汇编语言中用“=”定义的常量在同一程序模块中可以重新定义。

89、下列说法中错误的是()

A. 8086宏汇编语言中,对于用“EQU”定义的常量,不会为其分配存储单元。

B. 8086宏汇编语言中,对于用“DB”定义的变量,会为其分配存储单元。

C. 8086宏汇编语言中的所有语句经过汇编和连接后都将生成与之对应的计算机可执行的机器指令代码。

D. 8086宏汇编语言中的变量和标号都具有SEGMENT,OFFSET和TYPE 3种属性。

90、根据数据定义指令“RES DW ? ”,在执行指令MOV AX,TYPE RES后,AX的内容为()

A. 1

B.2

C. ?

D. RES

91、根据数据定义指令“TABLE DW 100 DUP (?) ”,在执行指令MOV AX,TYPE TABLE 后,AX的内容为()

A. 1

B.2

C. 100

D. ?

92、根据数据定义指令“TABLE DW 100 DUP (?) ”,在执行指令MOV AX,LENGTH TABLE 后,AX的内容为()

A. 1

B.2

C. 100

D. ?

93、根据数据定义指令“TABLE DW 100 DUP (?) ”,在执行指令MOV AX,SIZE TABLE 后,AX的内容为()

A. 1

B.2

C. 100

D. 200

94、根据数据定义指令“ARRAY DB ‘ABCD’”,在执行指令MOV AX,LENGTH ARRAY后,AX的内容为()

A. 1

B.2

C. 4

D.’ABCD’

微机原理习题解答第四章-

第四章 1.在下列程序运行后,给相应的寄存器及存储单元填入运行的结果: MOV AL,10H MOV CX,1000H MOV BX,2000H MOV [CX],AL XCHG CX,BX MOV DH,[BX] MOV DL,01H XCHG CX,BX MOV [BX],DL HLT 解:寄存器及存储单元的内容如下: AL=10H BL=00H BH=20H CL=00H CH=10H DL=01H

DH=10H (1000H=10H (2000H=01H 2.要求同题4.1,程序如下: MOV AL,50H MOV BP,1000H MOV BX,2000H MOV [BP],AL MOV DH,20H MOV [BX],DH MOV DL,01H MOV DL,[BX] MOV CX,3000H HLT 解:寄存器及存储单元的内容如下: BL=00H BH=20H CL=00H CH=30H

DL=20H DH=20H BP=1000H (1000H=50H (2000H=20H 3.自1000H单元开始有一个100个数的数据块,若要把它传送到自2000H开始的存储区中去,可以采用以下三种方法实现,试分别编写程序以实现数据块的传送。 (1不用数据块传送指令。 (2用单个传送的数据块传送指令。 (3用数据块成组传送指令。 解:(1LEA SI,1000H LEA DI,2000H MOV CX,100 L1: MOV AX,[SI] MOV [DI],AX LOOP L1 HLT (2LEA SI,1000H LEA DI,2000H

微型计算机原理 (第三章课后答案)教学教材

微型计算机原理(第三章课后答案)

微型计算机原理 第三章 80X86微处理器 1.简述8086/8088CPU中BIU和EU的作用,并说明其并行工作过 程。答: (1) BIU的作用:计算20位的物理地址,并负责完成CPU与存储器或I/O端口之间的数据传送。 (2) EU的作用:执行指令,并为BIU提供所需的有效地址。 (3) 并行工作过程:当EU从指令队列中取出指令执行时,BIU将从内存中取出指令补充到指令 队列中。这样就实现了取指和执行指令的并行工作。 2.8086/8088CPU内部有哪些寄存器?其主要作用是什么? 答:8086/8088CPU内部共有14个寄存器,可分为4类:数据寄存器4个,地址寄存器4个,段寄 存器4个和控制寄存器2个。其主要作用是: (1) 数据寄存器:一般用来存放数据,但它们各自都有自己的特定用途。 AX(Accumulator)称为累加器。用该寄存器存放运算结果可使指令简化,提高指令的执行速度。 此外,所有的I/O指令都使用该寄存器与外设端口交换信息。 BX(Base)称为基址寄存器。用来存放操作数在内存中数据段内的偏移地址, CX(Counter)称为计数器。在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化, 有利于提高程序的运行速度。 DX(Data)称为数据寄存器。在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长

乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。 (2) 地址寄存器:一般用来存放段内的偏移地址。 SP(Stack Pointer)称为堆栈指针寄存器。在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时, 每执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶。 BP(Base Pointer)称为基址寄存器。作为通用寄存器,它可以用来存放数据,但更经常更重要的 用途是存放操作数在堆栈段内的偏移地址。 SI(Source Index)称为源变址寄存器。SI存放源串在数据段内的偏移地址。 DI(Destination Index)称为目的变址寄存器。DI存放目的串在附加数据段内的偏移地址。 (3) 段寄存器:用于存放段地址 CS(Code Segment)称为代码段寄存器,用来存储程序当前使用的代码段的段地址。 CS的内容 左移4位再加上指令指针寄存器IP的内容就是下一条要读取的指令在存储器中的物理地址。 DS(Data Segment)称为数据段寄存器,用来存放程序当前使用的数据段的段地址。 DS的内容左 移4位再加上按指令中存储器寻址方式给出的偏移地址即得到对数据段指定单元进行读写的物理地址。 SS(Stack Segment)称为堆栈段寄存器,用来存放程序当前所使用的堆栈段的段地址。堆栈是存 储器中开辟的按“先进后出”原则组织的一个特殊存储区,主要用于调用子程序或执行中断服务程

微机原理第四章课后习题答案

第四章课后作业(6—27) 6.试按下列要求分别编制程序段。 (1)把标志寄存器中符号位SF置“1”。 (2)寄存器AL中高、低四位互换。 (3)由寄存器AX、BX组成一个32位带符号数(AX中存放高16位),试求这个数的负数。 (4)现有三个字节存储单元A、B、C,在不使用ADD和ADC指令的情况下,实现(A)+(B) C。 (5)用一条指令把CX中的整数转变为奇数(如原来已是奇数,则CX中数据不变,如原来是偶数,则(CX)+1 形成奇数)。 答: (1) LAHF OR AH,80H SAHF (2) MOV CL,4 ROL AL,CL (3) MOV CX,0 NEG BX JC CHG JMP GO CHG: MOV CX,1 GO: NEG AX SUB AX,CX (4) MOV CL,A MOV AL,B MOV X,AL CHECK:INC X DEC CL JNZ CHECK (5) OR CX,0001H 7.试给出下列各指令的机器目标代码。 (1)MOV BL,12H [SI] (2)MOV 12H [SI],BL (3)SAL DX,1 (4)AND 0ABH [BP] [DI],1234H

答:(1)100010 1 0 01 011 100 00010010=8A5C12H (2)100010 0 0 01 011 100 00010010=885C12H (3)110100 0 1 11 100 010=0D1E2H (4)100000 0 1 10 100 011 10101011 00000000 00110100 00010010 =81A3AB003412H 8.执行下列指令: STR1 DW ‘AB’ STR2 DB 16DUP(?) CNT EQU $-STR1 MOV CX,CNT MOV AX,STR1 HLT 执行完成之后,寄存器CL的值是多少?寄存器AX的值是多少? 答:因为CNT=16+2=18,所以CX=18=0012H,所以CL=12H=0001,0010; AX中装入的是‘AB’的ASCII码值,其中‘A’在高位AH中,‘B’在低位AL中,所以AX=4142H=0100,0001,0100,0010。 9.JMP FAR PTR ABCD (ABCD是符号地址)的转移方式是什么? 答:段间直接转移。 10.按下列指令写出相应指令或程序段。 (1)写出两条使AX寄存器内容为0的指令。 (2)使BL寄存器中的高、低4位互换。 (3)现有两个带符号数分别在X1和X2变量中,求X1/X2,商和余数分别送入Y1和Y2中。 (4)屏蔽BX寄存器中的b4、b6、b11位。 (5)将AX寄存器的b4、b14位取反,其它位不变。 (6)测试DX寄存器的b0、b9位是否为“1”。 (7)使CX寄存器中的整数变为奇数(如原已经是奇数,则不变)。 答:(1)MOV AX,0 XOR AX,AX (2)MOV CL,4 ROL BL,CL (3)MOV AX,X1 CWD IDIV X2 MOV Y1,AX MOV Y2,DX (4)AND BX,1111 O111 1O10 1111 (5)XOR AX,0100 0000 0001 0000 (6)MOV AX,DX RCR AX,1 JC B0Y ;转向表示b0是1的标号为B0Y的程序段

微机原理习题第四章

一、问答题: 1、微型计算机是由哪几部分组成的?各部分的功能是什么? 微型计算机是由五部分组成,包括控制器,运算器,存储器、输入设备,输出设备; 控制器控制计算机运转,计算器主要是算术运臬和逻辑运算,存储器主要是存储信息,输入设备主要是输入信息给计算机,输出设备主要是计算机输出信息。 2、IBM PC机的主存有哪几种存储器?它们的作用各是什么? IBM PC机的主存主要有只读存储器和随机存储器。只读存储器只能读出,不能写入,随机存储器可以写入也可以读出。 3、8086微处理器的字长是多少?能直接访问的存储单元有多少字节? 8086微处理器的字长为16位,能直接访问的存储单元可以是2个字节。 4、8088微处理器的逻辑地址是由哪几部分组成的?怎样将逻辑地址转换为物理地址? 8088微处理器的逻辑地址两部分组成,包括段地址和偏移地址;物理地址=段地址 *16+偏移地址。 5、如果一个程序在执行前(CS)=0A7F0H,(IP)=2B40H,该程序的起始地址是多少? 如果一个程序在执行前(CS)=0A7F0H,(IP)=2B40H,该程序的起始地址=0A7F0H*16+2B40H=0AAA40H。 6、有两个16位字1234H和5678H分别存放在02000H为首地址的存储单元中,试用图表示存储数据的情况。 02003H 02002H 02001H 02000H 7、什么叫寻址方式?8088指令系统有哪几种寻址方式? 寻址方式就是指:寻找操作数或者操作地址的各种方法,寻址方式主要有7种 (1).立即数寻址 (2).寄存器寻址 (3).直接寻址 (4).寄存器间接寻址 (5).寄存器相对寻址方式 (6).基址变址寻址方式 (7).相对基址变址寻址方式 二、填空题 1、CPU中的总线接口部件BIU,根据执行部件EU的要求,完成与或的数据传送。

微机原理第3章习题与答案

习题 一、选择题 1.寻址方式指出了操作数的位置,一般来说_______。 A.立即寻址给出了操作数的地址 B.寄存器直接寻址的操作数在寄存器内,而指令给出了存储器 C.直接寻址直接给出了操作数本身 D.寄存器直接寻址的操作数包含在寄存器内,由指令指定寄存器的名称 答案:D 2.寄存器寻址方式中,操作数在_________。 A.通用寄存器 B.堆栈 C.内存单元 D.段寄存器 答案:A 3.寄存器间接寻址方式中,操作数在_________。 A.通用寄存器 B.堆栈 C.内存单元 D.段寄存器 答案:C 4.下列指令中的非法指令是______。 A.MOV[SI+BX],AX B.MOVCL,280 C.MOV[0260H],2346H D.MOVBX,[BX] 答案:B 5.设(SP)=0100H,(SS)=2000H,执行PUSHBP指令后,栈顶的物理地址是_____。 A.200FEH B.0102H C.20102H D.00FEH 答案:A 6.指令LEABX,TAB执行后,其结果是______。 A.将TAB中内容送BX B.将TAB的段基址送BX C.将TAB的偏移地址送BX D.将TAB所指单元的存储内容送BX 答案:C 7.下列正确的指令格式有______。 A.MOV[BX],1 B.MOVAL,0345H C.MOVES:PTR[CX],3 D.XLAT 答案:D 8.设(AX)=C544H,在执行指令ADDAH,AL之后,______。 A.CF=0,OF=0 B.CF=0,OF=1 C.CF=1,OF=0D,CF=1,OF=1 答案:C 9.若AL、BL中是压缩BCD数,且在执行ADDAL,BL之后,(AL)=0CH,CF=1,AF=0。再执行DAA后,(AL)=_____。 A.02H B.12H C.62H D.72H 答案:B 10.执行下列程序后AL的内容为_____。 MOVAL,25H SUBAL,71H DAS A.B4H B.43H C.54H D.67H

微机原理及应用试题库(附答案)

《微机原理及应用》试题库 1. 8086和8088的引脚信号中, D 为地址锁存允许信号引脚。 A.CLK B.INTR C.NMI D.ALE 2. 下面的哪项是有效标识符: B A . 4LOOP: B. DELAYIS: C. MAIN A/B: D. GAMA$1: 3. 如图所示的三态输出电路,当 A 时,V B≈V DD。 A. E(ENABLE)=1, A=1 B. E(ENABLE)=1, A=0 C. E(ENABLE)=0, A=1 D. E(ENABLE)=0, A=0 4. 设(SS)=2000H,(SP)=0100H,(AX)=2107H,则执行指令PUSH AX 后,存放数据21H的物理地址是 D 。 A. 20102H B. 20101H C. 200FEH D. 200FFH 5. 汇编语言中,为了便于对变量的访问, 它常常以变量名的形式出现在程序中, 可以认为它是存放数据存储单元的 A 。 A.符号地址B.物理地址C.偏移地址D.逻辑地址 6. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是 A 。 A. CX B. BX C. BP D. DI? (C)7. 执行下列程序段: MOV AX,0 MOV BX,1 MOV CX,100 AA:ADD AX,BX INC BX LOOP AA HLT 执行后的结果:(AX)= ,(BX)= 。 A. 5050,99 B. 2500,100 C. 5050,101 D. 2550,102 8. 假设V1和V2是用DW定义的变量,下列指令中正确的是 A 。 A.MOV V1, 20H B.MOV V1, V2 C.MOV AL, V1 D.MOV 2000H, V2 9. – 49D的二进制补码为 A 。 A. 1100 1111 B. 1110 1101 C. 00010001 D. 1110 1100

微机原理第三章习题与参考答案

第三章习题与参考答案 3.1 已知 (DS) = 1000H,(ES) = 2000H,(SS) = 3000H,(SI) = 0050H,(BX) =0100H,(BP) =0200H,数据变量DISP的偏移地址为1000。指出下列指令的寻址方式和物理地址。 (1) MOV AX,0ABH 立即寻址无 (2) MOV AX,BX 寄存器寻址无 (3) MOV AX,[l000H] 直接寻址 10000H (4) MOV AX,DATA 直接寻址 (DS*16+DATA ) (5) MOV AX,[BX] 寄存器间接寻址 10100H (6) MOV AX,ES:[BX] 寄存器间接寻址 20100H (7) MOV AX,[BP] 寄存器间接寻址 30200H (8) MOV AX,[SI] 寄存器间接寻址 10050H (9) MOV Ax,[BX+l0] 寄存器相对寻址 1010AH (10) MOV AX,DISP[BX] 寄存器相对寻址 11100H (1l) MOV AX,[BX+SI] 基址变址寻址 10150H (12) MOV AX,DISP[BX][SI] 相对基址变址寻址 11150H 3.2 分别说明下例指令采用的寻址方式和完成的操作功能。 (1) MOV CX,2000H 立即寻址将立即数2000H送CX寄存器 (2) MOV DS,AX 寄存器寻址将AX寄存器内容送DS段寄存器 (3) AND CH,[1000H] 直接寻址将[DS*16+1000H]单元的内容送CH寄存器 (4) ADD [DI],BX 寄存器间接寻址将CL寄存器的内容送[DS*16+DI]单元 (5) MOV SS:[3000H],CL 直接寻址将CL寄存器的内容送[SS*16+3000H]单元 (6) SUB [BX][SI],1000H 直接寻址将立即数1000H送[DS*16+BX+SI+50H]单元 (7) ADD AX,50H[BX][SI] 相对基址变址寻址将[DS*16+BX+SI+50H]单元的内容送AX寄存器 (8) PUSH DS 寄存器寻址将DS寄存器的内容送[SS*16+SP]单元 (9) CMP [BP][DI],AL 寄存器寻址将AL寄存器的内容送[SS*16+DI+BP]单元 3.3 判断下列指令正误,如果错误请指出原因。 (1)MOV CH,2000H 错两个操作数的长度不一致 (2)XOR DL,BH 对 (3)ADD 100,AH 错目的操作数不能为立即数 (4)MOV DS,2200H 错立即数不能直接传送给段寄存器 (5)IN AL,250H 错源操作数必须为口地址 (6)MOV [BX][SI],[DI] 错两个操作数不能同时为存储器 (7) LEA AX,BL 错源操作数必须为地址标号 (8)MOV CX,ES:BX 错寄存器寻址不能用段超越前缀 3.4 设DS=1000H,SS=2000H,AX=1000H,BX=0020H,CX=2000H,BP=0002H,SI=0010H,DI=0030H,

第三章微机原理课后习题参考答案_2012

第三章微机原理课后习题参考答案 1. 指出下列指令的错误原因。 (1) AND AX, DL ;类型不匹配 (2) ADD CS, DX ;CS不能作为目的操作数 (3) MOV AX, IP ;IP不能作为指令的操作数 (4) MOV [BP][SI], [SI] ;两个操作数不能同时为内存操作数 (5) SUB [BP][SI], ES:DX ;段超越前缀只能用在内存操作数之前 (6) XCHG AL, [SI][DI] ;没有[SI][DI]这种操作数形式 (7) JGE AX ;条件转移指令的操作数只能是标号 (8) PUSH DL ;对堆栈不能进行字节操作 2. 用一条指令将BX清0。(请给出3种方法) 方法1:MOV BX, 0 方法2:SUB BX, BX 方法3:AND BX, 0 ;将BX和0做与,可以将BX清零 方法4:XOR BX, BX 3. 写出实现下列功能的指令序列。 (1) 判断AX的值,若AX等于0,则转到标号LABEL处。(请写出3种方法) 方法1: CMP AX, 0 JZ LABEL ; 如果ZF = 0,说明AX为0,因为CMP指令是做减法,但是不写回结果,因此指令执行后AX内容不会受到破坏 方法2: TEST AX, 0FFFF H JZ LABEL ; 如果ZF = 0,说明AX为0 方法3: AND AX, 0FFFF H JZ LABEL (2) 将AL的高4位与低4位分别放入AH与AL的低4位,并将AH与AL的高4位

清0。 MOV AH, AL AND AL, 0FH ; AL高4位通过与清零,而低4位保持不变 MOV CL, 4 SHR AH, CL ; 这两条指令通过逻辑右移将AH的高4位清零,因为SHR在右移后, 高位补零 (3) 若AX和BX中的数恰好1个是奇数、1个是偶数,则将奇数放入AX,偶数放入 BX;否则,AX和BX不变。 MOV DX,AX ;首先判断是否是1奇1偶,如是则保持不变 ADD DX,BX TEST DX,01H ;检测AX与BX是否同为偶数或同为奇数 JZ CONTINUE TEST AX, 01H ;检测AX的最低位 JNZ CONTINUE XCHG AX, BX CONTINUE : ….;无需处理,AX,BX中内容将不变 4. 分析下列指令序列完成什么功能。 MOV CL, 4 SHL DX, CL MOV BL, AH SHL AX, CL SHR BL, CL OR DL, BL 答案:将DX.AX中的32位数整体逻辑左移4位。 5. 给出下列各条指令执行后AL以及CF、OF、SF、和ZF的值。 指令AL CF OF SF ZF 备注 MOV AL, 100 100/64H MOV指令不影响标志位 XOR AL, AL 100/64H 0 0 0 1 除NOT外,逻辑运算后CF=OF=0,其余 据结果设置;逻辑运算指令下,AF标志

微机原理第4章练习题及答案

第4章 80x86指令系统 一、自测练习题 ㈠选择题 1.MOV AX,[BX+SI]的源操作数的物理地址是( )。 A.(DS)×16+(BX)+(SI) B. (ES)×16+(BX)+(SI) C.(SS)×10H+(BX)+(SI) D.(CS)×10H+(BX)+(SI) 2.MOV AX,[BP+Sl]的源操作数的物理地址是( )。 A.(DS)×10H+(BP)+(SI) A. (ES)×16+(BP)+(SI) C.(SS)×16+(BP)+(SI) D.(CS)×10H+(BP)+(SI) 3.MOV AX,ES:[BX+SI]的源操作数的物理地址是( )。 A.(DS)×16+(BX)+SI) B.(ES)×10H+(BX)+(SI) C.(SS)×10H+(BX)+SI) D.(CS)×16+(BX)+(SI) 4.JMP WORD PTR[DI]是( )。 A.段内间接转移B.段间间接转移 C.段内直接转移D.段间直接转移 5.JMP FAR PTR BlOCK(BLOCK是符号地址)是( )。 A.段内间接转移B.段间间接转移 C..段内直接转移D.段间直接转移 6.INC指令不影响( )标志。 A.OF B.CF C.SF D.ZF 7.条件转移指令JNE的测试条件是( )。 A.ZF=1 B.CF=0 C.ZF=0 D.CF=1 8.下列指令中,有语法错误的是( )。 A.MOV [SI],[DI] B.IN AL,DX C.JMP WORD PTR[BX+8] D.PUSH WORD PTR 20[BX+S1] 9.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是()。 A.20102H B.20101H C.200FEH D.200FFH 10.对于下列程序段: AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用指令()完成同样的功能。 A.REP MOVSB B.REP LODSB C.REP STOSB D.REPE SCASB 11.对于下列程序段: AGAIN:MOV ES:[DI],AL INC DI LOOP AGAIN 可用指令()完成。

微机原理第四章答案

“微处理器系统原理与嵌入式系统设计”第四章习题解答 4.3 微机系统中总线层次化结构是怎样的? 片内总线、片间总线、系统内总线、系统外总线.。 4.4 评价一种总线的性能有那几个方面? 总线时钟频率、总线宽度、总线速率、总线带宽、总线的同步方式和总线的驱动能力等。 4.5 微机系统什么情况下需要总线仲裁?总线仲裁有哪几种?各有什么特点? 总线仲裁又称总线判决,其目的是合理的控制和管理系统中多个主设备的总线请求,以避免总线冲突。当多个主设备同时提出总线请求时,仲裁机构按照一定的优先算法来确定由谁获得对总线的使用权。 集中式(主从式)控制和分布式(对等式)控制。集中式特点:采用专门的总线控制器或仲裁器分配总线时间,总线协议简单有效,总体系统性能较低。分布式特点:总线控制逻辑分散在连接与总线的各个模块或设备中,协议复杂成本高,系统性能较高。 4.6总线传输方式有哪几种?同步总线传输对收发模块有什么要求?什么情况下应该采用异步传输方式,为什么? 总线传输方式按照不同角度可分为同步和异步传输,串行和并行传输,单步和突发方式。同步总线传输时,总线上收模块与发模块严格按系统时钟来统一定时收发模块之间的传输操作。异步总线常用于各模块间数据传送时间差异较大的系统,因为这时很难同步,采用异步方式没有固定的时钟周期,其时间可根据需要可长可短。 4.12 串行传输的特点是什么? 1)传输方式可分为单工方式、半双工方式、全双工方式。 2)对传输速率有严格要求。 3)采用单条传输线来传输数据,减小了传输成本,增加了收发双方的复杂性。 4)传输过程中,由于引起误码,需差错控制。 4.14发送时钟和接收时钟与波特率有什么关系? 其关系如下: 1、同步通信是用时钟信号加载传输信号的,因些收发时钟频率=收发波特率; 2、异步通信情况下的话,接收时钟频率=n*(接收波特率) (其中n=1,16,64);发送时钟频率可以等于波特率,也可以为n*(发送波特率),但考虑到时钟与接收时钟一致,故发送时钟频率=n*(发波特率) (其中n=1,16,64) 。 4.15 异步串行通信中的起始位置和停止位置有什么作用?

微机原理及应用 第4章 习题及答案

CH04 存储系统 习题与思考题 1.存储器的哪一部分用来存储程序指令及像常数和查找表一类的固定不变的信息?哪一部分用来存储经常改变的数据? 解答:只读存储器ROM;随机存储器RAM。 2.术语“非易失性存储器”是什么意思?PROM和EPROM分别代表什么意思? 解答:“非易失性存储器”是指当停电后信息会丢失;PROM--可编程序的只读存储器PROM(Programmable ROM),EPROM--可擦除的可编程的只读存储器EPROM(Erasible Programmable ROM)。 3.微型计算机中常用的存储器有哪些?它们各有何特点?分别适用于哪些场合? 解答: 双极型半导体存储器 随机存储器(RAM) MOS存储器(静态、动态) 主存储器可编程只读存储器PROM 可擦除可编程只读存储器EPROM,EEPROM 只读存储器(ROM)掩膜型只读存储器MROM 快擦型存储器 存储器磁盘(软盘、硬盘、盘组)存储器 辅助存储器磁带存储器 光盘存储器 缓冲存储器 4.现代计算机中的存储器系统采用了哪三级分级结构,主要用于解决存储器中存在的哪些问题? 解答:目前在计算机系统中通常采用三级存储器结构,即使用高速缓冲存储器、主存储器和辅助存储器,由这三者构成一个统一的存储系统。从整体看,其速度接近高速缓存的速度,其容量接近辅存的容量,而位成本则接近廉价慢速的辅存平均价格。三级结构主要用于解决速度、容量和成本的问题。 5.试比较静态RAM和动态RAM的优缺点,并说明有何种方法可解决掉电时动态RAM中信息的保护。 解答:静态RAM----存储一位信息的单元电路可以用双极型器件构成,也可用MOS器件构成。双极型器件构成的电路存取速度快,但工艺复杂,集成度低,功耗大,一般较少使用这种电路,而采用MOS器件构成的电路。静态RAM的单元电路通常是由6个MOS 管子组成的双稳态触发器电路,可以用来存储信息“0”或者“1”,只要不掉电,“0” 或“1”状态能一直保持,除非重新通过写操作写入新的数据。同样对存储器单元信息的读出过程也是非破坏性的,读出操作后,所保存的信息不变。使用静态RAM的优点是访问速度快,访问周期达20~40ns。静态RAM工作稳定,不需要进行刷新,外部电

第三章微机原理 习题课

第三章习题课 一、选择题 1、在汇编语言程序得开发过程中使用宏功能得顺序就是()。 A、宏定义,宏调用 B、宏定义,宏展开 C、宏定义,宏调用,宏展开 D、宏定义,宏展开,宏调用 2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略得项就是()。 A、名字项 B、操作项 C、操作数项 D、注释项 3、下列叙述正确得就是( ) A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令 4、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件得指令有( )、 A、CMP B、SUB C、AND D、MOV 5、测试BL寄存器内容就是否与数据4FH相等,若相等则转NEXT处执行,可实现得方法就是( )。 A TEST BL,4FH JZ NEXT B XOR BL,4FH JZ NEXT C AN D BL,4FH JZ NEXT D OR BL,4FH JZ NEXT 6、检查BUF得内容就是否为正偶数,如就是正偶数,则令AL=0。下面程序段正确得就是( )。 A、MOV AL,BUF JS K1 SHR AL,1 JNC K1 MOV AL,0 K1:……B、MOV AL,BUF AND AL,11 JNZ K2 MOV AL,0 K2:……

C、MOV AL,BUF TEST AL,81H JNZ K3 MOV AL,0 K3:…… 7、下列描述中,执行循环得次数最多得情况就是()。 A.MOV CX,0 B.MOV CX,1 LOP:LOOP LOP LOP:LOOP LOP C.MOV CX,0FFFFH D.MOV CX,256 LOP:LOOP LOP LOP:LOOP LOP 8、在下列指令中, 指令得执行会影响条件码中得CF位。 A.JMP NEXT B.JC NEXT C.INC BX D.SHL AX,1 9、下列指令执行时出错得就是()。 A.ADD BUF1,BUF2 B.JMP DWORD PTR DAT [BX] C.MOV AX,[BX+DI] NUM D.TEST AL,08H 10、在下列指令得表示中,不正确得就是()。 A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 11、在进行二重循环程序设计时,下列描述正确得就是()。 A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 12、下面就是多字节加法程序,第一个数就是8A0BH,第二个数就是D705H。 DA TA SEGMENT FIRST DB (1), (2),0H SECOND DB (3), (4) DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START:MOV AX,DA TA MOV DS,AX MOV CX, (5) MOV SI,0 (6) NEXT: MOV AL,SECOND[SI] ADC FIRST[SI],AL INC SI LOOP NEXT MOV AL,0 ADC AL, (7) MOV FIRST[SI],AL MOV AH,4CH INT 21H CODE ENDS

微机原理第四章习题答案

1.8086语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快? 答:数据操作数的寻址方式有七种,分别为:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对基址变址和相对基址变址寻址。其中寄存器寻址的指令执行速度最快。 2.若DS=6000H,SS=5000H,ES=4000H,SI=0100H,BX=0300H,BP=0400H,D=120 0H,数据段中变量名NUM的偏移地址为0050H,试指出下列源操作数的寻址方式和物理地址是多少? (1)MOV AX,[64H]答:寻址方式为直接寻址;PA=60064H (2)MOV AX,NUM 答:寻址方式为直接寻址;PA=60005H (3)MOV AX,[SI]答:寻址方式为寄存器间接寻址;PA=60100H (4)MOV AX,[BX]答:寻址方式为寄存器间接寻址;PA=60300H (5)MOV AX,[BP]答:寻址方式为寄存器间接寻址;PA=50400H (6)MOV AL,[DI]答:寻址方式为寄存器间接寻址;PA=61200H (7)MOV AL,[BX+1110H]答:寻址方式为寄存器相对寻址;PA=61410H (8)MOV AX,NUM[BX]答:寻址方式为寄存器相对寻址;PA=60305H (9)MOV AX,[BX+SI]答:寻址方式为基址变址寻址;PA=60400H (10)MOV AX,NUM[BX][DI]答:寻址方式为相对基址变址寻址;PA=61505H 3.设BX=637DH,SI=2A9BH,位移量为C237H,试确定由这些寄存器和下列寻址方式产生的有 效地址。 (1)直接寻址答:有效地址为EA=C237H (2)用BX的寄存器间接寻址答:有效地址为EA=637DH (3)用BX的相对寄存器间接寻址答:有效地址为EA=125B4H (4)基址加变址寻址答:有效地址为EA=8E18H (5)相对基址变址寻址答:有效地址为EA=1504FH 其中,(3)和(5)中产生进位,要把最高位1舍去。

微机原理习题解答第四章

第四章 1.在下列程序运行后,给相应的寄存器及存储单元填入运行的结果: MOV AL,10H MOV CX,1000H MOV BX,2000H MOV [CX],AL XCHG CX,BX MOV DH,[BX] MOV DL,01H XCHG CX,BX MOV [BX],DL HLT 解:寄存器及存储单元的内容如下: AL=10H BL=00H BH=20H CL=00H CH=10H DL=01H DH=10H (1000H)=10H (2000H)=01H 2.要求同题4.1,程序如下: MOV AL,50H MOV BP,1000H MOV BX,2000H MOV [BP],AL MOV DH,20H MOV [BX],DH MOV DL,01H MOV DL,[BX] MOV CX,3000H HLT 解:寄存器及存储单元的内容如下: BL=00H BH=20H CL=00H CH=30H DL=20H DH=20H BP=1000H (1000H)=50H

(2000H)=20H 3.自1000H单元开始有一个100个数的数据块,若要把它传送到自2000H开始的存储区中去,可以采用以下三种方法实现,试分别编写程序以实现数据块的传送。 (1)不用数据块传送指令。 (2)用单个传送的数据块传送指令。 (3)用数据块成组传送指令。 解:(1)LEA SI,1000H LEA DI,2000H MOV CX,100 L1: MOV AX,[SI] MOV [DI],AX LOOP L1 HLT (2)LEA SI,1000H LEA DI,2000H MOV CX,100 CLD L1:MOVSB LOOP L1 HLT (3)LEA SI,1000H LEA DI,2000H MOV CX,100 CLD REP MOVSB HLT 6.编写一个程序,把自1000H单元开始的100个数传送至1050H开始的存储区中(注意:数据区有重叠)。 解:LEA SI,1000H LEA DI,1050H ADD SI,63H ADD DI,63H MOV CX,100 STD REP MOVSB HLT 7.自0500H单元开始,存放着100个数。要求把它传送到1000H开始的存储区中,但在传送过程中要检查数的值,遇到第一个零时就停止传送。 解:LEA SI,0500H LEA DI,1000H MOV CX,100

微机原理第三章习题答案

习题3答案 1.指出下列指令的错误原因。 (1) AND AX, DL;类型不匹配 (2) ADD CS, DX;CS不能作为目的操作数 (3) MOV AX, IP;IP不能作为指令的操作数 (4) MOV [BP][SI], [SI];两个操作数不能同时为内存操作数 (5) SUB [BP][SI], ES: DX;段超越前缀只能用在内存操作数之前 (6) XCHG AL, [SI][DI];没有[SI][DI]这种操作数形式 (7) JGE AX;条件转移指令的操作数只能是标号 (8) PUSH DL;对堆栈不能进行字节操作 2.用一条指令将BX清0。(请给出3种方法) 方法1:MOV BX, 0 方法2:SUB BX, BX 方法3:AND BX, 0;将BX和0做与,可以将BX清零 方法4:XOR BX, BX 3.写出实现下列功能的指令序列。 (1)判断AX的值,若AX等于0,则转到标号LABEL处。(请写出3种方法) 方法1: CMP AX, 0

JZ LABEL ;如果ZF = 0,说明AX为0,因为CMP指令是做减法,但是不写回结果;因此指令执行后AX内容不会受到破坏 方法2: TEST AX, 0FFH JZ LABEL ;如果ZF = 0,说明AX为0,TEST指令做与运算,可是不写回结果,只影响标志位。 ;和0与清零,和1与不变,所以和FFH做与的结果是AX本身,但是此时标志位已;经改变了,所以可以利用标志位来判断,但是AX内容却没有受到任何破坏方法3: AND AX, 0FFH ;这个方法的原理和方法2其实是完全一致的 JZ LABEL (2)将AL的高4位与低4位分别放入AH与AL的低4位,并将AH与AL的高4位清0。 MOV AH, AL AND AL, 0FH ; AL高4位通过与清零,而低4位保持不变 MOV CL, 4 SHR AH, CL ;这两条指令通过逻辑右移将AH的高4位清零,因为SHR在右移后,高位补零 (3)若AX和BX中的数恰好1个是奇数、1个是偶数,则将奇数放入AX,偶数放入BX;否则,AX和BX不变。 TEST AX, 01H ;TEST做与运算,通过与来检测AX的最低位 JNZ CONTINUE ;如果ZF = 1,说明AX的最低位是0,那么AX中的数是偶数,就跳转,否则,;说明AX中的是奇数,而BX中的是偶数,符合结果要求,不用动了XCHG AX, BX

微机原理练习题

微机原理练习题 前三章练习题 一、填空题 1、一个16位二进制数用补码方式表示的有符号数的范围是 -32768~+32767 。 2、在8086系统中,若CS为A000H,则代码段可寻址的物理空间范围为A0000H ~ (AFFFFH )。 3、指令MOV SI,[2100H]的源操作数寻址方式是(直接寻址),目的操作数寻址方式是(寄存器寻址)。 4、8086/8088 CPU复位后,指令从FFFF:0000H(逻辑地址)处开始执行。 5、若AL=B2H,BL=03H,则执行MUL BL指令后,相乘的结果在寄存器( AX )中,结果为 ( 0216H );执行IMUL BL指令后,结果为 ( FF16H )。 6、在8086CPU中,由于BIU和EU分开,所以___取指令__ 和___执行指令_____ 可以重叠操作,提高了CPU的利用率 7、8086CPU的MN/MX引脚的作用是控制CPU工作于最小/最大工作方式 8、8086CPU中典型总线周期由_4___个时钟周期组成,其中T1期间,CPU输出__地址____信息;如有必要时,可以在__T3与T4___两个时钟周期之间插入1个或多个TW等待周期。 9、REPE/REPZ是相等/为零时重复操作,其退出条件是:CX= 0 或ZF= 1 。 10、用OUT指令输出数据到端口时,若端口号>255,须先将端口地址放在寄存器 DX 中。 11、若BL=27H,CL=5,则执行指令ROR BL,CL后,BL的值为( 39H ),CF=( 0 )。 二、选择题 1、下列指令中,不影响进位的指令是:( C ) A. ADD AX,BX B. MUL BL C. INC BX AL,BH 2、当对两个组合(压缩)BCD数(字节)相加后,应使用指令( B )调整。 A. AAA B. DAA C. AAS D. DAS 3、若CX=3,AX=1,执行完SHL AX,CL指令后,AX=( D )。 A. 1 B. 2 D. 8 左移1次,相当于乘2。左移2次,相当于乘4。左移3次,相当于乘8.以此类推。同理,逻辑右移相当于无符号数除2操作。算术右移SAL指令相当于有符号数除2操作。 4、若CF=1,DL=A3H,CL=3,则执行指令RCR DL,CL后,寄存器DL的值为( C )。 A. 14H B. A0H D. D4H 5、 8086中( D )的源操作数和目的操作数可同时为存储器操作数。 A、数据传送指令 B、算术、逻辑运算指令 C、控制转移指令 D、串操作指令 6、下列指令中隐含使用寄存器SI的是:( B ) A. HLT B. CMPSB C. XLAT D. NOT 7、下列指令中,有语法错误的指令是( D ) A. MOV AX,[BX][SI] B. LEA DI,[2000H] C. OUT DX,AL D. SHL BX,2 8、将AL中带符号数乘10送AL,正确的程序段是( A )。 A. SAL AL,1 B. ADD AL,AL MOV BL,AL MOV BL,AL SAL AL,1 ADD AL,AL SAL AL,1 ADD AL,AL ADD AL,BL ADD AL,AL C. MOV CL,4 D. ADD AL,AL MOV BL,AL ADD AL,AL SAL AL,CL ADD AL,AL ADD AL,BL ADD AL,AL ADD AL,AL

(完整版)微机原理第三章(1)及答案

第三章习题集 二.选择题(每小题1分,共15分) 1. 逻辑地址1000:2000对应的物理地址为( B )。 A、1200H B、12000H C、2100H D、21000H 2. 下面哪个寄存器使用时的默认段寄存器为SS( C )。 A、AX B、BX C、SP D、SI 3. 当使用BP寄存器作基址寻址时,若无指定段替换,则内定在( B )段内寻址。 A.程序 B.堆栈 C.数据 D.附加 4.在下面四组寄存器中,第 D 组都可用于对存储器间接寻址方式的寄存器。 A. AX,BX,CX,IP; B. BX,SP,DX,SI C. IP,SP,BP,AX D. BP,BX,SI,DI 5. 含有立即数的指令中,该立即数被存放在 A 。 A. 累加器中 B. 指令操作码后的内存单元中 C. 指令操作码前的内存单元中 D. 由该立即数所指定的内存单元中 6. 用段基值及偏移量来指明内存单元地址的方式称为( C )。 A、有效地址 B、物理地址 C、逻辑地址 D、相对地址 7. 已知物理地址为0FFFF0H,且段内偏移量为0B800H,若对应的段基地址放在DS中, 则DS=( B )。 A、0FFFFH B、0F47FH C、2032H D、0F000H 8. 含有立即数的指令中,该立即数被存放在 B 。 A. 累加器中 B. 指令操作码后的内存单元中 C. 指令操作码前的内存单元中 D. 由该立即数所指定的内存单元中 9.寄存器间接寻址方式中,操作数在 C 中。 A. 通用寄存器 B. 堆栈 C. 存储单元 D. 段寄存器 10.下列指令中,有语法错误的指令是(B D)。 A. MOV AX,[1000H] B. LEA AL,1000H C. MOV [1000H],AL D. MOV 1000H,AX 11. 下列指令语法有错的是:C A. MOV AX,1000H B. MOV AX,BX C. MOV [AX],[1000H] D. MOV AX,[1000H] 12. 8086/8088中除___C___两种寻址方式外,其它各种寻址方式的操作数均在存储器中。 ( ) A. 立即寻址和直接寻址 B. 寄存器寻址和直接寻址 C. 立即寻址和寄存器寻址 D. 立即寻址和间接寻址 13.指令( C )的源操作数的寻址方式为直接寻址。 A. MOV [2000H],AL B. IN AL,DX C. XOR AL,[2000H] D. MOV AX,2000H 14. 下列指令中,执行速度最快的指令是(__A__)。 A. ADD AX,10 B. ADD AL,[SI+10H] B. ADD AX,CX C. ADD AX,[BX] 15. 下列指令中,不影响进位的指令是:( C ) A. ADD AX,BX B. MUL BL C. INC BX D.SUB AL,BH

相关主题
文本预览
相关文档 最新文档