微机原理与接口技术考试试题库 下载本文

精品文档

HLT

(1)2000H:2A00H= 09H 。 (2)2000H:2A11H= 0EH 。 (3)2000H:2A12H= 0DH 。

3.下面程序是将10个8位无符号数按递减次序排序,请将程序填写完整。

DATA SEGMENT

ARRAY DB 05H,78H,FFH,7BH,00H DB 8CH,20H,A0H,F0H,60H DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA MAIN PROC FAR START:PUSH DS XOR AX,AX PUSH AX

MOV AX,DATA MOV DS,AX

AB1: MOV SI,OFFSET ARRAY MOV BL,0 MOV CX,10

DEC CX AGAIN:MOV AL,[SI] INC SI

CMP AL,[SI]

JNC CD1 MOV AH,[SI] MOV [SI],AL DEC SI

MOV [SI],AH INC SI MOV BX,1 CD1:LOOP AGAIN DEC BL

JZ AB1 RET MAIN ENDP CODE ENDS

END START 4.从BUF开始的11个单元中存放着11个整数,找出这11个数中正数并且是偶数的个数存入R中。

DATA SEGMENT

BUF DB –2,5,-3,6,100,0,-20,-9,8,-110,21 N= ① R DW ? DATA ENDS

36欢迎下载

精品文档

CODE SEGMENT

② BEGIN:MOV AX,DATA

③ LEA BX,BUF MOV CX,N

④ LOPA: CMP [BX],BYTE PTR 0 ⑤

TEST [BX],BYTE PTR 1 ⑥ INC AX NEXT : INC BX DEC CX

⑦ MOV R,AX

MOV AH,4CH INT 21H CODE ENDS

END ⑧

解:① $-BUF

② ASSUME CS:CODE,DS:DATA ③ MOV DS,AX ④ MOV AX,0 ⑤ JLE NEXT ⑥ JNZ NEXT ⑦ JNZ LOPA ⑧ BEGIN

C 类:

1.有一程序如下: MOV CX,0005 MOV DI,3000H

NEXT: MOV BL,0FFH MOV AL,BYTE PTR[DI] CMP AL,3AH JNB NEXT1 SUB AL,30H JB NEXT1 MOV BL,AL

NEXT1:MOV AL,BL MOV BYTE PTR[DI+0AH],AL INC DI LOOP NEXT HLT

37欢迎下载。

精品文档

已知数据段3000H单元开始内容为40H,30H,35H,59H,12H,放置的是字符的ASCII码

问:(1)程序执行完毕结果放置在何处? (2)内容是什么?

(3)用何DEBUG命令检查结果?

2.下面是多字节加法程序,第一个数是8A0BH,第二个数是D705H。请填写出正确结果。 DATA SEGMENT

FIRST DB , ,0H SECOND DB , DATA ENDS CODE SEGMENT

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

MOV CX, MOV SI,0

NEXT: MOV AL,SECOND[SI] ADC FIRST[SI],AL INC SI LOOP NEXT MOV AL,0

ADC AL, MOV FIRST[SI],AL MOV AH,4CH INT 21H CODE ENDS END START

3. CLC

MOV AX,248BH MOV CL,3 RCL AX,CL

执行以上程序序列后, AX=____________________。 4.设TABLE DW 3467H,7367H,0A566H,665DH,767FH ENTRY DW 3

若执行下列指令:MOV BX,OFFSET TABLE ADD BX,ENTRY MOV AX,[BX]

结果,AX=___________(用十六进制表示) 5.

(A) (B)

MOV CX,77H MOV CX,77H MOV BX,88H MOV BX,88H NEXT: MOV AX,4500H NEXT: MOV AX,4500H DEC BX DEC BX

LOOP NEXT LOOPNZ NEXT 问程序段A,B执行中各循环多少次?

程序段 A循环_______________次,程序段B循环___________次。

38欢迎下载

精品文档

6.已知程序段如下:

MOV AX,1234H MOV CL,4 ROL AX,CL DEC AX MOV CX,4 MUL CX INT 20H

试问:(1)每条指令执行后,AX寄存器的内容是什么?(2)每条指令执行后,CF,SF

及ZF的值分别是什么?(3)程序运行结束时,AX及DX寄存器的值为多少? 7.阅读下列程序,并回答问题 NAME EAM4-2 DATA SEGMENT A DB 4H B DB 52H

C DB 2 DUP(?) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,A ADD AL,B DAA

MOV C,AL LAHF

AND AH,01H MOV C+1,AH MOV AH,4CH INT 21H CODE ENDS

END START

问程序运行后:C DB , (注:请填上数据) 8.有一程序如下: MOV CX,0005 MOV DI,3000H

NEXT: MOV BL,0FFH MOV AL,BYTE PTR[DI] CMP AL,3AH JNB NEXT1 SUB AL,30H JB NEXT1 MOV BL,AL

NEXT1:MOV AL,BL MOV BYTE PTR[DI+0AH],AL INC DI LOOP NEXT HLT

已知数据段3000H单元开始内容为40H,30H,35H,59H,12H,放置的是字符的ASCII码(10分)

问:(1)程序执行完毕结果放置在何处? (2)内容是什么?

39欢迎下载

精品文档

(3)用何DEBUG命令检查结果?

9.下面是多字节加法程序,第一个数是8A0BH,第二个数是D705H。请填写出正确结果。 DATA SEGMENT

FIRST DB , ,0H SECOND DB , DATA ENDS CODE SEGMENT

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

MOV CX, MOV SI,0

NEXT: MOV AL,SECOND[SI] ADC FIRST[SI],AL INC SI LOOP NEXT MOV AL,0

ADC AL, MOV FIRST[SI],AL MOV AH,4CH INT 21H CODE ENDS END START

10.已知8253端口地址为80H、82H、84H、86H,初始化程序如下,说明程序的含义。 MOV AL,67H OUT 86H,AL MOV AL,80H OUT 82H,AL

该程序含义是 11. MOV AX,9090H SUB AX,4AE0H JC L1 JO L2 JMP L3

上述程序执行后AX= ,程序转向 12.假设寄存器AX=1234H,DX=0A000H MOV BX,0 MOV CX,BX SUB CX,AX SBB BX,DX MOV AX,CX MOV DX,BX

上述程序段执行后AX= ,DX=

程序功能是

40欢迎下载