浙江广播电视大学春季学期期末复习.docx
《浙江广播电视大学春季学期期末复习.docx》由会员分享,可在线阅读,更多相关《浙江广播电视大学春季学期期末复习.docx(16页珍藏版)》请在冰豆网上搜索。
浙江广播电视大学春季学期期末复习
浙江广播电视大学2006年春季学期期末复习
汇编语言程序设计
第一部分:
复习要点
第1章汇编语言基础知识
了解微机及PC机系统的基本软硬件组成、熟悉汇编语言的概念和应用特点、复习掌握数据表达
第2章数据的表示方法和运算
掌握数制、二进制数据的组织和运算
掌握符号数和非符号数的表示以及符号扩展与零扩展
掌握字符的表示
第3章8086/8088微型计算机系统组成
掌握微机系统的组成
掌握8086/8088CPU功能结构
掌握8086/8088CPU内存组织、逻辑地址和物理地址的计算
第4章8086指令系统
掌握8086的寄存器组和存储器组织,掌握8086的寻址方式,熟悉8086的基本参数、堆栈工作原理、指令对标志的影响、符号扩展的含义、压缩和非压缩BCD的格式,串操作寻址特点。
掌握基本指令:
MOV/XCHG/XLAT、PUSH/POP、LEA;CLC/STC/STC、CLD/STD;ADD/ADC/INC、SUB/SBB/DEC/CMP/NEG、CBW/CWD;AND/OR/XOR/NOT/TEST、SHL/SHR/SAR、ROL/ROR/RCL/RCR;REP、MOVS/LODS/STOS;JMP/JCC、JCXZ/LOOP、CALL/RET、INTn
熟悉特色指令:
IN/OUT;CLI/STI;MUL/IMUL、DIV/IDIV、DAA/DAS、AAA/AAS;CMPS/SCAS;IRET;NOP
了解不常使用的指令:
LAHF/SAHF/PUSHF/POPF、LDS/LES;AAM/AAD;REPZ/REPNZ;LOOPZ/LOOPNZ;INTO;LOCK/HLT/ESC/WAIT
掌握DOS、了解ROM-BIOS的字符/字符串输入输出功能调用方法
掌握DEBUG调试程序的使用及调试指令和程序段的方法
第5章汇编语言程序格式与程序调试
掌握汇编语言语句格式,掌握简化段定义(或完整段定义)源程序格式,掌握常量表达、变量定义及应用,变量、标号和逻辑段的属性。
了解数值表达式、复杂数据结构和DOS的程序结构;
掌握基本伪指令和操作符:
EQU/=;+-*/;DB/DW/DD、?
/DUP;ORG/$、OFFSET/SEG/PTR;.MODEL/.STACK/.DATA/.CODE/END、SEGMENT/ENDS。
了解不常使用伪指令和操作符:
.RADIX;逻辑、移位和关系运算符;DF/DQ/DT;EVEN/ALIGN;THIS/SHORT/TYPE/SIZEOF/LENGTHOF;ASSUME/GROUP、.SEG/.DOSSEG/.ALPHA;
掌握汇编语言源程序的编辑、汇编、连接和调试的开发方法
掌握伪指令:
PROC/ENDP、MACRO/ENDM、LOCAL;INCLUDE/PUBLIC/EXTERN
了解伪指令:
REPEAT/FOR/FORC、IFxx;
第6,7,8,9章顺序结构、分支结构、循环结构、子程序程序设计
掌握基本程序结构――顺序结构、分支结构、循环结构、子程序和宏及其汇编语言程序设计方法;
熟悉常见程序设计问题:
多精度运算,查表(查代码、特定值等)、ASCII、BCD及十六进制数据间的代码转换;数据范围判断(0~9、A~Z、a~z)、字母大小写转换;字符串传送、比较等操作、求最小最大值、数据求和、统计字符个数;子程序的寄存器和共享变量传递参数。
第10章中断
掌握中断的基本概念
掌握中断的处理过程
了解中断控制器8259A
了解中断设计
第11章MS-DOS、PC-BIOS系统调用
了解系统调用的方法
掌握DOS调用和BIOS调用
第12章内存分配与文件操作
略
第二部分模拟试卷
一、单项选择题
1.十六进制数88H,可表示成下面几种形式,错误的表示为【C】。
A.无符号十进制数136B.带符号十进制数-120
C.压缩型BCD码十进制数88D.8位二进制数-8的补码表示
2.指令指针寄存器是【A】。
A.IPB.SPC.BPD.PSW
3.当执行指令ADDAX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是【C】。
A.表示结果中含1的个数为偶数B.表示结果中含1的个数为奇数
C.表示该数为偶数D.表示结果中低八位含1的个数为偶数
4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是【A】。
A.MOVAL,00HB.ANDAL,00HC.XORAL,ALD.SUBAL,AL
5.下列指令执行后总是使CF=0,OF=0的是【A】。
A.ANDB.NEGC.NOTD.INC
6.完成同指令XCHGAX,BX相同功能的指令或指令序列是【C】。
A.MOVAX,BXB.MOVBX,AX
C.PUSHAXD.MOVCX,AX
POPBXMOVAX,BX
MOVBX,CX
7.设AH=0,AL=06H,BL=09H,执行指令
ADDAL,BL
AAA
之后,其结果应是【A】。
A.AH=01,AL=05B.AH=1AL=15C.AH=0AL=0FHD.AH=0AL=05
8.设AL=0B4H,BL=11H,指令“MULBL”和指令“IMULBL”分别执行后OF,CF的值为【B】。
A.OF=1,CF=0B.OF=1,CF=1C.OF=0,CF=0D.OF=0,CF=1
9.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是【C】。
A.CX=0且ZF=0B.CX=0且ZF=1C.CX=0或ZF=0D.CX=0或ZF=1
10.下面指令中,合理而有意义的指令是【C】。
A.REPLODSBB.REPSCASBC.REPCMPSBD.REPMOVSB
11.在汇编语言程序中,对END语句的叙述正确的是【C】。
A.END语句是一可执行语句B.END语句表示程序执行到此结束
C.END语句表示源程序到此结束D.END语句在汇编后要产生机器码
12.下面的数据传送指令中,错误的操作是【C】。
A.MOVSS:
[BX+DI],1000HB.MOVDX,1000H
C.MOVWORDPTR[BX],1000HD.MOVDS,2000H
13.下面指令执行后,变量DAB中的内容是【C】。
DAWDW2A05H
DABDB0FAH
:
MOVAL,BYTEPRTDAW
SUBDAB,AL
A.0DAHB.0FAHC.0F5HD.0D0H
14.执行下列指令后,正确的结果是【B】。
MOVAL,100
MOVBL,-2
A.AL=100HB.AL=64H
BL=02HBL=0FEH
C.AL=64HD.AL=100H
BL=82H
BL=0FEH
15.设数据段中已有:
DA1DB12H,34H
DA2DW56H,78H
下面有语法错误的语句是【B】。
A.ADR1DWDA1
B.MOVDA1+1,AX
C.MOVBYTEPTRDA2+1,AL
D.MOVWORDPTRDA1+1,AX
16.实现将DX:
AX中存放的32位数扩大四倍,正确的程序段是【C】。
A.SHLAX,2
ROLDX,2
B.RCLAX,2
SHLDX,2
C.MOVCX,2
LOP:
SHLAX,1
RCLDX,1
LOOPLOP
D.SHLAX,1
SHLAX,1
RCLDX,1
RCLDX,1
17.DATASEGMENT
TA1DW0102H,0304H,0506H
TA2DB02H,03H,04H
:
MOVBX,DS:
[0006H]
ANDBX,0FFH
ANDBH,[BX]
上述指令序列运行后,BX的内容是【B】。
A.0605HB.0402HC.0606HD.0204H
18.当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是【C】。
A.JLEB.JNLC.JNLED.JL
19.下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为【A】。
TESTBH,01H
_________K1
A.JNEB.JZC.JSD.JC
20.测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是【B】。
A.TESTBL,4FH
JZNEXT
B.XORBL,4FH
JZNEXT
C.ANDBL,4FH
JZNEXT
D.ORBL,4FH
JZNEXT
1.把若干个模块连接起来成为可执行文件的系统程序是(B)
A.汇编程序B.连接程序C.机器语言程序D.源代码程序
2.使汇编程序执行某种操作的命令是(C)
A.变量B.指令C.伪指令D.宏指令
3.串操作指令中,目的操作数的段地址一定在(D)寄存器中
A.CSB.SSC.DSD.ES
4.在下列语句中,AGAIN称为(C)
AGAIN:
INCSI
A.符号B.助记符C.标号D.变量
5.MOVBH,1000[SI],该指令中源操作数采用的寻址方式是(C)
A.立即B.直接C.寄存器相对D.寄存器间接
6.ORAL,AL是(D)操作指令。
A.异或B.加法C.右移D.逻辑或
7.DOS系统功能调用中,显示单个字符的系统调用号是(B)H。
A.01HB.02HC.08HD.09H
8.使计算机执行某种操作的命令是(B)
A.宏指令B.指令C.伪指令D.语句
9.换码指令的助记符是(C)
A.XCHGB.LEASC.ALXTD.MOV
10.计算机能直接识别并执行的语言是(B)
A.汇编语言B.机器语言C.高级语言D.低级语言
二、填空
1.已知(DS)=091DH,(SS)=1E4AH,(BP)=0024H,
(AX)=1234H,(BX)=0024H,(CX)=0078H,
(SI)=0012H,(DI)=0032H,(09226H)=00F6H
(09228H)=1E40H,(1E4F6H)=091DH。
试写出下列语句按顺序执行后有关寄存器和存储单元的结果。
MOVCL,20H[BX][SI]
MOV[BP][DI],CX
LEABX,20H[BX][SI]
MOVAX,2[BX]
MOV[SI],BX
(AX)=_______________(BX)= _________________
(CX)=________________
(1E4F6H)=____________(091E2H)=______________
答:
(AX)=_1E40H_(BX)= 0056H__
(CX)=_00F6H__
1E4F6H)=00F6H__(091E2H)=0056H
2.已知DX=0002,AX=F365H
BX=0005,CX=E024H
执行指令序列
(1)ADDAX,CX
(2)ADCDX,BX
1)执行后,(AX)=H
CF=OF=SF=ZF=AF=PF=
2)执行后,(DX)=H
答:
CF=OF=SF=ZF=AF=PF=
1)执行后,(AX)=0D389HCF=1OF=0SF=1ZF=0AF=0PF=1
2)执行后,(DX)=0008HCF=0OF=0SF=0ZF=0AF=0PF=0
3.假设BL=0C5H,CL=2,CF=1,确定下列各条指令独立执行后,BL和CF中的值,并填入括号中。
(8分)
A.SHRBL,1;BL=()CF=()
B.SARBL,CL;BL=()CF=()
C.RORBL,1;BL=()CF=()
D.RCLBL,CL;BL=()CF=()
答:
A.62H,1
B.0F1H,0
C.0E2H,1
D.17H,1
三、综合题
1.寻址方式
答:
指令
源操作数的寻址方式
目的数的寻址方式
MOVBX,1500H
立即寻址
寄存器寻址
MOV2[SI],AX
寄存器寻址
变址寻址
MOVBX,[150H]
直接寻址
寄存器寻址
MOV2[BP][DI],AX
寄存器寻址
基址变址寻址
MOVBX,DATA[DI]
变址寻址
寄存器寻址
MOVAX,COUT[BX][SI]
基址变址寻址
寄存器寻址
ADDAX,BX
寄存器寻址
寄存器寻址
MOVSW
串寻址
2.已知(DS)=2000H,(SS)=1500H,(BP)=1000H,
(SI)=0A00H,(DI)=0200H,DATA=0050H,
COUNT=0100H。
试求出物理地址的公式和下列指令中源操作数的物理地址。
物理地址=
1)MOVAX,[SI]物理地址=
2)MOVBX,[120H]物理地址=
3)MOVCX,DATA[DI]物理地址=
4)MOVAX,COUNT[BP][SI]物理地址=
解:
物理地址=段地址*16d(左移4位)+偏移地址
1)物理地址=2000H*10H+0A00H=20A00H
2)物理地址=2000H*10H+120H=20180H
3)物理地址=2000H*10H+0050H+0200H=20250H
4)物理地址=1500H*10H+0100H+1000H+0A00H=16B00H
3.已知:
(SP)=40H,(BX)=1234,(DS)=5678H,
如有指令如下:
PUSHBX
PUSHDS
问指令执行后,图中各单元的数据是多少?
(SP)=?
78
56
34
12
XX
XX
78
56
34
12
XX
XX
78
56
34
12
XX
XX
(SP)=3CH
40H
4.请指出下列指令错误原因:
1)ORAX,[CX]
2)ADD[SI],[BX][DI]
3)JMPBYTEPTRLOOPS
4)SARAX,4
5)RCLDX
答:
1)CX不能作为间接寻址寄存器
2)加法指令不能完成存储单元之间的加法运算
3)转移指令中,转向标号地址的属性说明错
4)移位指令格式错,当移位次数大于1时,需用CL给出
5)指令中应指出移位次数
5.试根据以下要求,分别写出相应的汇编语言指令。
1)把AX寄存器和BX寄存器的内容相加,结果存入AX中。
2)用BX和SI的基址变址寻址方式,把存储器中的一个字节与DL的内容相加,并把结果送回DL中。
3)把数OBEH与AH内容相加,结果送回AH中。
4)用SI和位移量0200H的寄存器相对寻址方式把存储器中的一个字与AX相加,并把结果送回存储单元中。
5)用位移量0860H的直接寻址方式把存储器中一个字与数2EA0H相加,结果回送存储器中。
答:
1)ADDAX,BX
2)ADDDL,[BX][SI]
3)ADDAH,OBEH
4)ADD[SI+0200H],AX
5)ADD[0860H],2EA0H
6.试分析下面程序段完成什么功能?
CON1DW××××H
CON2DW××××H
┇
MOVAX,CON1
MOVBX,CON2
CMPAX,BX
…
JGEGREAT
LESS
解:
比较两个16位有符号数,当(CON1)>=(CON2)时转GREAT处理,否则转LESS处理。
7.试分析下面程序段完成什么功能?
ORAL,AL
JZL0
CMPAL,1
JZL1
CMPAL,2
JZL2
JMPSTOP
L0:
┇
L1:
┇
L2:
┇
STOP:
HLT
解:
判断AL中的内容,若AL=0,转L0处理;
若AL=1,转L1处理;
若AL=2,转L2处理;
其它转结束(STOP)。
8.试问下面的程序段完成的功能是什么?
程序执行后,AX的内容是什么?
XORAX,AX
MOVBX,2
MOVCX,10
L:
ADDAX,BX
ADDBX,2
LOOPL
HLT
解:
3.求2~20之间偶数之和AX=110(或6EH)。
9.试分析下面的程序段完成什么功能?
MOVCL,04
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
解:
4.把DX、AX中的双字左移四位。
四、程序设计题
1.试编写使AL寄存器中的无符号数乘20的程序段。
解:
MOVAH,00
MOVBX,AX
MOVCL,02
SHLAX,CL
MOVDX,AX
MOVAX,BX
MOVCL,03
SHLAX,CL
ADDAX,AX
ADDAX,DX
2.编写程序,统计数据区BUF中3的个数,并存入RES单元,
数据为:
DATASEGMENT
BUFDB10,5,01,3,2,12,45,3,3,12
RESDB?
DATAENDS
解:
程序如下:
MOVCX,10
MOVSI,OFFESETBUF
MOVBL,0
LOP:
MOVAL,[SI]
CMPAL,0
JNENEXT
INCBL
NEXT:
INCSI
LOOPLOP
MOVRES,BL