《汇编语言》模拟试卷

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2015-2016-1_14级《汇编语言》模拟试卷

一、基础知识题(每题8,共40分)

1.若DS=2030H,SS=1A00H,SP=6742H,SI=0020H, BX=0400H,内存单元DS:440H=01H,DS:441H=02H,DS:442H=04H,DS:443H=03H,寄存器AX的内容为7788H。

(1)给出DS所指数据段的起始物理地址和结束物理地址。

(2)执行指令MOV AL, [BX+SI+20]后,AX的内容是什么?访问的内存物理地址是什么?

(3)执行POP CX后,CX的内容是什么?SP的内容是什么?

2.判断下列指令是否正确,若不正确请说明原因。

(1)ADC [SI+DI],AX

(2)AND [AX],DL

(3)MOV CS,0123H

(4)PUSH 5566H

3.某程序数据段DATA如下:

DATA SEGMENT

DBUF DB ‘MOUSE_MEM!’

DBUFA DW 1020H

DB ‘TERMINER’

DB 300

DATA ENDS

试求:

(1)数据段中DBUF+12单元的存储内容。

(2)DBUFA相对于数据段地址(DS)的偏移地址。

(3)一处数据定义错误的伪指令。

4.写出能完成下列操作的指令序列。

(1)将AX的D5~D9位清零,其他位不变。

(2)将CL的D2、D4、D6位置1,其他位不变。

(3)用两种方法将AL、BL的内容互换。

(4)将DL的高4位和低4位互换。

5.写出下面每条指令执行后,ZF、PF、SF、CF、OF等标志位的值。

sub cl,cl

mov bl,10H

add bl,90H

mov bl,80H

add bl,80H

mov bl,05H

sub bl,0faH

二、程序分析题(每题8分,共24分)

1. 一内存的逻辑地址为5000H:100H,存储的内容如下:

00H,11H,22H,33H,44H,55H,66H,77H,88H,99H,0AAH

分析下列程序段执行后,寄存器(AX)= ,(BX)= ,(CX)= ,(DI)= 。

MOV AX,5000H

MOV DS,AX

MOV BX,100H

MOV SI,2

MOV AX,[BX+SI]

INC SI

MOV CX,[BX+SI]

INC SI

MOV DI,SI

ADD CX,[BX+DI]

2.分析下列程序段,回答问题。

ASSUME CS:CODE,DS,DATA

DATA SEGMENT

DB 1,3,5,‘B’,‘H’,‘W’,‘A’,‘T’,7,‘*’,0,‘#’,‘$’,‘-’DATA ENDS

CODE SEGMENT

START: MOV AX,DATA

MOV DS,AX

MOV BX,0

MOV CX,14

MOV AL,‘W’

S0: CMP AL, [BX]

JZ S1

INC BX

LOOP S0

S1: MOV DI,BX

MOV AX,4C00H

INT 21H

CODE ENDS

END START

(1)程序完成何功能?

(2)程序运行后,(CX)=,(DI)=。

3.下列程序段执行后,寄存器(AX)=,(SP)= ,(DX)=,(CX)= 。

代码段逻辑地址存储的指令

6010H:3000H MOV AL,0

3002H MOV AX,CS

3004H MOV SS,AX

3006H MOV SP,30H

3009H MOV DX,5050H

300CH PUSH DX

300DH CALL,3700H

3010H ADD CX,DX

3012H HLT

6010H:3700H POP CX

RET

三、完善、改错程序题(每题10分,共20分。一个空只能填一条指令)

1.下面的程序实现将CODE段中MEMA处的10个数据累加,结果存储到RESUB处的双字中。完善程序。

ASSUME CS:CODE

CODE SEGMENT

AA DW 00H,11H,22H,33H,44H,55H,66H,77H,88H,99H

BB DD 00H

START: MOV SI,0

MOV CX,10

SS: MOV AX,

ADD ,AX

ADC ,0

ADD SI,

LOOP SS

MOV AX,4C00H

INT 21H

CODE ENDS

END START

2.下列程序将DATASEG段中每个单词改为小写字母。找出程序中的错误,改正实现程序功能。

ASSUME CS:CODESEG,DS:DATASEG

DATASEG SEGMENT

DB 'FOX'

DB 'PRO'

DB 'VAX'

DB 'SET'

DATASEG ENDS

CODESEG SEGMENT

START: MOV AX, DATASEG

MOV DS, AX

MOV BX,0

MOV CX,4

S0: MOV SI,0

MOV CX,3

S1: MOV AL,[BX+SI]

AND AL,11011111b

MOV [BX+SI],AL

INC SI

LOOP S1

INC BX

LOOP S0

MOV AX,4C00H

INT 21H

CODESEG ENDS

相关文档
最新文档