搜索
您的当前位置:首页正文

微机接口期中自测题答案(较完整)

来源:榕意旅游网
微机原理与接口技术期中自测题

一、选择题:(每题1分,共20分)

1.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( A )。

A.2025∶0F2A B.2108∶00EA C.2000∶017A D.2100∶117A 分析:物理地址(physical address) PA=(DS)×16+EA=20250H+0F2AH=2117AH 2.能够将’以寄存器DI间接寻址的存储器字节单元’内容加1的指令是( C )。 A.INC [DI] B.INC DI C.INC BYTE PTR[DI] D.ADD [DI],1 以寄存器DI间接寻址的 推出 有[DI]这一项 字节单元 说明有 BYTE PTR

加1 可以用INC,所以得到 INC BYTE PTR[DI] 当然也可以用ADD BYTE PTR[DI],1

3.有语句:COUNT EQU 256,下列四种叙述中,正确的是( C )。

A.COUNT是变量 B.COUNT占用一个字节存储单元 C.COUNT是符号常数 D.COUNT占用二个字节存储单元 参考课件和书中相关章节

4.下面指令中,源操作数的寻址方式为立即寻址的是( B )。

A.MOV AX,OFFSET A B.MOV AX,A

C.MOV AX,A+1 D.MOV AX,A[BX] 这道题目有问题,应该在前面加上一句 A EQU 1234H,则答案选B 也就是说,完整的题目应该为

已知有如下定义:A EQU 1234H,下面指令中,源操作数的寻址方式为立即寻址的是( )

5.已知SP=2110H,执行POP AX后,SP寄存器的值是( B )。

A.2111H B.2112H C.210FH D.210EH 因为在汇编语言中,在堆栈非空的情况下,栈顶的地址值比栈底的地址值大,所以执行POP AX 以后 把(SP)+2送到SP,所以 (SP)=2110H+2=2112H

6.将AX中有符号数除以2的正确指令是( B )。

A.SHR AX,1 B.SAR AX,1

C.ROR AX,1 D.RCR AX,1 因为是有符号数字除以2,所以只能选算术右移移位,即B。

7.比较BX和SI中的两个存储器地址,若BX≥SI转向HIGH的正确指令是( A )。 A.JAE HIGH B.JBE HIGH C.JEG HIGH D.JLE HIGH 地址是无符号数,所以大于或等于用JAE

8.指令SCASB操作数的段地址一定在( C )寄存器中。

A.CS B.DS C.ES D.SS 参考课件中关于SCASB的描述。

9.有数据定义语句BUF DW 0ABH,1,10 DUP(3 DUP(1,0),2)汇编后,为变量BUF分配的存储单元字节数是( B )。

A.48H B.90H C.120 D.60 由DW可知,一个1占两个字节,所以1,0占4个字节 3 DUP(1,0)占12个字节, (3 DUP(1,0),2)占14字节,10 DUP(3 DUP(1,0),2)占140字节, 0ABH,1,10 DUP(3 DUP(1,0),2)占144个字节,即90H 10.下列指令执行后,不改变AL寄存器内容的指令是( B )。

1

A.AND AL,1 B.CMP AL,DL C.XOR AL,AL D.SUB AL,DL CMP 指令只是比较两个操作数的大小,不改变操作数的内容

11.执行01H号DOS系统功能调用,从键盘输入的字符值存放在( A )寄存器中。

A.AL B.BL C.CL D.DL 12.执行下面指令语句,则AX=( C )。

MOV AL,95H CBW

A.0095H B.0F95H C.0FF95H D.9095H CBW将字节扩展为字

若al的最高位为0,则(ah)=0000 0000; 若al的最高位为1,则(ah)=1111 1111.

13.将DX,AX中32位数左移一位的指令序列是( A )。

A.SHL AX,1 B.RCL AX,1 RCL DX,1 SHL DX,1 C.SHL AX,1 D.RCL AX,1 SHL DX,1 RCL DX,1 注意:这里把DX,AX合起来看作1个32位的数,期中DX代表高16位,AX代表低16位. 对于AX来说,无论算术左移还是逻辑左移,效果都是一样的,所以可以采用SHL AX,1 对于DX来说, 原来AX的最高位要移到DX的最低位。 若采用SHL DX,1则DX的最低位恒为0,肯定错了。

执行SHL AX,1以后AX的最高位移到了CF,当执行指令RCL DX,1以后,就把原来AX的最高位通过 CF移到了DX的最低位。

14. 将CX寄存器低4位清零,其余位保持不变的正确指令是( B )。

A.AND CX,0F0H B.AND CX,0FFF0H C.AND CX,1110H D.MOV CX,0 15、下面四条指令中,源操作数不采用立即寻址的是( C )。

A、MOV AX, DATA B、MOV AX, 1234H

C、MOV EAX, [EBX] D、MOV AX, OFFSET ARY 这道题目有问题,应该在前面加上两句话 DATA EQU 1234H

ARY db 12,34,56h,否则题目不是很合适

16、在数据段有如下定义: A_BUF DB ‘1234567’,则A-BUF字节单元的内容是( A )。

A、31H B、01H C、12H D、12

分析:A_BUF DB ‘1234567’定义了一个字符串,’1’是一个字符,其ASCII码为31H 17、已知(DS)=2000H,(ES)=3000H,(CS)=4000H,(SS)=5000H,(BP)=2080H,COUNT=80H 则指令MOV AX,

COUNT[BP]中,源操作数的物理地址为( B )。

A、22100H B、52100H C、52000H D、22000H

[BP]说明默认的段寄存器为堆栈段SS.所以物理地址为 (SS)*16D+80H+2080H= 52100H 18、要求从一个字符串中查找一个指定的字符,可以使用的指令是(A 、 REPNZ SCASB B 、 REPE SCASB C 、 REPNE CMPSB D 、 REPZ CMPSB 这里应该选A.很抱歉,参考答案错了,我自己以前也没认真做答案.

A )

2

19、如果当前AL寄存器的内容为-1,则以下指令中,不能转向符号地址NEXT处执行的是( A ) A 、 AND AL, 0FFH B 、 CMP AL, 7FH JZ NEXT JA NEXT C 、 CMP AL, 0FFH D 、 TEST AL, 0FFH JE NEXT JNZ NEXT

-1的原码为1000 0001,反码为1111 1110 ,补码为 1111 1111,即0FFH.

也就是说(AL)=0FFH,至于把它看成有符号数,还是无符号数,是我们用户的选择

(A) AND 把(AL)和0FFH相与,结果放到AL,不对两者进行比较,所以不影响标志位。

(B)用JA 说明把(AL)的内容看作无符号数,看作无符号数时(AL)=0FFH>7FH,所以JA的条件满足,会跳转到NEXT.

(C)用JE 把这两个数看作无符号数,(AL)就是0FFH,所以循环的条件满足。 (D)TEST AL,0FFH,将(AL)和0FFH按位相与,他们与的结果为1,不为0,所以,JNZ的条件满足。关于TEST指令的内容,请参考书本80页的例子。

20、Intel 8086 CPU 读取代码段中的指令,使用的一对寄存器是( A ) A 、 CS:IP B 、 DS:BX C 、 SS:SP D 、 ES:SI

二、填空题:(每空1分,共20分)

1.在8086/8088系统中,存储器物理地址是分段组织的。堆栈段的段地址存放在_SS(堆栈段)____寄存器中,栈顶数据的偏移地址放在__SP(堆栈指针)___寄存器中。代码段的段地址存放在___CS(代码段)__寄存器中,偏移地址在__IP(指令指针)___寄存器中。

2.已知DS=29A0H,某数据的物理地址是2A400H,则当DS=6700H时,该数据的物理地址是__67A00H___。 3.已知DS=4000H,BX=0100H,SI=0004,(40100H)=28H,(40101H)=69H,(40104H)=10H,

(40105H)=9AH,先执行MOV AX,[0100H],AX=__6928H ___再执行ADD AX,[BX+SI],AX=__ 0338H___,CF=__1___。 4.有下列数据定义:

AA DW 1,2,3,4,5,6,7 COUNT EQU ($-AA)/2 则COUNT=__ 7 ___。

5.用于控制字符操作地址增量方向的状态标志位是__DF______,表示加法结果溢出的状态标志位是___0F_______,允许产生中断时,IF=____1_______。

6.在移位指令中,用于指定移位位数的操作数只能是___CL____及___立即数_____。

3

7.用于表示无符号数大于或等于的条件转移指令是____JAE ________;用于表示带符号数大于或等于的条件转移指令是__JGE _________。

8.子程序传送参数的方法通常有__寄存器_____、_变量______和堆栈三种方法。

9. 乘法指令MUL的指令格式只有一个源操作数,若源操作数的类型属性为字节,则目的操作数在__AX_____中,若源操作数的类型属性为字,则目的操作数在___DX:AX____中。 三 解答题(30分)

1 .假定初始情况(DX)=0B9H,(CL)=3,(CF)=1,下列各条指令单独执行以后,DX的值分别是多少?(6分)

SHR DX,1 (DX)=005CH SAR DX,CL (DX)=0017H SHL DX,CL (DX)=05C8H SHL DX,1 (DX)=0072H ROR DX,CL (DX)=2017H ROL DX,CL (DX)=00CDH

编个小程序,单步调试程序,就可以看到答案了 提示: 在SHR DX,1之前添加如下代码 MOV DX,0B9H MOV CL,3 STC ;将CF置为1

2. 设DS=1000H,BX=200H,SI=2H,(10200H)~(10205H)的内容为10H、2AH、3CH、46H、59H、6BH。试问,下列每条指令单独执行完成后,AX寄存器的内容是什么?(6分)

MOV AX,0200H (AX)=0200H MOV AX,[200H] (AX)=2A10H MOV AX,BX (AX)=200H MOV AX,3[BX] (AX)=5946H MOV AX,[BX+SI] (AX)=463CH MOV AX,2[BX+SI] (AX)=6B59H

3 读下列程序段,对程序加以注释,并说出程序的功能;当AL=5BH,写出执行程序后AL的值。(6分)

MOV BL,AL ;把AL的内容送到BL MOV CX,8 ;设CX的内容为8

AGAIN:ROL BL,1 ;BL内容循环左移1位,最高位送CF RCR AL,1 ;AL内容带进位位CF循环右移1位 LOOP AGAIN ;当(CX)不等于0时循环

程序的功能不作要求

4. 读下列程序段,并回答执行下面的代码后,AL与BL的内容是什么?并说明该程序段的功能。(6分) MOV AL, 12H

4

MOV BL, AL AND AL, 0FH OR AL, 30H MOV CL, 4 SHR BL, CL ADD BL, 30H (AL)=32H,(BL)=31H,

程序的功能将BCD码转换成ASCII码(太复杂了,可以不要求掌握)

5 设寄存器AX,BX,CX中的内容都是1234H,字类型变量value中的内容为0F0FH,执行下列指令 序列: OR AX,value AND BX,value XOR CX,value

则AX=_ 1F3FH____,BX=_ 0204H ____,CX=__ 1D3BH___ (3分)

6.MOV AL,5 ADD AL,AL MOV BL,AL ADD AL,AL ADD AL,BL

上述程序段执行后,AL=__ 1EH___,BL=__ 0AH___

程序段的功能用数学表达式表示__ AL=4*AL+BL___ (3分)

四. 编写完整的程序:从键盘上输入两个’0’到’9’之间的字符,把它们转化为数字,然后把一个数字放在字节类型内存变量m1中, 把另一个数字放在字节类型内存变量m2中,然后把m1的内容和m1的内容相加,把它们的和放到BL中.把m1的内容和m2的内容作为无符号书相乘,把乘积放到AX中.(10分) 参考以前的实验

五.编写完整的程序实现如下分段函数: (10分)

x1 , 0x2 且x为无符号整数y

x1 , x3且x为无符号整数参考以前的实验

六. 已知在附加段ES中定义了一个字符串string2 , 它含有9个字符,查找在字符串中是否含有字母’o’,若找到,输出提示信息“FOUND”,记录字母的偏移地址,放到数据段中定义的内存变量pointer中,计算它和string2的位移量,放到数据段中定义的内存变量m2中, 若找不到,输出提示信息“NOT FOUND”.部分程序如下:请在中间添加程序 (10分) ESEG SEGMENT

SCIENCE DB 'hello world' STRING2 DB 'hello nbu' ESEG ENDS

DATA SEGMENT

STRING1 DB 'hello world'

MESSAGE1 DB 'FOUND',0DH,0AH,'$'

MESSAGE2 DB 'NOT FOUND',0DH,0AH,'$' POINTER DW ? M2 DW ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:ESEG START: MOV AX,DATA

5

MOV DS,AX MOV AX,ESEG MOV ES, AX CLD

LEA DI, STRING2 MOV CX,9 MOV AL,'o' 课件上的例子

LABLE2: MOV AH,4CH INT 21H CODE ENDS

END START

6

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

Top