汇编语言与接口技术复习要点总结及一些习题.docx
- 文档编号:28530787
- 上传时间:2023-07-18
- 格式:DOCX
- 页数:25
- 大小:75.21KB
汇编语言与接口技术复习要点总结及一些习题.docx
《汇编语言与接口技术复习要点总结及一些习题.docx》由会员分享,可在线阅读,更多相关《汇编语言与接口技术复习要点总结及一些习题.docx(25页珍藏版)》请在冰豆网上搜索。
汇编语言与接口技术复习要点总结及一些习题
要点总结第二章微型计算机结构1.8086的段式存储结构
段地址+偏移量地址=存储单元的物理地址
或者,段寄存器的值*16+偏移地址=存储单元的物理地址2.段寄存器,通用寄存器,指针与变址寄存器,标志寄存器3.寻址方式
(1)寻址方式的概念
(2)寻址方式的分类
(3)各寻址方式中对于寄存器的限制
(4)各类寻址方式的格式
第三章汇编语言(参照课件)
1.汇编语句格式:
[标号]操作符操作数[;注释]
2.标号的概念以及其三个属性
3.伪指令:
(1)符号定义伪指令:
EQU
(2)数据定义伪指令:
DB,DW
(3)段定义伪指令:
SEGMENT、ENDS、ASSUME
4、运算符
(1)分析算符:
SEG,,OFFSET,SIZE,LENGTH
(2)组合算符:
PTR5.指令语句与伪指令语句的区别
6.数据段、堆栈段、代码段的用途
第四章指令及汇编程序设计
1.数据传送指令:
MOV、PUSH、POP、XCHG、XLAT
2.算数运算指令:
ADD、ADC、INC、SUB、SBB、DEC、NEG、
3.逻辑运算指令:
CMP、TEST、OR、AND、NOT、XOR4.移位指令:
逻辑左移/右移,算数左移/右移,循环左移/右移,带进位的循环左移/右移;以及移位指令对于CF、OF标志位的影响分支结构程序设计
1.无条件转移指令
2.有条件的转移指令(教材P102)
3.分支程序编写
循环结构程序设计
1.循环控制指令LOOP、LOOPE/Z、LOOPNE/NZ以及他们的控制条件(对CF、ZF的判断)
2.循环程序编写
子程序设计
1.子程序定义伪指令、调用指令、返回指令2.子程序设计中对于堆栈操作的要求第五章输入与输出中断
1.中断向量表、中断向量的概念
2.中断向量的修改
3.中断的类型:
软件中断、可屏蔽硬件中断、非屏蔽硬件中断;以
及CPU队可屏蔽硬件中断和非屏蔽硬件中断的不同的响应条件
4.8259的基本结构和工作原理
5.8259的操作命令字:
包括各个命令字的作用、格式、具体的操作
6.软件中断与硬件中断的异同点
第六章8254程序设计
1.8254的基本结构和工作原理
2.8254的命令字格式,以及对于8254各个计数器工作方式的设定
8255程序设计
1.8255的基本结构和工作原理
2.8255的命令字格式,以及对于8255各端口的操作
16550
异步串行通信中,波特率的概念,数据帧的概念
第七章简单外设
LED的显示原理键盘的结构及扫描原理
些复习题
习题一
一、选择题
1、8086CPU中程序计数器IP中存放的是。
指令B、指令在现行代码段中的偏移地址
操作数D、操作数在现行代码段中的偏移地址
Intel8086CPU内部的两大功能部件是
标志寄存器及ALUBBIU及EU
指令队列及AIUD、地址加法器及ALU
8086CPU有20根地址线,直接寻址内存的空间为_
64MBB1MB
4MBD8MB
Intel8086堆栈是按原则构造的。
先进先出后进后出
先进后出D、随机存取
微型计算机主存储器的基本编址单元的长度是_
64位B、32位
16位D、8位
为使CPU识别不同的内存单元,需要为每个内存单元规定不同的符号数据指令指针
CS
SS
堆栈指针
CS
SS
A
C
2、
C
3、
A
C
4、
5、
A
C
6、
7、
A
C
IP与
&
A
C
9、
A
C
SP与
B、地址
D、状态
组合使用,确定下一条指令存放单元的物理地址。
B、ES
D、DS
组合使用,确定栈顶单元的物理地址。
B、ES
D、DS
8086对内存进行分段管理,一个段的最大范围是
64KBB128KB
512MBD、1MB
10、8086CPU用于存放当前数据段段基址的寄存器是
ACSB、ES
CSSD、DS
11、为数据段基址寄存器DS赋值得汇编语句正确的是
AASSUMEDS:
DATAB、SEGMENTATA
CMOVDSQATADMOVAXQATA
MOVDS,AX
12、下列描述正确的是B
A汇编语言只由指令语句构成
B汇编语言语句包括指令语句和伪指令语句
C指令性语句和伪指令语句的格式是完全相同的
D指令性语句和伪指令语句都能经过汇编程序翻译成机器代码
13、8086/8088系统中,一个栈可使用的最大空间是
A1MBB、由SP初值决定
C64KBD由SS初值决定
14、若(AL)=10101101B为了使其内容变为01011101B下列哪一种执行一次即可完成
此操作?
xoral,11110000b
ANOT旨令BAND旨令
CXOF指令DOR旨令
15、设(SS=2000H(SF)=0100H(AX=2107H执行指令PUSHAX后,存放数据2伯
的物理地址为。
A20102HB、200FEH
C20101HD、200FFH
16、令DF=1的指令是。
ASTDB、CLD
CCLCD、STC
17、将累加器AX的内容清零,错误的指令为
AANDAX,0BXORAX,AX
CSUBAX,AXD、CMPAX,AX
18、指令MOVS中源串的逻辑地址为。
ADS:
SIB、DS:
DI
MOVDI,SIMOVBX,DI
MOVSI,DIXCHGBX,AX
21、假设ES段中有一个字符串‘12FG3LM5C,其名为ARRAY下面程序段
CLD
LEADI,ES:
ARRAY
MOVAL,'G
MOVCX,9
REPNESCASB
执行后,ex的值为
A9B、5
C4D、0
22、下列串操作指令中,在指令前加重复前缀指令REP是没有实际使用价值的。
AMOVSB
CCMPSB
B、STOSB
D、LODSB
23、执行下面的程序段后,AL中的内容为
BUFDW2152H3416H,5731H46
MOVBXOFFSETBUF
MOVAL,3
XLAT
A46H
C16H
24、在汇编语言程序中,对
END语句是一可执行语句
END语句表示程序执行到此结束
END语句表示源程序到此结束
END语句在汇编后要产生机器码
下面的数据传送指令中,错误的操作是(
MOVSS:
[BX+DI],AX
MOVDX,1000H
MOVWORtPTR[BX],1000H
MOVDS,2000H
25、
A
B、34H
D、57H
END语句的叙述正确的是()。
)。
D
26、伪指令VARDD?
将在内存预留
2
B、
C4D、
27、设X1和X2是用DB定义的变量,
AMOVX1,20H
CMOVX1,X2
28、执行下面的程序段后,
NUMDW?
23
NAME
DW10
字节的存储空间。
6
下列指令中正确的是
BMOVAX,X1
D、MOV20H,X2
AX中的内容为
DUP(?
)
N
LEN
EQU6
EQU$-NUM
MOV
A18H
AX,LEN
B、
1CH
C15H
29、已知VARDW1,2,$+2,5,6,
的内容是
A16H
D、
16H
若汇编时VAR分配的偏移地址是0010H,汇编后0014H单元
B、05H
二、填空题
1若运算结果为0,则标志寄存器中零标志位ZF=1。
2、写出下列存储器地址的段地址,偏移地址和物理地址。
(1)2314:
0035段地址为,偏移地址为,物理地址为
。
3、设VAL是在数据段中定义的变量,试指出下列源操作数字段的寻址方式。
(1)MOVAX,03FH
(2)MOVAX,BX
(3)MOVAX,[BX]
(4)MOVAX,DS:
[100H]
(5)MOVAX,ES:
[BX]
(6)MOVAX,[BX+10]
(7)MOVAX,VAL[BX]
(8)MOVAX,VAL[BX][SI]
AH
4、DIVSRC执行字节除法时,AL中,余数存放在
中。
—
5、执行下列执行后,
AX寄存器的值为
1E00H
TABLE
DW
10,20,30,40,50
ENTRY
DW
3
MOVBX,OFFSETTABLE
ADDBX,ENTRY
MOVAX,[BX]
6、执行下列指令序列后,BL寄存器的值为。
MOVCL,3
MOVBL,0B3H
ROLBL,1
RCRBL,CL
7、设(BX)=0C6H变量VAL中存放的内容为59H,确定下列各条指令单独执行后,BX寄
存器的值。
(1)XORBX,VAL
;(BX=
(2)ANDBX,VAL
;(BX=
(3)ORBX,VAL
;(BX=
8、判断下列指令是否合法。
(1)MOV[SI],[DI]
不合法不允许冋为存储器数据
(2)RCRDX,3
不合法移位次数超过1,放到CL
(3)PUSHAL
不合法16位
(4)MOVCS,AX
不合法,不允许对CS赋值
(5)INC[BX]
不合法,类型不匹配INCbyteptr[bx]
(6)MOVAX,[DX]
不合法,dx不允许作为间接寻址寄存器
(7)MOVAL,1000
不合法,1000超出8位数据表示的范围
9、汇编语言源程序中表示结束的伪指令是END
10、判断下列指令和伪指令的使用是否正确。
(1)K1DW3412H
K2DBK1不正确K1类型应该为DW
(2)K1EQU1234H
MOVK1,AX不正确,K1不分配内存单元
(3)NEQU2
NEQUN+1不正确EQI不允许对同一标号重复赋值
11.已知数据段定义女
DATASEGMENT
ORG100H
BUFDWCD',1,3DUP(4,2DUP(8,6))
VRADB4AH
DATAENDS
单独执行下列语句
LEABX,BUFBX=__)100
MOVCX,VRA-BUFCX=_0022H(用十六进制数表示)。
三、简述题
1、8086系统中,设有一个包含8个字的数据区,数据区的起始地址为2100H:
2A10H写出该数据区首末字单元的物理地址。
23A10H~23A1EH
2、从内存地址34120H依次存放3个数,它们分别是字数据27H字节数据0F1H和字数据9145H请用图表示出这些数在内存的存放情况。
34120h
27H
34121h
00H
34122h
0F1H
34123h
45H
34124h
91H
3、将AL与BX中的两个无符号数相加,结果放入AX
XORAH,AH
ADDAX,BX
4、将AL与BX中的两个带符号数相加,结果放入AX
CBW
ADDAX,BX
5、将AL的高4位与低4位分别放入BH与BL的低4位,且将BH与BL的高4位清0。
MOVCH,AL
MOVCL,4
SHRCH,CL
MOVBH,CH
ANDAL,0FH
MOVBL,AL
6、用一条逻辑指令将AX寄存器清0。
XORAX,AX
7、用一条逻辑指令将DX寄存器的高3位为1,其余位不变。
ORDX,0E000H
8、试编写指令序列,将DXAX中的32位无符号数乘以2,结果仍存放在DXAX中。
SHLAX,1
RCLDX,1
9、定义一个数据段DATASG并且在该数据段中定义一个有5个字节的字节数组ARRB其
值分别为34H,12H,45H,26H,25H。
DATASGsegment
ARRBdb34H,12H,45H,26H,25H
DATASGends
10、伪指令与指令的本质区别是什么?
伪指令是不能够编译成二进制代码,不能够执行,帮助编译器正确识别指令,编译成二进制代码。
指令语句能够编译成二进制代码,可以执行。
11、编写数据段定义,在段中依次定义以下变量:
V1为字节变量,初值是90H;
V2为字数组,初值依次为2341H,9813H0A213H
V3为字节型数组,初值为字符串'AssemblyLanguage';
V4为字节数组,有5个字节,未定义初值。
Datasegment
V1db90h
V2dw2341H,9813H,0A213H
V3db'AssemblyLanguage'
V4db5dup(?
)
Dataends
12、设数据段定义如下:
DATASGSEGMENT
V1DB3DUP(0)
V2DW4DUP(0)
DATASGENDS
(1)编写指令序列,将1634H存入字节数组V1的第0个字节和第1个字节(可以修改数据段)
Movbx,offsetV1
Movwordptr[bx],1634H
(2)编写指令序列,将2AH存入字数组V2的第0个字节和第2个字节(可以修改数据段)。
Movsi,offsetV2
Movbyteptr[si],2AH
Movbyteptr[si+2],2AH
习题
、选择题:
1下列叙述正确的是。
()
(A)对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS旨令
(B)对两个无符号数进行比较采用CMP旨令,对两个有符号数比较用CMP指令
(C)对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令
(D)对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令
2.已知BX=2000HSI=1234H,则指令MOVAX[BX+SI+2]的源操作数在中。
()
(A)数据段中偏移量为3236H的字节(B)附加段中偏移量为3234H的字节
(C)数据段中偏移量为3234H的字节(D)附加段中偏移量为3236H的字节
4.在下列指令的表示中,不正确的是。
()
(A)MOVAL,[BX+SI](B)JMPSHORTDONI
(C)DEC[BX](D)MULCL
5.
为了使执行串操作指令时,地址按减量方式处理应使用指令。
()
MOVAL,BYTEPTRX
SHLAL,1
DECAL
(A)y=x*2+1(B)x=y*2+1(C)x=y*2-1(D)y=x*2-1
10•执行下面的程序段后,AL中的内容为。
()
BUFDW2152H3416H,5731H4684H
MOVBXOFFSETBUF
MOVAL,2
XLAT
(A)46H(B)34H(C)16H(D)57H
11.汇编语言源程序每个语句可以由四项组成,如语句要完成一定功能,那么该语句中不可
省略的项是。
()
(A)操作项(B)名字项(C)操作数项(D)注释项
12.下列指令执行时出错的是。
()
(A)ADDBUF1BUF2(B)JMPDWORDTRDAT[BX]
(C)MOVAX10H[BX](D)TESTAL,08H
13.已知(AX)=3456H执行下述三条指令后,(AX)=。
()
MOVBXAX
NEGBX
ADDAX,BX
(A)3456H(B)0EDCCH(C)6DCCH(D)0000H
14.将DX的内容乘以2,正确的指令是。
()
(A)MUL2(B)MULDX2(C)SARDX1(D)SHLDX1
二填空题:
1、DIVSRC执行字节除法时,运算后的商存放在中,余数存放在
中。
2、设(BX)=0D6H变量VAL中存放的内容为77H,确定下列各条指令单独执行后,BX寄存器的值。
(1)ORBX,VAL;(BX)=
(2)ANDBX,VAL;(BX)=
3、存放指令有效地址的寄存器是,该寄存器与段寄存
器联合使用确定指令的物理地址;存放栈顶有效地址的寄存器是,该寄
存器与段寄存器联合使用确定栈顶的物理地址
4、在REPNZSCASB旨令中,重复执行串搜索指令的条件是。
5、指出下列指令中源操作数的寻址方式
(9)MOVBX,[1000H]
MOVAX[BX+SI+100H]
6、汇编语言源程序中表示结束的伪指令是。
7、在汇编语言中,通常用来存放循环次数的寄存器是。
三、简述题:
1、伪指令与指令的本质区别是什么?
2、编写汇编程序应经历哪些步骤?
3、指出能用于寄存器间接寻址及变址寻址的寄存器有哪些?
它们通常与哪个段寄存器配
合形成物理地址?
BXSIDI----DS
BP----SS
4、主程序与子程序的关系是什么?
在程序中如何使用子程序?
5、简述汇编语言相对高级语言的优点。
四、程序分析题:
ADW3456H
BDW1234H
PUSHA
PUSHB
POPA
POPB
试回答:
⑴上述程序段执行后(A)=__,(B)=
(2)设执行前SP=1000H,执行后SP=。
2.
分析下面程序段,
MOVAL,100
SARAL,1
MOVCL,2
SARAL,CL
ADDAL,BL
试问程序段执行后(BL)=(AL)=
3、已知AX=0FF60HCF=1
MOVDX16H
XORDH0FFH
SBBAXDX
执行上述指令序列后,AX=CF=
4、执行下列程序段后,回答问题。
ORG100H
NUMDW12H
MOVBXOFFSETNUM
MOVCL,BYTEPTRNUM+1
MOVCHTYPENUM
MOVAXNUM
0100H,(C»=
请问:
(AX)=—O012H___,(BX)=
0200H。
5、
DATASEGMENT
S9DB0,1,2,3,4,5,6,7,8,9
DATAENDS
LEASI,S9
LEADI,S9+1
LOP:
MOVAL,[SI]
XCHGAL,[DI]
MOV[SI],AL
ADDSI,2
ADDDI,2
LOOPLOP
试说明该程序段的功能,并指出上述程序段运行后,S9开始的10个字节存储单元内容是
什么?
1,0,3,2,5,4,7,6,9,8
6、
已知一段程序如下:
DATASEGMENT
A1DW10,20
A2EQU100
A3DB‘1234'
ORG2
A4DW1234H
DATAENDS
画出该程序段的内存分配示意图(标明地址),并说明该数据段的,起始偏移地址和最终偏移地址。
五、程序设计题:
1、比较两个无符号数的大小,若A>B则显示出'A>B',否则显示'B>A'。
2、在数据区中存放着一组数:
28,18,38,48,78,58,数的类型为字节,要求用冒泡法对该数据区中的数据按递减关系排序。
3、编程求1+2+3+-100。
将结果存放在RESULTS元中。
4、已知在数据区BUF1和BUF2分别存放'Hello,everybody'
'Hello,everyone'
字节数据。
编程检查两数据区中的数据是否相同。
若完全一致,则将标志单元FLAG置
FFH否则置0,并将第一次出现的不同数据的地址分别存放在ADDR和ADDR单元中。
习题三
、中断部分习题
(3)用3片8259A级联,最多可管理的中断数是()
A.24级B.22级
C.23级D.21级
(4)从CPU的NMI引脚产生的中断叫做___非屏蔽中断___,他的响应不受__IF__的影响。
(6)中断类型码为15H的中断,其服务程序的入口地址一定存放在
_00054H~00057H四个连续的单元中,若这四个单元的的内容为:
66H、50H、88H、30H,则其服务程序的入口地址为_3088H:
5066H。
(7)设主片8259A的IR3上接有一从片,IR5上引入了一个中断申请。
那么初始化时,
主、从片的ICW3分别是―主:
08H;从:
03H。
(9)中断类型码为9H的中断向量一定存放在个连续单元中,若其入口地
址为3040H:
2010H,则这四个单元中的具体内容依次为
(10)在一个8086CPU和单片8259A组成的系统中,试说明:
1、8086CPU在响应可屏蔽中断的条件是什么?
书上有。
2、假如8259A已被编程,ICW2=0AH,若连接在8259A的IR3端的外设提出中断申请,它的中断向量的存放地址是什么?
0002CH~0002FH
3、软件中断和硬件中断的区别?
书上有。
(12)某一中断程序入口地址值填写在中断向量表的0080H—0083H存储单元中,则该
中断对应的中断类型号一定是
()
A.1FH
B.20H
C.21H
D.22H
(14)
已知中断类型号为
18H
,则其中断服务程序的入口地址存放在中断向量表的
中。
()
A.
0000H
:
00072H〜
0000H:
0075H
B.
0000H:
00072H〜
0000H:
0073H
C.
0000H
00060H〜
0000H:
0063H
D.
0000H
00060H〜
0000H:
0061H
、定时器/计数器部分
(1)试按如下要求分别编写82C54的初始化程序:
己知82C54的计数器0、1、2和控制字I/O地址依次为104H、105H、106H、107H。
1、使计数器1工作在方式0,仅用低8位作二进制计数,计数初值为128;Movdx,107H
Moval,01010000b
Outdx,al
Movdx,105h
Moval,128
Outdx,al
2、使计数器0工作在方式1,按BCD码计数,计数值为3000;
Movdx,107H
Moval,00110011b
Outdx,al
Movdx,104h
Movax,3000H
Outdx,al
Moval,ah
Outdx,al
3、使计数器2工作在方式2,按二进制计数,计数值为02F0H。
Movdx,107H
Moval,10110100b
Outdx,al
Movdx,106h
Movax,02F0H
Outd
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 接口 技术 复习 要点 总结 一些 习题