破书一堆 发表于 2007-11-8 13:42:02

2007年10月自考汇编语言程序设计试题

全国2007年10月高等教育自学考试
汇编语言程序设计试题
课程代码:02321
一、单项选择题 (本大题共20小题,每小题1分,共20分
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.设A=186,B=273Q,C=0BBH,它们之间的关系是(      )
A.A>B>C        B.A<B<C
C.A=B=C        D.A<B=C
2.8086/8088的存贮器组织是将存储器划分为段,可作为段的起始地址是(      )
A.185A2H        B.00020H
C.01004H        D.0AB568H
3.下列指令执行后,能影响标志位的指令是(      )
A.PUSHF        B.POPF
C.JNLEOPR        D.LOOPELOP
4.循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是(      )
A.CX≠0且ZF=1        B.CX≠0且ZF=0
C.CX≠0或ZF=1        D.CX≠0或ZF=0
5.设VARl和VAR2是已定义的变量名,非法的表达式是(      )
A.VARl-VAR2        B.VAR2-VARl
C.VARl+VAR2        D.VARl
6.设NUM=11011011B,指令MOVAX,NUMSHL3执行后AX中的值是(      )
A.11011011000B        B.1l011000B
C.00011011B        D.00011011011B
7.8088/8086存储器分段,每个段不超过(      )
A.64K个字        B.32K个字节
C.64K个字节        D.1兆个字节
8.设AL中已有压缩型BCD码,为实现对AL的减1操作,可选用的指令序列是(      )
A.DECAL        B.SBBAL,0
AAS                                 DAS
C.SUBAL,1        D.SUBAL,l
AAS                                     DAS
9.若AX=-15要得到AX=15应执行的指令是(      )
A.NEGAX        B.NOTAX
C.INCAX        D.DECAX
10.8086/8088系统执行传送指令MOV(      )
A.不影响标志位        B.影响DF方向标志
C.影响SF符号标志        D.影响CF进位标志
11.下列指令中操作数在代码段中的是(      )
A.MOVAL,42H        B.ADDAL,BL
C.SUB,DI        D.INC
12.表示过程定义结束的伪指令是(      )
A.ENDP        B.ENDS
C.END        D.ENDM
13.条件转换指令JNBE产生转换的条件是(      )
A.CF=0ANDZF=0        B.CF=0ANDZF=1
C.CF=1ANDZF=0        D.CF=1ANDZF=l
14.设(SS)=338AH,(SP)=450H,执行PUSHBX,和PUSHF两条指令后,堆栈顶部的物理地址是(      )
A.33CECH        B.33CF2H
C.33CF4H        D.33CE8H
15.要输入端口1234H中的8位数据,其指令应是(      )
A.MOVDX,1234H        B.MOVDX,1234H
OUTDX,AL                        INAL,DX
C.INAX,1234H        D.OUTDX,1234H
16.标志寄存器中属于控制标志位的是(      )
A.DF,OF,SF        B.DF,IF,TF
C.OF,CF,PF        D.AF,OF,SF
17.用一条指令实现将寄存器BX和SI中的内容相加,结果送入AX中,这条指令是(      )
A.ADDAX,        B.MOVAX,
C.ANDAX,        D.LEAAX,
18.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是(      )
A.DIVBX        B.CWD
IDIVBX
C.XORDX,DX        D.CBW
DIVBX                              IDIVBX
19.下列指令执行后对源和目的操作数均无影响的是(      )
A.MOV,AX        B.SUBAX,2467H
C.SBB,BX        D.CMPAX,BX
20.下列有语法错误的语句是(      )
A.DB1234H        B.DW4567H
C.DD′AB′,′CD′        D.DB′ABCD′
二、填空题(本大题共6小题,每小题1分,共6分)
请在每小题的空格中填上正确的答案。错填、不填均无分。
21.宏定义开始用的伪指令是______________。
22.DF是程序状态字寄存器中的_____________标志位。
23.分支程序结构有两种形式,第一种为__________,第二种为__________。
24.汇编语言程序设计中每个语句的注释项的开始必须用符号___________。
25.从端口地址3AH输入一个16位数据,其指令是____________。
26.设(SP)=001EH,执行段内返回指令RET后(SP)=_____________。
三、简答题(本大题共4小题,每小题2分,共8分)
27.假设某数据段的段名为DATA,段内有一变量BUF,请分别用MOV指令写出与下述二
条语句等效的语句。
(1)MOVAX,DATA
(2)LEABX,BUF
28.设MY_DATA为数据段段名
(1)MY_DATA应送到哪个段寄存器中?
(2)MY_DATA送到相应的寄存器中去,用什么指令?
29.某数据段中有语句DB′AB′,0,0,′CD′,0,0;请分别用DW和DD伪指令改写它。
30.请写出下列指令中存贮器操作数的物理地址表达式。
①MOVAX,20H
②ADDCS:,26H
四、程序分析题(本大题共6小题,每小题6分,共36分)
31.已知BX=5E5CH,CX=8303H,CF=1
RORBX,CL
XORBH,CH
ROLBX,CL
程序段执行后,BX=   ,CF=   。
32.MOVAL,01H
RORAL,1
ORAL,AL
NEGAL
上述程序段执行后AL=    ,CF   。
33.MOVAL,0FH
XORAL,0FFH
MOVCL,7
SHRAL,CL
(1)上述程序段执行后AL=      ;
(2)若将指令SHR换成ROR指令后,那么执行后AL=               。
34.DA_WORD   EQUWORDPTR   DA_BYTE
DA_BYTE   DBOABH,89H



SHR    DA_WORD,1
MOV    DX,DA_WORD
SHL    DA_BYTE,l
MOV    CX,DA_WORD
上述指令序列执行后,CX=       ,DX=         。
35.设A、B均为长度为10的字节数组,DS、ES已指向同一组数据段
A   DB    1,2,3,4,5,6,7,8,9,0AH
B   DB    0AH,9,8,7,6,5,4,3,2,1



LEA   SI,A
LEA   DI,B
MOV   CX,10
CLD
LOP:LODSB
XCHG    AL,
XCHG    SI,DI
DEC   DI
STOSB
XCHG    SI,DI
INC   DI
LOOP   LOP
上述程序段执行后,
(1)程序段完成什么功能?
(2)A和B两个字节数组的内容是什么?
36.已知AL的值为0—F中一位十六进制数
HECA    PROC    FAR
CMP   AL,10
JC      KK
ADD   AL,7
KK:   ADD   AL,30H
MOV   DL,AL
MOV   AH,2
INT   21H
RET
HECA    ENDP
请回答:
(1)该子程序完成什么功能?
(2)如调用子程序时,AL=3,程序执行后,DL=         ;
(3)如调用子程序时,AL=0FH,程序执行后,DL=          。
五、程序填空题(本大题共2小题,每小题6分,共12分)
请在每小题的空格中填上正确的答案。错填、不填均无分。
37.下列程序段实现将数据区ABUFl首址开始的100个字节数据传送到ABUF2为首址的数据区去。
CLD
MOVSI,OFFSETABUFl
______________________________①
MOVCX,100
____________________________________②
38.下面程序段是在DAI开始的10个字节中依次存入数据‘9’,‘8’,……‘1’,‘0’,在横线处填入指令。
MOVCX,10
___________________________①
MOVAL,′9′
CLD
LOP:STOSB
__________________________②
LOOP   LOP
六、编写程序题(本大题共2小题,第39小题6分,第40小题12分,共l8分)
39.限用2条指令把AX中第4到10位都变反,第0—3位,第11到15位都置1。
40.设有一字符串存放在以STRING为首址的数据区中,其最后一个字符′.′(其中ASCⅡ码为2EH)作为结束标志,编程序,计算该字符串的长度送LEN字节单元。又知被操作的字符串为′IBMPC8088CPU.′。
页: [1]
查看完整版本: 2007年10月自考汇编语言程序设计试题