全国高等教育自学考试汇编语言程序设计试题.docx
《全国高等教育自学考试汇编语言程序设计试题.docx》由会员分享,可在线阅读,更多相关《全国高等教育自学考试汇编语言程序设计试题.docx(10页珍藏版)》请在冰豆网上搜索。
全国高等教育自学考试汇编语言程序设计试题
全国2007年1月高等教育自学考试
汇编语言程序设计试题
课程代码:
02321
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下列寄存器组中在存储器操作数寻址时可用于提供偏移地址的是()
A.AX,BX,CX,DX
B.SP,BP,SI,DI
C.CS,ES,DS,SS
D.BX,BP,SI,DI
2.某存储单元的段地址是
0AB90H,偏移地址是1234H,该存储单元的物理地址是
A.0BDC4H
B.0ACB34H
C.0AD134H
D.1CED0H
3.执行NEG指令时,要设置标志位
CF。
设置CF的正确说法是(
A.对正数求补时,CF置0
B.对负数求补时,CF置0
C.对全0数据求补时,CF置0
D.对非零数据求补时,
CF置0
4.设DF=1,每次执行CMPSW指令时,SI和DI均要分别
A.减1
B.减2
C.加1
D.加2
5.要使BL中的低四位变反,高四位不变,应执行指令(
A.NOTBL
B.ORBL,0FH
C.ANDBL,0FH
D.XORBL,0FH
6•设(AL)=07H,要使(AL)=-07H应执行的指令是(
C.NEGALD.ADDAL,80H
7.在8086/8088的立即数寻址方式中,对寄存器的使用下列说法正确的是()
A.使用AXBXCXDXB.使用SI,DI,BP,SP
C.使用任一个通用寄存器D.不使用任何寄存器
8.下列指令执行时操作数在数据段的是()
A.MOVAX,32768HB.ADDAL,AH
C.NEGBXD.INC[DI]
9.MOVAL,-1
NEGAL
XORAL,65上述指令执行后,AL的值是()
A.01HB.40H
C.61HD.64H
10.设SP=4AH,执行段内返回指令RET4后,SP的值是()
A.44HB.48H
C.4CHD.50H
11.在查错程序DEBUG中,为查看或修改内存单元的内容,这时存储单元地址是
使用
()
A.逻辑地址B.物理地址
C.逻辑地址或物理地址D.由用户指定选择逻辑地址或物理地址
12.设NUM=60H,表达式:
NUMLT60HAND30)OR(NUMGE60HAND40)的值是()
A.0
B.3EH
C.40
D.0FFFFH
13.指令MOVCL,55HXOR0F0H执行后CL中的值是()
A.05H
B.50H
C.0A5H
D.0F5H
14.下面语句中能和指令
MOVAX,NOT0FH等效的是()
A.MOVAX,0FFFFH
B.MOVAX,0FH
C.MOVAX,0FFF0H
D.MOVAX,0F0FFH
15.对CS段寄存器赋段地址的方法是()
A.MOVAX,COSE
B.ASSUMECS:
COSE
MOVCS,AX
C.END起始地址
D.MOVCS,2050H
16.有数据定义BUFDB8DUP(3DUP
(2),2DUP(3)),在BUF中能构成数据
0302H有()
A.5个
B.6个
C.7个
D.8个
17.XDW1234H,0A9BH
YDB7EH,8DH
I
I
I
MOVBH,TYPEX
MOVBL,TYPEY
A.0102HB.0101H
C.1234HD.0201H
18.下面有语法错误的指令是()
A.XCHGAX,[BX]B.XCHGAX,DS
C.XCHGAX,SID.XCHGAX,BP
19.条件转移指令JBE产生转移的条件是()
A.CF=0ORZF=0B.CF=0ORZF=1
C.CF=1ORZF=0D.CF=1ORZF=1
20.XORAX,426H
JZDONE上述程序段产生分支的条件是()
A.执行前AX=426HB.执行前AX426H
C.执行前AX=全0D.执行前AX=全1
二、填空题(本大题共6小题,每小题1分,共6分)请在每小题的空格中填上正确答案。
错填、不填均无分。
21.DW‘AB将依次在内存中从低字节到高字节存入数据o
22.隐含指标堆栈段中某个数据偏移地址的寄存器是。
23.比较两个字符串,找出它们不匹配的位置,在CMPS指令前应使用的重复前缀
指令是o
24.在串操作指令中,使地址自动减量的指令是o
25.BUFDW4,6,$+2,若汇编时BUF分配的偏移地址是0042H,则汇编后BUF数
组中第三个字的值是
26.在汇编源程序时,语句INC[BX]出现语法错误,这时在语句的操作数项中应添
加的操作符是。
三、简答题(本大题共4小题,每小题2分,共8分)27.设有数据定义如下:
ARRAYDW1000,H2000H,3000H,4000H,5000H
BUFDW?
要求完成:
(1)用一条指令完成将ARRAY勺偏移地址送BX
(2)用一条指令完成将ARRAY勺第一字节单元内容送AL;
(3)用一条指令完成将ARRAY数组的长度(字节数)送CX28.两个同符号勺有符号数相减时,会发生溢出吗?
为什么?
29.设DS=2000HBX=1256HSI=528FH,变量TABLE的偏移地址是20A1H,(232F7H)=3280H,(264E5H=2450H。
请写出下列无条件转移指令段内寻址方式中赋值给IP的值。
(1)JMPTABLE[BX];IP=。
(2)JMP[BX][SI];IP=。
30.设BX=0FFFFHDI=20H,DS=2000HCL=8,(20020H)=4567H,下列各条指令分别执行后BX中的内容各为多少?
(1)ROLBX,CL;BX=
(2)MOVBX,[DI];BX=
四、程序分析题(本大题共6小题,每小题6分,共36分)
31.已知AX=0FF70H,BX=30H,CF=1
ORBX,0FF40H
SBBAX,BX
上述二条指令执行后,AX=,BX=。
32.已知AX=5678H
MOVBX,AX
NEGBX
ADCAX,BX
上述程序段运行后,AX=,BX=。
33.A1DB65H
A2DB?
A3DB?
I
I
I
MOVAL,A1
MOVCL,4
SHRAL,CL
ADDAL,30H
MOVA2,AL
MOVAL,A1
ANDAL,0FH
ORAL,30H
MOVA3,AL
上述程序段执行后(A2)=,(A3)
34.MOVAH,1
INT21H;从键盘输入字符
ANDAL,0FH
MOVBL,AL
MOVAH,1
INT21H;从键盘输入字符
MOVAH,0
ANDAL,0FH
ADDAL,BL
PUSHAX
DAA
PUSHAX
I
I
I
上述程序段执行时,若第一次从键盘输入6,第二次从键盘输入7。
那么:
(1)第一次AX进栈的数是()
(2)第二次AX进栈的数是()
35.MOVBX,AX
XORBX,0423H
JZNEXT
ORBX,1
NEXT……
I
I
I
若上述程序段执行时,指令JZ产生3分支,说明AX中的值是,执行
后BX=。
36.HTOAPROC
ANDAL
,0FH
ADDAL
,90H
DAA
ADCAL
,40H
DAA
RET
HTOAENDP
请回答:
(1)若执行子程序前AL=09H执行后AL=;
(2)若执行子程序前AL=0DH执行后AL=。
五、程序填空题(本大题共2小题,每小题6分,共12分)
37.下面程序段是判断AL和BL中第4位是否相同,如相同,则AL置全0,否则
AL置全1。
试把空白处填上适当的指令。
(每一空白处填一条指令)
①
ANDAL,10H
②
MOVAL0FFH
NEXT:
……
38.下面程序段完成将以BUF为首址的100个字节数据的位置颠倒过来,请在空白处各填上一条指令。
①
LEASI,BUF
MOVDI,SI
ADDDI,99
NEXTMOVAL[SI]
②
MOV[SI],AL
INCSI
DECDI
LOOPNEXT
六、编制程序题(本大题共2小题,第39小题6分,第40小题12分,共18分)
39.限用二条逻辑指令将寄存器AL中第0,2位置1,其他位变反。
40.在M1和M2两数据区分别有20个带符号数。
试编制一完整源程序,求出对应项两数据平均值(平均值的小数部分略去),并存入M3数据区中(要求在程序中一定要使用STOS存串指令)
DATASEGMENT
M1DBXX,XXXX••…
M2DBXX,XX,XX••…
M3DB20DUP(0)
DATAENDS