微型计算机原理考试题答案

更新时间:2023-10-28 04:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

====《汇编语言程序设计》模拟试卷01参考答案====

一 单项选择题

D B A B B C C C D C 二 填空题

1. 0000 0000 0111 0101B, 0075H, 1000 0000 0111 0101B, 0FF8BH 2. 立即寻址 2450H 直接寻址 1260H 寄存器间接寻址 1270H 基址+变址相对寻址 1280H 寄存器相对寻址 1280H 3. CF=0,ZF=0,SF=0,OF=1,AF=1 4. 字节,字,偶

5. 统一编址,独立编址,独立编址,64K 6. 90,0, 1, 96 三 改错题

第3行: 0005改为0006H 第12行:DS改为DSEG 第15行:OFFSET去掉 第16~18行改为: PUSH CX AGAIN:MOV AL,[SI] CBW

ADD DX,AX INC SI

第19行和第20行之间插入一行:

POP CX

第20行改为: IDIV CL 四 简单程序设计题

1. MOV CX, 20

LEA SI, string1 LEA DI, string2 CLD MOVSB

2. MOV CH, 0 D1: SAR DX, 1 RCR AX, 1 LOOP D1

五 读下列程序,回答后面的问题

(1)该程序用来将存放在DATA1和DATA2开始的单元中的两个多字节数据相加,并将结果存放在SUM开始的连续单元中。 (2)不可以,因为ADD指令影响进位标志CF的状态 (3)MOV SI,OFFSET DATA1

(4 ) 清进位,以便在数据最低字节相加时,可以用ADC指令。 六 程序设计题

Data Segment X DW ?

Array_head DW 3,5,15,23,37,49,52,65,78,99 Array_end DW 105 N DW 55 Data Ends Prognam segment Main proc far

Assume cs :prognem,ds:Data Start: push ds Sub ax,ax Push ax Mov ax,Data Mov ds,ax Mov ax, N

Mov Array_head-2,0FFFFH Mov si,0

Compare: cmp Array_end[si],ax Jle insert

Mov bx, Array_end[si] Mov Array_end[si+2],bx Sub si,2

Jmp short compare Insert: mov Array_end[si+2],ax Ret Main endp Prognam ends End start

====《汇编语言程序设计》模拟试卷02参考答案====

一 填空(每空1分,共30分)

1.11100001B,E1H 2.10100101B 3.-43 4.CS,IP

5.20480,2000h,0480H 6.内存储器,外存储器 7.Edit, Masm, Link 8.0,0,0,1,1 9. MOV BX,30 MOV SI, 1 MOV CX,100 MOV CX,200 10.字节,字,偶

11.统一编址,独立编址,64K 二 选择题(每小题2分,共20分)

B A B D B C D D B C

三 改正下列程序中的错误(直接在程序中改正)(12分) 1.第8行去掉OFFSET

第11行改为:ROR AL,CL

2.第9行改为:MOV AL, BYTE PTR [SI]

第10行改为:MOV BL,10 MUL BL 三 程序分析(12分)

1 (1)完成0~100之间所有偶数求和的功能 (2)(AX)=(2250)

2 (1)从一组数中找出最小数送RESULT中 (2)31 五、填语句(12分)。

01, JBE, 07, AL 六、程序设计(14)

DATA SEGMENT

BLOCK DB –7,1,12,-90,-70,34,-1,56,45,-12

DB –3,-4,23,0,12,11,-9,-8,67,-56

CN EQU $-BLOCK COUNT DB ? DATA ENDS CODE SEGMENT

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

LEA SI,BLOCK MOV CX,CN LP: MOV AL,[SI] TEST AL,80H JZ NEXT INC DL NEXT: INC SI LOOP LP MOV COUNT,DL MOV AH,4CH INT 21H CODE ENDS END START

====《汇编语言程序设计》模拟试卷03参考答案====

一 填空题(每空1分,共20分)

1.硬件系统,软件系统

2.计算机,程序员,机器语言,汇编语言,高级语言 3.11100.101B,34.5Q, 1C.AH 4.16,准16,32 5. MOD XOR GE 6. 字节,字,偶 7.-43

二 选择题(每题2分,共20分) B C A A B C D C D D B

三 判断题,若错误,请说明原因或改正(20分,) 1.(X) 表示-128 2.(X) 被置为1 3.(X) 只有CS可以 4.(X) AX不能为地址计数器 5.(X) 两操作数不能同时为存储单元 6.(√)

7.(X) OUT中不能用BX,可以用DX 8.(X) CX不能为目的操作数 9.(√) 10.(√) 四 程序分析(10分)

1.(1) L1 (2) L1 (3) L2 (4) L5

(5) L5

五 宏定义如下,试展开下面的宏调用。(每题5分,共10分)

1. 1 Mess1 DB ‘Hello MR.Assembly’,0DH,0AH,O 2. 1 DB ‘This is my score>90’, 0DH,0AH,O 1 DB ‘13 ’, 0DH,0AH,O 六 写出下面的程序片段。(5分)

MOV DL,AL NOT DL

TEST DL,00000100B JE EXIT

XOR AL,00101000B

EXIT:

七 程序设计(15分)

DATA SEGMENT ADRX DW 144 ADRY DW 12 DATA ENDS CODE SEGMENT

ASSUME CS;CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,ADRX MOV DX,0 DIV ADRY CMP DX,0 JZ EXT MOV DL,’1’ JMP EXIT NEXT: MOV DL,’0’ EXIT: MOV AH,02H INT 21H MOV AH,4CH INT 21H CODE ENDS

END START

====《汇编语言程序设计》模拟试卷04参考答案====

已知两个无符号字数据X、Y分别存放在ADRX和ADRY单元,编制程序,若X是Y的倍数,则在显示器上显示0,否则显示1。

一 填空(每空1分,共30分)

1.运算器,控制器,存储器,输入设备,输出设备 2.1110111B,77H 3.10100100B,10100101B 4.01000101 5.执行指令 6.CS,IP

7.200480H,2000H,0480H 8.汇编 9.1,0,0,0,0 10.立即数,2450H 直接寻址,1999H 寄存器间接寻址,2000H 基址加变址寻址,2001H 二 选择题(每题2分,共30分)

B C B E A B B E E C B C D C C C 三 改错题(16分)

第3行改为 CNT DW 7

第8行改为 FMAX: MOV AX,DSEG 第15行改为 AGAIN: CMP AX,[SI] 第16行改为 JAE SMALL 第17行改为 MOV AX,[SI] 第20行去掉

第22行改为 MOV MAX,AX 第26行改为 END FMAX 四 程序分析(9分)

1.(1)该程序的功能是计算0~100之间偶数之和

(2) 程序执行完成后,(AX)=(2550)。 2.执行完程序后,回答指定的问题。 SI=(510),

BX=( 230)。

五 程序设计(15分) DATA SEGMENT X DB -16 Y DB ? DATA ENDS CODE SEGMENT

ASSUME DS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL ,X TEST AL,80H JZ EXIT NEG AL

EXIT: MOV Y,AL MOV AH,4CH INT 21H CODE ENDS END START

====《汇编语言程序设计》模拟试卷05参考答案====

一、单项选择题(每小题2分,共20分)

A B B B A B A D D A 二、填空题(每空1分,共20分)

1.硬件系统,软件系统

2.计算机,程序员,机器语言,汇编语言,高级语言 3.11100.101B,34.5Q, 1C.AH 4.16,准16,32 5. MOD XOR GE 6. 字节,字,偶 7.-43

三、判断下列指令是否正确,若错误,请说明原因。(20分)

1. (√) 2. (√)

3. (×) 类型不匹配 4. (√)

5. (×) 类型不匹配

6. (×)相对基址变址寻址方式形成的值在汇编指令时是未知的 7. (×) AX不能为地址计数器 8. (√)

9. (×) 立即数不能为目的操作数 10.(×) CX不能为目的操作数 四、计算题(每题2分,共20分)

1. (AX)=3200,(SF,ZF,OF,CF)=(0,0,0,0)

2. (AX)=0E00H,(SF,ZF,OF,CF)=(0,0,0,0)MOV [BX], AX 3. (31200H)=2000H,不影响条件码

4. (3FFFEH)=2000H,(SP)=0FFFEH,不影响条件码 5. (31200H)=4FH,(SF,ZF,OF,CF)=(0,0,0,/)

6. (31200H)= 0FDB0H,(SF,ZF,OF,CF)=(1,0,0,1) 7. (31202H)=0FBH, (SF,ZF,OF,CF)=(1,0,0,1) 8. (31203H)=21H, (SF,ZF,OF,CF)=(/,/,1,1) 9. (DX)=121EH,(AX)=0E000H, (OF,CF)=(1, 1) 10. (AL)=38H,(AH)=80H,条件码无定义 五、程序分析题(5分)

AL=79H BL=06H CL=7FH

六、编制程序题(15分)

试编写程序,对BUF字节存储区的3个数进行比较,并按比较结果显示如下信息: 1. 如果3个数都不相等则显示0 2. 如果3个数中有两个相等则显示1 3. 如果3个数都相等则显示2 DATA SEGMENT

BUF DB 50,50,50

DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX XOR DX,DX MOV AL,BUF CMP AL,BUF+1 JZ DISP2 CMP AL,BUF+2 JZ DISP1 MOV AL,BUF1 CMP AL,BUF2 JZ DISP2 MOV DL,30H MOV AH,02H INT 21H JMP EXIT DISP1: MOV DL,31H MOV AH,02H INT 21H JMP EXIT DISP2: CMP AL,BUF+2 JNZ DISP1 MOV DL,32H MOV AH,02H INT 21H EXIT: MOV AH,4CH

INT 21H CODE ENDS END START

====《汇编语言程序设计》模拟试卷06参考答案====

一、填空(每空1分,总共40分)

1.运算器,控制器,存储器,输入设备,输出设备

2.0000 0000 0111 0101B, 0075H, 1000 0000 0111 0101B, 0FF8BH 3.8888H,2001H,8A881H 4.22636H,2263AH 5.字节,字,偶 6.1,0,0,0,0

7.立即寻址 2450H 直接寻址 2003H 寄存器间接寻址 2002H 基址+变址相对寻址 2001H 寄存器相对寻址 2001H

8.执行下列指令,写出每条指令执行后右边所示的内容:

90,0,1,96 9. MOV BX,30 MOV SI, 1 MOV CX,100 MOV CX,200

二.判断下列指令是否正确,若错误,请说明原因。(20分)

1. (√) 2. (√)

3. (×)类型不匹配 4. (√)

5. (×)AX不能为地址计数器

6. (×)相对基址变址寻址方式形成的值在汇编指令时是未知的 7. (×)立即数不能为目的操作数 8. (×)CX不能为目的操作数

9. (×)存储单元之间不能直接传送 10.(√)

三.画出下面所定义的各变量在存储器中的存储情况,并将变量标注到存储单元的右边的。(5分)

四.写出下面的程序片段(每小题5分,共10分)

1.MOV CX, 20

LEA SI, string1 LEA DI, string2 CLD MOVSB 2. MOV CX,M LEA SI,ARRAY

MOV AX,0

START:ADD AX,[SI]

ADD SI,2 LOOP START MOV TOTAL,AX

五.宏定义如下,试展开下面的宏调用。(每题5分,共10分)

1. 1 Mess1 DB ‘Hello MR.Assembly’,0DH,0AH,O 2. 1 DB ‘This is my score>90’, 0DH,0AH,O 1 DB ‘13 ’, 0DH,0AH,O 六.程序设计(15分) DATA SEGMENT

BUF DB 48,50,10

DATA ENDS CODE SEGMENT

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

12 3C 00 00 00 42 42 41

MOV AL,BUF CMP AL,BUF+1 JZ DISP2 CMP AL,BUF+2 JZ DISP1 MOV AL,BUF1 CMP AL,BUF2 JZ DISP2 MOV DL,32H MOV AH,02H INT 21H JMP EXIT DISP1: MOV DL,31H MOV AH,02H INT 21H JMP EXIT DISP2: CMP AL,BUF+2 JNZ DISP1 MOV DL,30H MOV AH,02H INT 21H EXIT: MOV AH,4CH INT 21H CODE ENDS END START

====《汇编语言程序设计》模拟试卷07参考答案====

一、单项选择题(每小题2分,共20分) A D D B A C B D C A 二、填空(每空1分,总共30分)

1.CPU,存储器,I/O设备 2.1999,2008,1B998 3.22636,2263C 4.字,字节,偶 5.1,0,0,0,0

6.立即寻址 2450H 直接寻址 1260H 寄存器间接寻址 1270H 基址+变址相对寻址 1280H 寄存器相对寻址 1280H

7.90,0,1,96

三.判断下列指令是否正确,若错误,请说明原因。(20分) 1. (√) 2. (√)

3. (×) 存储单元之间不能直接传送

4. (×) BX和BP不能同时出现在地址计数器中 5. (×) AX不能为地址计数器 6. (×) 少PTR

7. (×) 立即数不能为目的操作数 8. (×) CX不能为目的操作数 9. (×) IP不能为操作数 10.(√)

四.宏定义如下,试展开下面的宏调用。(5分)

1. 1 Mess1 DB ‘Hello MR.Xiaozhang’,0DH,0AH,O 2. 1 DB ‘my score>90’, 0DH,0AH,O 1 DB ‘16 ’, 0DH,0AH,O 五.程序分析(10分)

1.(1)完成0~100之间所有偶数求和的功能 (2)(AX)=(2250) 2. SI=510

BX=230

六.程序设计题(15分) DSEG SEGMENT

MESSAGE DB ‘Hello! Welcome learn assembly language.’,0DH,0AH,0 DSEG ENDS CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG

BEGIN: MOV AX,DSEG

MOV DS,AX

MOV DX,OFFSET MESSAGE MOV AH,9 INT 21H MOV AH,4CH

CSEG ENDS BEGIN

====《汇编语言程序设计》模拟试卷08参考答案====

一、填空(每空1分,总共30分)

1. 运算器,控制器。

2.0000 0000 0111 0101B, 0075H, 1000 0000 0111 0101B, 0FF8BH 3.2000,2008,22008。

4.22636,2263A 6.0,0,0,1,1

7.立即寻址 2450H 直接寻址 1000H 寄存器间接寻址 1280H 基址+变址相对寻址 2008H 寄存器相对寻址 2008H

8.执行下列指令,写出每条指令执行后右边所示的内容:

C1,0,1,27

二. 单项选择题(每小题2分,共20分) B, B, B, D, B, A, A, C, B, C

三.判断下列指令的正误,若错误,请说明原因或改正。(每小题2分,共20分) 1.(√) 2.(√)

3.(×) 类型不匹配 4.(√)

5.(×) AX不能为地址计数器 6.(√)

7.(×) 立即数不能为目的操作数 8.(×) CS不能为目的操作数

9.(×) 存储单元之间不能直接进行传送 10. (×) CX不能为目的操作数

四.画出下面所定义的各变量在存储器中的存储情况,并将变量标注到存储单元的右边的

五.写出下面的程序片段((每小题5分,共10分) 1.MOV DL,AL

NOT DL

12 3C 00 00 00 42 42 41 TEST DL,01000000B JE EXIT

XOR AL,00011000B

EXIT:

2. MOV CX,M LEA SI,ARRAY

MOV AX,0

START: ADD AX,[SI]

ADD SI,2 LOOP START MOV TOTAL,AX

六.程序设计题(15分) DATA SEGMENT

ARRAY DW 3,5,0,23,-37,49,-52,65,78,0,105 N DW 11

DATA ENDS CODE SEGMENT

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

MOV DS,AX MOV CX,N MOV BX,0 MOV DI,0 MOV SI,0

AGAIN: CMP ARRAY[BX],0 JLE LESS-OR-EQ INC DI

JMP SHORT NEXT LESS-OR-EQ: JL NEXT

INC SI

NEXT: ADD BX,2

DEC CX JNZ AGAIN MOV AX,N SUB AX,DI SUB AX,SI

CODE ENDS

END START

====《汇编语言程序设计》模拟试卷09参考答案====

一 填空(每空1分,共30分)

1.11100001B,E1H 2.10100101B 3.-43 4.CS,IP

5.20480,2000h,0480H 6.内存储器,外存储器 7.Edit, Masm, Link 8.0,0,0,1,1

9.立即寻址 2450H 直接寻址 2000H 寄存器间接寻址 2001H 基址+变址相对寻址 2002H 寄存器相对寻址 2002H 二、选择题(每题2分,共20分) B C D C B D C C D C

三.判断下列指令是否正确,若错误,请说明原因。(20分)

1. (√) 2. (√)

3. (×) 类型不匹配 4. (√)

5. (×) AX不能为地址计数器 6. (√)

7. (×) 立即数不能为目的操作数 8. (×) CX不能为目的操作数 9. (×) 存储单元之间不能直接传送 10.(×) 少PTR

四.画出下面所定义的各变量在存储器中的存储情况,并将变量标注到存储单元的右边的。

五.写出下面的程序片段(每小题5分,共10分)

12 3C 00 00 00 42 42 41

本文来源:https://www.bwwdw.com/article/6pq2.html

Top