发新话题
打印

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

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

全国2004年10月高等教育自学考试
汇编语言程序设计试题
课程代码:02321
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.假设存储器中从7462H单元开始的四个相邻字节单元中的内容依次是32H,46H,52H,OFEH,则存放字数据OFE52H的字地址是(   )
A.7462H                                                                B.7463H
C.7464H                                                                D.7465H
2.下列寄存器组中,在访问存储器操作数地址时,可以提供偏移地址的是(   )
A.BP、BX、SI、DI                                        B.AX、BX、CX、DX
C.SP、IP                                                                D.BX、SI、DI、DS
3.当堆栈为空时,如SS=0805H,SP=40H,栈底字单元的物理地址是(   )
A.08090H                                                        B.08089H
C.0808EH                                                        D.08450H
4.执行POP BP指令时,源操作数的物理地址表达式是(   )
A.16*SS+SP                                                        B.16*SS+BP
C.16*DS+BP                                                        D.16*CS+BP       
5.设ADRT=100H,不符合语法规则的语句是(   )
A.MOV  AX,ADRT                                        B.MOV  AX,[ADRT+SI]
C.MOV  [ADRT],AX                                        D.MOV  ADRT[SI],AX
6.下面XCHG指令语句中,语法正确的是(   )
A.XCHG  AX,DS                                                B.XCHG  BL,[BX]
C.XCHG  AL,OFH                                        D.XCHG[SI],[DI]
7.设(AL)=63H(BL)=29H执行下面指令后(   )
SUB  AL,BL
DAS
AX的内容是
A.(AX)=0304H                                                B.(AX)=0034
C.(AX)=0034H                                                D.(AX)=0304
8.设BX=1234H,DS=2000H,(21234H)=5678H,则指令“LEA  SI,[BX]”执行后的结果是
(   )
A.SI=5678H                                                        B.SI=1234H
C.SI=2000H                                                        D.SI=3234H
9.设DF=0,SI=20H,CX=10,执行REP  LODSW指令后,SI中的内容是(   )
A.20H                                                                B.30H
C.34H                                                                D.40H
10.设AL=0A8H,CL=23H,执行乘法指令MUL CL后,标志位OF,CF的值分别是(   )
A.OF=1,CF=1                                                        B.OF=1,CF=0
C.OF=0,CF=1                                                        D.OF=0,CF=0
11.MOV  BX,OFFFEH
NEG  BX
NOT  BX
上述三条指令执行后,BX中的内容是(   )
A.-1                                B.-2                                        C.-3                                        D.-4
12.设数据段有A1  DB  XX  ;是任一数据
DA2  DB  OFEH
下列两条指令:MOV  DL, DA1
OR    DL,DA2
执行后,DL中的内容可能是(   )
A.0FFH或0FEH                                                B.只能是0FEH
C.只能是0FFH                                                D.只能是01H
13.NUM1=200
NUM2=0C8H
       
MOV  AL,NUM1 XOR NUM2
上述语句执行后AL中的值是(   )
A.200                                                                B.0C8H
C.0                                                                        D.0FFH       
14.     ORG 100H
NUM EQU 8042H
DA1 DB 56H
         
MOV BX,0FFSET DA1
上述程序段执行后BX中的值是(   )
A.56H                        B.100H                          C.101H                                D.102H
15.设数据段中定义语句
DA1  DB  12H,34H
DA2  DW  12H,34H
下面有语法错误的语句是(   )
A.BUF1  DW  DA1                                        B.MOV  DA1+1,AX
C.MOV  BYTE PTR  DA2+1,AL                D.MOV  WORD  PTR  DA1,AX
16.在同一程序段中,定义下面伪指令,错误的是(   )
A.PORT1  EQU  AL                                        B.PORT2=AL
C.PORT2=2A50H  AND  OFFH                D.PORT3  EQU  2A50H
                                                                          PORT3  EQU  2A50H  AND  OFFH
17.X  DB  20H  DUP(0)
Y  DW  ‘7A’,‘8B’

MOV  CH,LENGTH  Y
MOV  CL, LENGTH  X
执行上述指令后,CX中的内容是        (   )
A.0120H                                                                B.2010H
C.207AH                                                                D.7A20H
18.执行SUB  AX,[BP][DI]指令,取源操作数时,使用的物理地址表达式是(   )
A.16*SS+BP+DI                                                B.16*ES+BP+DI
C.16*DS+BP+DI                                                D.16*CS+BP+DI
19.BUFF单元开始,连续存放了十个字节数据,欲找出与AL中内容不同的数,并将不同数据的地址偏移量送ADR单元,应选用的指令序列是(   )
A.REPZ  CMPSB                                                B.KEPNZ  CMPSB
JZ  K1                                                          JZ  K1
MOV  ADR,DI                                              MOV  ADR,DI,
K1:……                                                                  K1:……
C.REPZ  SCASB                                                D.REPNZ  SCASB
  JZ  K1                                                          JNZ  K1
  DEC  DI                                                          DEC  DI
  MOV  ADR,DI                                                  MOV  ADR,DI
K1:……                                                                K1:……
20.      TEST  VAR,55H
JE  ZER0

ZER0:……
上述程序段执行JE ZER0指令后能够产生分支的条件是(   )
A.VAR=0                                                        B.VAR=55H
C.VAR中第1,3,5,7位均为0                        D.VAR中第0,2,4,6位均为0
二、填空题(本大题共5小题,每小题1分,共5分)
21.逻辑地址由___________组成。
22.假设执行指令前BX=5678H,CL=8,指令ROL BX,CL执行后BX=___________。
23.每次进行串扫描指令SCAS时,要进行递增或递减修改的变址寄存器是___________。
24.在指令语句操作数项上,引用一个段名,就是获取段地址的___________数据。
25.VAR1 DD 10H DUP(?)语句实现留空___________个字节单元。
三、简答题(本大题共3小题,每小题2分,共6分)
26.下面指令是错误吗,哪条有错?什么错误
①MOV 34H,BL
②XCHG DS,AX
27.完成下列操作选用什么指令或指令序列
①将2BC0H减去1A05H
②将变量DAB1的段地址送AX。
28.设执行前SI=1000H,DS=2000H,存储单元(21000H)=1245H,下面二条指令分别执行后BX中的值各是多少?
①MOV  BX,[SI]
②LEA  BX,[SI]
四、程序分析题(本大题共7小题,每小题5分,共35分)
29.MOV  AX,7452H
ADD AL,AH
DAA
XCHG  AH,AL
SUB  AL,AH
DAS
程序段运行后,AX=____________,CF=____________。
30.已知AX=7865H,BX=89AAH
CLC
ADD  AX,BX
OR BX,AX
RCR  AX,1
RCL  BX,1
程序执行后,AX=____________BX=____________CF=____________
31.①AND  AL,0FAH
XOR  AL,0FFH
②XOR  AL,0AFH
OR  AL,50H
阅读上述指令,分别回答各指令序列完成什么功能?
32.DA1  DB  1AH,2BH,3CH,4DH,5EH,6FH
DA2  DB  6  DUP(0)
       
LEA  SI,DA1+5
MOV  BX,0FFSET  DA2
MOV  CX,604H
STD
LOP:  LODSB
ROL  AL,CL
MOV  [BX],AL
INC  BX
DEC  CH
JNZ  LOP
①程序执行后DA2中各字节内容是什么?
②程序中ROL AL,CL是否用ROR AL,CL指令替代,其功能不变。
33.   DA1  DB‘ABCDE $ FGHI’
DA2  DB $ -DA1  DUP(?)
                                 
                        CALL  SUB1
       
SUB1  PROC
         MOV BX,0
LOP:CMP BYTE PTR DA1[BX],‘$’
JZ AR
MOV AL,DA1[BX]
MOV DA2 [BX],AL
INC BX
JMP LOP
AR:RET
SUB1  ENDP
①上述子程序的功能是什么?
②返回主程序时,BX=____________。
34.AR1 DB ‘ABCDEFGH’
AR2 DB O

MOV AH,1
INT 21H                ;键盘输入
AND AL,0FH
DEC AL
LEA BX,AR1
XLAT AR1
MOV AR2,AL
①假设键盘输入数字4,则执行后(AR2)=____________;
②执行后CF=____________。
35.BCD1 DB   46H

MOV  AL,BCD1
MOV  CL,4
SHR  AL,CL
SAL  AL,1
MOV  CL,AL
SAL  AL,1
SAL  AL,1
ADD  AL,CL
MOV  CL,BCD1
AND  CL,0FH
ADD  AL,CL
上述程序段完成的功能是什么?
程序段运行结束后AL=____________。
五、程序填空题(本大题共2小题,每小题6分,共12分)
36.下面程序段是判AL和BL中的数据是否同号,若是,则把AL中的数据变负并送到AH中,否则O→AH。横线处填入适当指令(每处仅填一条指令)。
____________①
JNS     K
MOV   AH,0
JMP    END0
K:                ____________②
MOV  AH,AL
END0:……
37.已知寄存器AX和BX分别存放有二个非压缩BCD码,下面程序段完成AX+BX→AX中,请在横线中各填一条指令(假设结果小于等于99)
MOV  CH,AH
ADD   AL,BL
AAA
____________①
ADC  AL,BH
AAA
____________②
MOV AL,CH
六、编制程序题(本大题共3小题,共22分)
38.限用三条指令实现将DA1和DA2二个字节存储单元的内容进行交换。(5分)
39.试编制一程序段,用串操作指令STOSB实现向DA数据区依次相间存放字母字符A,B,……J和数字字符0~9。相间顺序是:A,0,B,1,C,2…,I,8,J,9。(设DA数据区所在段已由ES指向)。(5分)
40.已知三个带符号的字节数据a,b,c存放在ADR开始的连续单元中,若a,b,c同时为正数则FLAG单元置0,若同时为负数,则FLAG单元置1,否则FLAG单元置全1,请编写完整源程序。(12分)
www.whkaoshi.com武汉考试网,考试人的信息资料共享的大本营!

TOP

发新话题
添加马甲

请在下面输入您的马甲帐号信息, 然后点击 "添加" 按钮. 马甲信息添加后不能修改, 如果您修改了马甲的密码或安全提问, 请删除这个马甲并重新添加.
注意,每添加一个马甲收取工本费 200 K币

用户名
密码
 
安全提问
回答
 
附加设置