没有合适的资源?快使用搜索试试~ 我知道了~
微机原理程序设计试题.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 76 浏览量
2022-06-15
06:18:27
上传
评论 1
收藏 228KB DOC 举报
温馨提示
试读
48页
微机原理程序设计试题
资源推荐
资源详情
资源评论
汇编语言程序设计试题
一、单项选择题〔在每小题的四个备选答案中有一个正确的答案,将正确答案
的序号写在题干的括号内。每小题 1 分,共 10 分)
1.在堆栈段中,存放栈顶地址的寄存器是()
A.IP B.SP C.BX D.BP
2.汇编语言程序中,反映指令操作结果的标志是()
A.状态标志 B.控制标志 C.ZF D.DF
3.书写汇编语言程序时规定,对字母开头的十六进制数,其前面必须加()
A.O B.D C.B D.H
4.计算机中用来存储程序、数据等信息的记忆装置是()
A.控制器 B.运算器 C.CPU D.存储器
5.MOV [SI][BX],AL,该指令中目的操作数采用的寻址方式是()
A.基址加变址 B.寄存器 C.寄存器间接 D.寄存器相对
6.MUL 【SI】指令中的乘积是存放在()、AX 中。
A.CX B.BX C.DX D.SI
7.汇编语言中,存放下一条将要执行的指令地址寄存器是()
A.SP B.AX C.DI D.IP
8.在计算机中,以先进后出方式工作的存储空间是()
A.存储器 B.RAM C.ROM D.堆栈
9.TEST AH,30H 指令的功能与()指令功能相类似。
A.AND B.CMP C.SUB D.OR
10.在存储器中留 60 个字的空单元的伪指令是()
A.ARRAY EQU 60 B.ARRAY DW 60
C.ARRAY DB 60 DUP(?) D.ARRAY DW 60 DUP(?)
二、填空题(每空格 1 分,共 20 分)
l.变量和标号的区别是________。
2.下述指令的目的操作数是存放在堆栈段中,请填入正确答案。
ADD____[BX],CH。
3.段地址和偏移地址为 2000:5076 的存储单元物理地址是____。
4.在下列程序段括号中,填入正确的答案。
( ) SEGMENT
BUF DB 12H,56H
DATA ENDS
CODE SEGMENT
...
CODE ( )
5.指出下列指令错误原因,填入括号中。
A. MOV AX,BL ;( )
B. MOV CS,AX ;( )
C. DEC GAMA[BX];( )
D. MOV ES,5600H;( )
E. SUB AX,DS ;( )
6.下列语句在存贮器中分别为变量分配多少字节?请填入括号中。
VR1 DW? ;( )
VR2 DW 4 DUP(?),2;( )
CONT EQU 10 ;( )
7. 设 BX=1200H , SI=0002H , DS=3000H,(31200H ) =50H ,
(31201H)=02H,( 31202H)=OF7H,( 31203H)=90H 请写
出下列各条指令单独执行后,有关寄存器及存储单元的内容,若该指令影响标
志位,则指出其值。
A.DEC BYTE PTR[1200H] ; 问:(31200)=____H,CF=____
B.SAR BYTE PTR[SI+1200H] ; 问:(31202H)=____H,ZF=____
C.MOV AX,WORD PTR[BX+SI];问:AX=____H,SF=____
三、简答题(每题 5 分,共 20 分)
1.下列每组指令中的两条指令有否区别?若有,请说出它们的不同点。
A. MOV AX,OFFSET TABLE LEA AX,TABLE
B. JMP SHOPT L1 JMP NEAR PTR L1
C. MOV AX,[BX] MOV AX,BX
D. SUB DX,CX CMP DX,CX
E.MOV [BP][DI],AL MOV DS:[BP][DI],AL
2.系统功能调用的方法如何?举例说明。
3.编程序,使用一条指令,使得:
A.CL 寄存器内容取反
B.BX 寄存器的低四位置 1
C.AX 寄存器的低四位清 0
D.CX 寄存器的低四位变反
E.用 TEST 指令测试 DL 寄存器的第 3 位和第 6 位。
4.指令 AND AX,OPR1 AND OPR2 中,OPR1 和 OPR2 是两个已赋值的变
量,问两个 AND 操作有什么区别?
四、程序分析题(每题 5 分,共 20 分)
1.对于下面的数据定义,各条 MOV 的指令单独执行后,有关寄存器的内容是什
么?
FLDB DB ?
TAB1 DW 20 DUP(?)
TAB2 DB 'ABCD'
A.MOV AX,TYPE FLDB B.MOV AX,TYPE TAB1
C.MOV CX,LENGTH TAB1 D.MOV DX,SIZE TAB1
E.MOV CX,LENGTH TAB2
2.下面程序段执行完后,BX 的内容是什么?
MOV AL,10
ADD AL,AL
SHL AL,1
MOV BL,AL
SHL AL,1
ADD AL,BL
3.试问下面的程序段完成的功能是什么?
SAL AX,1
RCL DX,1
4.假设 X 和 X+2 单元的内容为双精度数 P,y 和 y+2 单元的内容为双精度数
q(x 和 y 为低位字),试说明下列程序段做什么工作?
MOV DX,X+2
MOV AX,X
ADD AX,X
ADC DX,X+2
CMP DX,Y+2
JL L2
JG L1
CMP AX,Y
JBE L2L1
MOV AX,1
JMP SHORT EXITL2
MOV AX,2EXIT
INT 20H
五、程序设计题(每题 10 分,共 30 分)
1.已知存储器中有一个首地址为 ARRAY 的 100 个字数组,现要求把数组中的
每个数加 1(不考虑溢出的可能性),试编制完成此功能的程序段。
2.编写一段程序,如果字节变量 TESTONE 和 TESTTWO 相等,则调用
ALLSAME 子程序,显示'#';否则调用 NOTSAME 子程序,显示'!'。
3.已定义了两个整数变量 A 和 B,试编写程序完成下列功能:
A.若两个数中有一个是奇数,则将奇数存入 A 中,偶数存入 B 中。
B.若两个数均为奇数,则将两数均加 1 后存回原变量。
C.若两个数均为偶数,则两个变量均不改变。
(要求各段定义完整,并画出程序流程图)
试题 2 及答案
一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将
其号码填在题干后的括号内,每小题 1 分,共 20 分)
1.指令 JMP FAR PTR DONE 属于 参考答案为:C
A.段内转移直接寻址
B.段内转移间接寻址
C.段间转移直接寻址
D.段间转移间接寻址
[解析]略
2.下列叙述正确的是 参考答案为:C
A.对两个无符号数进行比较采用 CMP 指令,对两个有符号数比较用
CMPS 指令
B.对两个无符号数进行比较采用 CMPS 指令,对两个有符号数比较用
CMP 指令
C.对无符号数条件转移采用 JAE/JNB 指令,对有符号数条件转移用 JGE/J
NL 指令
D.对无符号数条件转移采用 JGE/JNL 指令,对有符号数条件转移用 JAE/J
NB 指令
[解析]对于无符号数和有符号数的比较都采用 CMP 指令;
CMPS 指令是串比较指令;
对两个有符号数的条件转移指令应是:JAE、JNB、JBE、JNA;
对两个无符号数的条件转移指令应是:JGE、JNL、JLE、JNG。
3.一个有 128 个字的数据区,它的起始地址为 12ABH:00ABH,请给
出这个数据区最末一个字单元的物理地址是 参考答案为:C
A.12CSBH
B.12B6BH
C.12C59H
D.12BFEH
[解析]末字与首字相隔(128-1=)127 个字,且每个字占用 2 个字节,
因此末字单元的物理地址应为:
首字单元的物理地址+(128-1)×2
即 12ABH×10H+00ABH+(128-1)×2=12C59H。
4.在下列指令的表示中,不正确的是 参考答案为:C
A.MOV AL,[BX+SI]
B.JMP SHORT DONI
C.DEC [BX]
D.MUL CL
[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项
C 中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必
须需用类型说明,如
DEC BYTE PTR [BX] 或 DEC WORD PTR [BX]
但是在题目的选项 C 中,没有指出存储器操作数类型,所以该指令是
不正确的;而其它选项中的指令均是正确的。
5.在进行二重循环程序设计时,下列描述正确的是 参考答案为:A
A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之
内
B.外循环初值应置外循环之内;内循环初值应置内循环之内
C.内、外循环初值都应置外循环之外
D.内、外循环初值都应置内循环之外,外循环之内
[解析]循环参数置初值,应在进入循环以前给出。
6.条件转移指令 JNE 的测试条件为 参考答案为:A
A.ZF=0
B.CF=0
C.ZF=1
D.CF=1
[解析]略。
7.8086CPU 在基址加变址的寻址方式中,变址寄存器可以为 参考
答案为:D
A.BX 或 CX
B.CX 或 SI
C.DX 或 SI
D.SI 或 DI
[解析]略
8.已知 BX=2000H,SI=1234H,则指令 MOV AX,[BX+SI+2]的源
操作在( )中。 参考答案为:A
A.数据段中偏移量为 3236H 的字节
B.附加段中偏移量为 3234H 的字节
C.数据段中偏移量为 3234H 的字节
D.附加段中偏移量为 3236H 的字节
[解析]指令中的源操作数的寻址方式是相对基址变址寻址,且由于其中的
基址寄存器采用的是 BX,所以源操作数是在数据段中,其偏移量为:
BX+SI+2=2000H+1234H+2=3236H
9.执行如下程序:
MOV AX,0
MOV BX,1
MOV CX,100
A:ADD AX,BX
INC BX
LOOP A
HLT
执行后(BX)= 参考答案为:C
A.99
B.100
C.101
D.102
[解析]1)在进入循环之前,有三条指令分别初始化寄存器:AX 为 0、BX
为 1、CX 为 100;
2)由于循环的控制部分采用的是 LOOP 指令,该指令有使 CX 减 1,
并判断其是否为 0 的功能,所以可知该循环的执行次数为 100 次;
3)循环体的主要功能是每次循环使 AX 中的内容累加 BX 的内容,并
使 BX 的内容加 1。
4)直到最后一次(即第 100 次)循环时,加到 AX 中的 BX 的内容为
100,且使 BX 加 1,即变为 101 后退出循环体。所以当执行完该段程序后,
BX 的内容为 101。
5)该段程序的功能是(AX)=1+2+……+100=5050
10.上题的程序执行后(AX)= 参考答案为:B
A.5000
B.5050
C.5100
D.5150
[解析]请参看上题中的分析。
正确答案:B。
11.对于下列程序段:
剩余47页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 82
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功