武汉大学计算机学院c语言试卷2008-2009,武汉大学计算机学院考试试卷1.doc

武汉大学计算机学院考试试卷

一.单项选择题(将选项填在题干前的括号内,每小题1分,共20分)

( ) 1.用 编写的程序称为汇编语言源程序。

A.汇编语言 B.汇编程序 C.机器语言 D.高级语言

( ) 2.在IBM-PC系列机中,32位的微型计算机有 个段寄存器。

A.4 B.5 C.6 D.7

( ) 3.一般的传送指令 标志位。

A.影响 B.影响CF C.影响ZF D.不影响

( ) 4.8086CPU形成的内存物理地址有 位。

A.16 B.20 C.24 D.32

( ) 5.若SUB指令的运算结果有借位,则 被置为1。

A.ZF B.SF C.OF D.CF

( ) 6.在取指令时,使用的段寄存器是 。

A.CS B.DS C.ES D.SS

( ) 7.用 编写的程序可直接被机器执行。

A.高级语言 B.机器语言 C.汇编语言 D.C语言

( ) 8.指令“MOV AX,[BX+5]”源操作数的段寄存器是 。

A.CS B.DS C.ES D.SS

( ) 9.指令“MOV [EBX*4],EAX”目的操作数的寻址方式是 。

A.寄存器间接寻址 B.带比例因子的变址寻址

C.变址寻址 D.基址变址寻址

( )10.字乘法指令执行完后,其运算结果在 中。

A.AX B.BX C.DX:AX D.AX:BX

( )11.CPU响应中断后,在中断响应周期将 压入堆栈。

A.IP B.PSW C.CS和IP D.PSW、CS和IP

( )12.伪指令“A DW 2,20DUP(0)”分配的内存单元数是 字节。

A.2 B.21 C.42 D.84

( )13.执行“INT 10H”指令时,其中断处理程序的入口地址在 中。

A.10H B.20H C.30H D.40H

( )14.在8086 CPU的指令系统中,串操作指令的目的操作数在 。

A.DS:DI B.ES:DI C.DS:SI D.ES:SI

( )15.在IBM-PC机中,一个段最大可定义 字节。

A.16K B.32K C.64K D.128K

( )16.条件转移指令的转移范围是 。

A.0~128 B.0~255 C.-128~127 D.-127~127

( )17.若要将A定义为字,其伪操作应为 。

A.DB B.DW C.DD D.DQ

( )18.在子程序中,至少要有一条 指令。

A.传送 B.加法 C.减法 D.返回

( )19.如果移位指令的移位次数大于1时,其移位次数必须放在 中。

A.AL B.BL C.CL D.DL

( )20.在进行DOS功能调用的功能号前,其功能号应该放在 。

A.AH B.BH C.CH D.DH

二.填空题(共10小题,每小题1分,共10分)

1.目标程序经过 后产生可执行文件。

2.在PC机的指令系统中,立即数不能作 操作数。

3.标号的三个属性是段地址、偏移地址和 。

4.主机与外设间的数据传送方式有查询方式、 和DMA方式。

5.若A定义为字节,则指令“MOV AX,TYPE A”执行后AX= 。

6.指令“MOV AX,[BP]”使用的段寄存器是 。

7.当指令执行完后SF=1,则表示运算结果为 数。

8.如果在宏定义中有L标号,则在宏定义中应该用 说明L。

9.如果在某一模块中的Q变量能被其他模块引用,在该模块应该用 说明Q。

10.压缩的BCD码一个字节可表示 位十进制数。

三.判断改错题(正确的在括号内打√,否则打,并按原意改错。每题2分,共20分)

( ) 1.MOV [SI],3

( ) 2.SHL AX,5

( ) 3.MOV AX,SI

( ) 4.LEA BL,BUF

( ) 5.MOV BX,[CX]

( ) 6.ADD AX,[DI]

( ) 7.SUB AX,BL

( ) 8.MOV [DI],[SI]

( ) 9.MOV BUF,CX ;BUF为字变量

( )10.INC [SI]

四.画出如下数据段的数据在内存中的存放形式示意图(10分)

DATA SEGMENT

A DW 2,3

B DB ‘ABC’

C DB 4 DUP(0)

D = $-C

E DB $-A

F DD 12345678H

DATA ENDS

五.阅读如下程序段,解答其后问题(共10分)

RW MACRO A,B

MOV AH,A

LEA DX,B

INT 21H

ENDM

DATA SEGMENT

BUF1 DB 100,0,100 DUP(0)

BUF2 DB ‘PLEASE INPUT:’

BUF3 DB 0AH,0DH,‘$’

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

RW 9,BUF2

RW 10,BUF1

RW 9,BUF3

MOV CL,BUF1+1

MOV CH,0

MOV SI,CX

MOV AH,2

L: MOV DL,BUF1[SI+1]

INT 21H

DEC SI

LOOP L

MOV AH,4CH

INT 21H

CODE ENDS

END START

请回答 :(1)该程序完成什么功能?(5分)

(2)若输入的字符为‘12345’时,输出的结果是什么?(5分)

六.编写下列程序段(每小题5分,共15分)

1.将字变量A和B的内容互换。

2.将字变量A和B的内容相加,其结果存放在C变量中。

3.从键盘输入一字符,若为字符$,则1→CX,否则0→CX。

七.程序填空题(15分)

设有一字数组A,第一个字单元存放的是数组元素个数,从第二个字单元开始依次存放的是数组元素。现要求编写一程序,用SCAS指令搜索字数组A中与X字变量中所有相等的元素,若找到该元素,则用MOVS指令从数组中删除该元素;否则,数组中的元素不变。

DATA SEGMENT

A DW 12,432,—234,56,4,8,2,0,—1,44,20,10,22

X DW ?

CODE SEGMENT

START: MOV AX,DATA

MOV DS,AX

MOV AX,X

CLD

L: MOV CX,A

LEA DI,A+2

JNZ OK

CMP CX,0

JZ NO

MOV SI,DI

MOVSW

DEC A

JMP L

NO:

OK: MOV AH,4CH

INT 21H

CODE ENDS

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值