汇编语言复习要点及相关习题_第1页
汇编语言复习要点及相关习题_第2页
汇编语言复习要点及相关习题_第3页
汇编语言复习要点及相关习题_第4页
汇编语言复习要点及相关习题_第5页
已阅读5页,还剩23页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

要点总结

第二章微型计算机构造

1.8086日勺段式存储构造

段地址+偏移量地址二存储单元H勺物理地址

或者,段寄存器W、J值*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)组合算符:PTR

5.指令语句与伪指令语句的区别

6.数据段、堆栈段、代码段的用途

第四章指令及汇编程序设计

1.数据传送指令:MOV、PUSH、POP、XCHG、XLAT

2.算数运算指令:ADD、ADC、INC、SUB、SBB、DEC、NEG、

3.逻辑运算指令:CMP、TEST、OR、AND、NOT、XOR

4.移位指令:逻辑左移/右移,算数左移/右移,循环左移/右移,带

进位的循环左移/右移;以及移位指令对于CF、OF标志位口勺影响

分支构造程序设计

1.无条件转移指令

2.有条件日勺转移指令(教材P102)

3.分支程序编写

循环构造程序设计

1.循环控制指令LOOP、LOOPE/Z、LOOPNE/NZ以及他们出J控制

条件(对CF、ZF的判断)

2.循环程序编写

子程序设计

1.子程序定义伪指令、调用指令、返回指令

2.子程序设计中对于堆栈操作的规定

第五章输入与输出中断

1.中断向量表、中断向量的概念

2.中断向量的I修改

3.中断日勺类型:软件中断、可屏蔽硬件中断、非屏蔽硬件中断;以

及CPU队可屏蔽硬件中断和非屏蔽硬件中断日勺不一样日勺响应条件

4.8259H勺基本构造和工作原理

5.8259W、J操作命令字:包括各个命令字的作用、格式、详细的操作

6.软件中断与硬件中断日勺异同点

第六章8254程序设计

1.8254的基本构造和工作原理

2.8254H勺命令字格式,以及对于8254各个计数器工作方式的设定

8255程序设计

1.8255日勺基本构造和工作原理

2.8255日勺命令字格式,以及对于8255各端口的操作

16550

异步串行通信中,波特率的概念,数据帧H勺概念

第七章简朴外设

LED时显示原理

键盘的构造及扫描原理

某些复习题

习题一

一、选择题

1、8086CPU中程序计数器IP中寄存的是。

A、指令B、指令在现行代码段中的偏移地址

C、操作数D、操作数在现行代码段中的偏移地址

2、Intel8086CPU内部的两大功能部件是。

A、标志寄存器及ALUB、BIU及EU

C、指令队列及AIUD、地址加法器及ALU

3、8086CPU有20根地址线,直接寻址内存的空间为<>

A、64MBB、1MB

C、4MBD、8MB

4、Intel8086堆栈是按原则构造的。

A、先进先出B、后进后出

C、先进后出D、随机存取

5、微型计算机主存储器的基本编址单元的长度是。

A、64位B、32位

C、16位D、8位

6、为使CPU识别不一样的内存单元,需要为每个内存单元规定不一样的

A、符号B、地址

C、数据D、状态

7、指令指针IP与________________组合使用,确定下一条指令寄存单元的物理地址。

A、CSB、ES

C、SSD、DS

8、堆栈指针SP与组合使用,确定栈顶单元的物理地址。

A、CSB、ES

C、SSD、DS

9、8086对内存进行分段管理,一种段的最大范围是

A、64KBB、128KB

C、512MBD、1MB

10、8086CPU用于寄存目前数据段段基址的寄存器是

A、CSB、ES

C、SSD、DS

11、为数据段基址寄存器DS赋值得汇编语句对的的J是

A、ASSUMEDS:DATAB、SEGMENTDATA

C、MOVDS,DATAD、MOVAX,DATA

MOVDS,AX

12、下列描述对的的是一B。

A、汇编语言只由指令语句构成

B、汇编语言语句包括指令语句和伪指令语句

C、指令性语句和伪指令语句的格式是完全相似的

D、指令性语句和伪指令语句都能通过汇编程序翻译成机器代码

13、8086/8088系统中,一种栈可使用的最大空间是。

A、1MBB、由SP初值决定

C、64KBD、由SS初值决定

14、若(AL)=101011018,为了使其内容变为01011101B,下列哪一种执行一次即可完毕此

操作?xoral,11110000b

A、NOT指令B、AND指令

C、XOR指令D、OR指令

15、设(SS)=2023H,(SP)=0100H,(AX)=2107H,执行指令PUSHAX后,寄存数据21H

的物理地址为o

A、20232HB、200FEH

C、20231HD、200FFH

16、令DF=1的指令是。

A、STDB、CLD

C、CLCD、STC

17、将累加器AX的内容清零,错误的指令为o

A、ANDAX,0B、XORAX,AX

C、SUBAX,AXD、CMPAX,AX

18、指令MOVSB中源串的逻辑地址为。

A、DS:SIB、DS:DI

C、DS:DID、ES:DI

19、有指令MOVAX,1234H,指令中的立即数1234H是存储在

A.数据段B.代码段C.附加段D.堆栈段

20、互换寄存器SLDI的内容,对的的程序段是

A、PUSHSIB、PUSHSI

PUSHDIPUSHDI

POPSIPOPDI

POPDIPOPSI

C、MOVAX,SID、MOVAX,SI

MOVDI,SIMOVBX,DI

MOVSI,DIXCHGBX,AX

21、假设ES段中有一种字符串'12FG3LM5C',其名为ARRAY,下面程序段

CLD

LEADI,ES:ARRAY

MOVAL,'G'

MOVCX,9

REPNESCASB

执行后,CX时值为。

As9B、5

C、4D、0

22、下列串操作指令中,在指令前加反复前缀指令REP是没有实际使用价值的。

A、MOVSBB、STOSB

C、CMPSBD、LODSB

23、执行下面欧I程序段后,AL中的内容为

BUFDW2152H,3416H,5731H,4684H

•••*

MOVBX,OFFSETBUF

MOVAL,3

XLAT

A、46HB、34H

C、16HD、57H

24、在汇编语言程序中,对END语句的论述对的的是()。

A、END语句是可执行语句

B、END语句表达程序执行到此结束

C、END语句表达源程序到此结束

D、END语句在汇编后要产生机器码

25、下面的数据传送指令中,错误的操作是()。

A、MOVSS:[BX+DI],AX

B、MOVDX,1000H

C、MOVWORDPTR[BX],1ODOH

D、MOVDS,2023H

26、伪指令VARDD?将在内存预留字节的存储空间。

As1B、2

C、4D、6

27、设XI和X2是用DB定义的变量,下列指令中对的的是

A、MOVXI,20HB、MOVAX,XI

C、MOVXI,X2D>MOV20H,X2

28、执行下面的程序段后,AX中的内容为o

NUMDW?,23

NAMEDW10DUP(?)

NEQU6

LENEQU$-NUM

MOVAX,LEN

A、18HB、1CH

C、15HD、16H

29、已知VARDW1,2,$+2,5,6,若汇编时VAR分派的J偏移地址是0010H,汇编后0014H单元

的内容是o

A、16HB、05H

C、14HD、06H

二、填空题

1、若运算成果为0,则标志寄存器中零标志位ZF=」o

2、写出下列存储器地址时段地址,偏移地址和物理地址。

(1)2314:0035段地址为,偏移地址为,物理地址为o

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]

4、DIVSRC执行字节除法时,运算后的商寄存在AL中,余数寄存在AH中。

5、执行下列执行后,AX寄存器的值为1EOOHo

TABLEDW10,20,30,40,50

ENTRYDW3

MOVBX,OFFSETTABLE

ADDBX,ENTRY

MOVAX,[BX]

6、执行下列指令序列后,BL寄存器的值为o

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)KIDW3412H

K2DBK1不对的K1类型应当为DW

(2)KIEQU1234H

MOVKI,AX不对的,K1不分派内存单元

(3)NEQU2

NEQUN+1不对的EQU不容许对同一标号反复赋值

11.已知数据段定义如下:

DATASEGMENT

ORG100H

BUFDW'CD',1,3DUP(4,2DUP(8,6))

VRADB4AH

DATAENDS

单独执行下列语句

LEABX,BUFBX=_0100H

MOVCX,VRA-BUFCX=_0022H(用十六进制数表达)。

三、简述题

1、8086系统中,设有一种包括8个字的数据区,数据区的起始地址为2100H:2A10H,写

出该数据区首末字单元的物理地址。

23A1OH"23A1EH

2、从内存地址34120H,依次寄存3个数,它们分别是字数据27H,字节数据0F1H和字数

据9145H。请用图表达出这些数在内存的寄存状况。

34120h27H

34121hOOH

34122hOF1H

34123h45H

34124h91H

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,OFH

MOVBL,AL

6、用一条逻辑指令将AX寄存器清0。

XORAX,AX

7、用一条逻辑指令将DX寄存器的高3位为L其他位不变。

ORDX,OEOOOH

8、试编写指令序列,将DX:AX中的32位无符号数乘以2,成果仍寄存在DX:AX中。

SHLAX,1

RCLDX,1

9、定义一种数据段DATASG,并且在该数据段中定义一种有5个字节的字节数组ARRE,其

值分别为34H,12H,45H,26H,25H。

DATASGsegment

ARRBdb34H,12H,45H,26H,25H

DATASGends

10、伪指令与指令的本质区别是什么?

伪指令是不可以编译成二进制代码,不可以执行,协助编译器对的识别指令,编译成二进

制代码。

指令语句可以编译成二进制代码,可以执行。

11、编写数据段定义,在段中依次定义如下变量:

VI为字节变量,初值是90H;

V2为字数组,初值依次为2341H,9813H,0A213H;

V3为字节型数组,初值为字符串'AssemblyLanguage?;

V4为字节数组,有5个字节,未定义初值。

Datasegment

VIdb90h

V2dw2341H,9813H,OA213H

V3db'AssemblyLanguage,

V4db5dup(?)

Dataends

12、设数据段定义如下:

DATASGSEGMENT

VIDB3DUP(0)

V2DW4DUP(0)

DATASGENDS

(1)编写指令序列,将1634H存入字节数组VI的第0个字节和第1个字节(可以修改

数据段)

Movbx,offsetVI

Movwordptr[bx],1634H

(2)编写指令序列,将2AH存入字数组V2的第0个字节和第2个字节(可以修改数据

段)。

Movsi,offsetV2

Movbyteptr[si],2AH

Movbyteptr[si+2],2AH

习题二

一、选择题:

1下列论述对的的是

()

(A)对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令

(B)对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令

(0对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令

(D)对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令

2.已知BX=2023H,SI=1234H,则指令MOVAX,[EX+SI+2]时源操作数在中。

)

(A)数据段中偏移量为3236H的字节(B)附加段中偏移量为3234H的字节

(C)数据段中偏移量为3234H的字节(D)附加段中偏移量为3236H的字节

4.在下列指令的表达中,不对的的是。

()

(A)MOVAL,[BX+SI](B)JMPSHORTDONI

(0DEC[BX](D)MULCL

5.为了使执行串操作指令时,地址按减量方式处理应使用指令o

()

(A)CLI(B)STI(C)CLD(D)STD

6.8086CPU在基址加变址的寻址方式中,变址寄存器可认为o

()

(A)BX或CX(B)CX或SI(C)DX或SI(D)SI或DI

8.伪指令VARDD?将在内存预留字节的存储空间。

()

(A)1(B)2(02(D)4

9.下面指令序列执行后完毕的运算,对的的算术体现式应是o

()

MOVAL,BYTEPTRX

SHLAL,1

DECAL

MOVBYTEPTRY,AL

(A)y=x*2+l(B)x=y*2+l(C)x=y*2-l(D)y=x*2-l

10.执行下面的程序段后,AL中的内容为

()

BUFDW2152H,3416H,5731H,4684H

MOVBX,OFFSETBUF

MOVAL,2

XLAT

(A)46H(B)34H(C)16H(D)57H

11.汇编语言源程序每个语句可以由四项构成,如语句要完毕一定功能,那么该语句中不可

省略项是

()

(A)操作项(B)名字项(C)操作数项(D)注释项

12.下列指令执行时出错的是

)

(A)ADDBUF1,BUF2(B)JMPDWORDPTRDAT[BX]

(0MOVAX,10H[BX](D)TESTAL,08H

13.已知(AX)=3456H,执行下述三条指令后,(AX)

)

MOVBX,AX

NEGBX

ADDAX,

(A)3456H(B)OEDCCH(C)6DCCH(D)OOOOH

14.将DX的内容乘以2,对的的指令是。

()

(A)MUL2(B)MULDX,2(C)SARDX,1(D)SHLDX,1

二填空题:

1、DIVSRC执行字节除法时,运算后时商寄存在中,余数寄存在中。

2、设(BX)=0D6H,变量VAL中寄存的内容为77H,确定下列各条指令单独执行后,BX寄

存器的I值。

(1)ORBX,VAL;(BX)=

(2)ANDBX,VAL;(BX)=

3、寄存指令有效地址的寄存器是,该寄存器与段寄存

器联合使用确定指令的物理地址;寄存栈顶有效地址的寄存器是,该寄

存器与段寄存器联合使用确定栈顶代I物理地址

4、在REPNZSCASB指令中,反复执行串搜索指令的条件是。

5、指出下列指令中源操作数的寻址方式

(9)MOVBX,[1000H]____________________________________

MOVAX,[BX+SI+1OOH]________________________________

6、汇编语言源程序中表达结束的伪指令是o

7、在汇编语言中,一般用来寄存循环次数的寄存器是。

三、简述题:

1、伪指令与指令的I本质区别是什么?

2、编写汇编程序应经历哪些环节?

3、指出能用于寄存器间去寻址及变址寻址的寄存器有哪些?它们一般与哪个段寄存器配

合形成物理地址?BXSIDI——DS

BP——SS

4、主程序与子程序的关系是什么?在程序中怎样使用于程序?

5、简述汇编语言相对高级语言的长处。

四、程序分析题:

ADW3456H

BDW1234H

•••*

PUSHA

PUSHB

POPA

POPB

试回答:(1)上述程序段执行后(A)=(B)=.

(2)设执行前SP=1000H,执行后SP=

2.

分析下面程序段,

MOVAL,100

SARAL,1

MOVBL,AL

MOVCL,2

SARAL,CL

ADDAL,BL

试问程序段执行后(BL)=(AL)=

3、己知AX=0FF60H,CF=1

MOVDX,16H

XORDH,OFFH

SBBAX,DX

执行上述指令序列后,AX=

4、执行下列程序段后,回答问题。

ORG1OOH

NUMDW12H

•••

MOVBX,OFFSETNUM

MOVCL,BYTEPTRNUM+1

•••

MOVCH,TYPENUM

MOVAX,NUM

请问:(AX)=0012H,(BX)=0100H,(CX)=0200H

5、

DATASEGMENT

S9DB0,1,2,3,4,5,6,7,8,9

DATAENDS

♦・♦

LEASI,S9

LEADI,S9+1

MOVCX,5

LOP:MOVAL,[SI]

XCHGAL,[DI]

MOV[SI],AL

ADDSI,2

ADDDI,2

LOOPLOP

试阐明该程序段的功能,并指出上述程序段运行后,S9开始的10个字节存储单元内容是什

么?

L0,3,2,5,4,7,6>9,8

6、

已知一段程序如下:

DATASEGMENT

AlDW10,20

A2EQU100

A3DB<1234,

ORG2

A4DW1234H

DATAENDS

画出该程序段的内存分派示意图(标明地址),并阐明该数据段的,起始偏移地址和最终偏

移地址。

五、程序设计题:

1、比较两个无符号数的大小,若A〉B,则显示出否则显示'B>A'。

2、在数据区中寄存着一组数:28,18,38,48,78,58,数的类型为字节,规定用冒泡法

对该数据区中的数据按递减关系排序。

3、编程求1+2+3+…100。将成果寄存在RESULT单元中。

4、已知在数据区BUF1和BUF2分别寄存'Hello,everybody,

'Hello,everyone,

字节数据。编程检查两数据区中的数据与否相似。若完全一致,则将标志单元FLAG置FFH,

否则置0,并将第一次出现的不一样数据的地址分别寄存在ADDR1和ADDR2单元中。

习题三

一、中断部分习题

(3)用3片8259A级联,最多可管理的中断数是()

A.24级B.22级

C.23级D.21级

(4)从CPU的NMI引脚产生的中断叫做一非屏蔽中断—,他的响应不受_IF_的影响。

(6)中断类型码为15H的中断,其服务程序的入口地址一定寄存在J)0054H~00057H

四个持续的单元中,若这四个单元的的内容为:66H、50H、88H、30H,则其服务程序的

入口地址为一3088H:5066H。

(7)设主片8259A的)IR3上接有一从片,IR5上引入了一种中断申请。那么初始化时,主、

从片的ICW3分别是一主:08H;从:03H。

(9)中断类型码为9H的中断向量一定寄存在个持续单元中,若其入口地址

为3040H:2023H,则这四个单元中的详细内容依次为。

(10)在一种8086CPU和单片8259A构成的系统中,试阐明:

1、8086CPU在响应可屏蔽中断的条件是什么?

书上有。

2、假如8259A已被编程,ICW2=0AH,若连接在8259A的IR3端的外设提出中断申

请,它的中断向量的寄存地址是什么?

0002CH-0002FH

3、软件中断和硬件中断的区别?

书上有。

(12)某一中断程序入口地址值填写在中断向量表的0080H-0083H存储单元中,则该

中断对应的中断类型号一定是()

A.1FHB.20HC.21HD.22H

(14)已知中断类型号为18H,则其中断服务程序的入口地址寄存在中断向量表的

中。()

A.0000H:00072H0000H:0075H

B.OOOOH:00072H〜OOOOH:0073H

C.OOOOH:00060H〜OOOOH:0063H

D.OOOOH:00060H〜OOOOH:0061H

二、定期器/计数器部分

(I)试按如下规定分别编写82c54的初始化程序:己知82c54的计数器0、1、2和控制

字I/O地址依次为104H、105H、106H、107H。

1、使计数器1工作在方式0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论