微机原理复习第1学期.docx

上传人:b****7 文档编号:15819846 上传时间:2023-07-08 格式:DOCX 页数:19 大小:40.34KB
下载 相关 举报
微机原理复习第1学期.docx_第1页
第1页 / 共19页
微机原理复习第1学期.docx_第2页
第2页 / 共19页
微机原理复习第1学期.docx_第3页
第3页 / 共19页
微机原理复习第1学期.docx_第4页
第4页 / 共19页
微机原理复习第1学期.docx_第5页
第5页 / 共19页
微机原理复习第1学期.docx_第6页
第6页 / 共19页
微机原理复习第1学期.docx_第7页
第7页 / 共19页
微机原理复习第1学期.docx_第8页
第8页 / 共19页
微机原理复习第1学期.docx_第9页
第9页 / 共19页
微机原理复习第1学期.docx_第10页
第10页 / 共19页
微机原理复习第1学期.docx_第11页
第11页 / 共19页
微机原理复习第1学期.docx_第12页
第12页 / 共19页
微机原理复习第1学期.docx_第13页
第13页 / 共19页
微机原理复习第1学期.docx_第14页
第14页 / 共19页
微机原理复习第1学期.docx_第15页
第15页 / 共19页
微机原理复习第1学期.docx_第16页
第16页 / 共19页
微机原理复习第1学期.docx_第17页
第17页 / 共19页
微机原理复习第1学期.docx_第18页
第18页 / 共19页
微机原理复习第1学期.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理复习第1学期.docx

《微机原理复习第1学期.docx》由会员分享,可在线阅读,更多相关《微机原理复习第1学期.docx(19页珍藏版)》请在冰点文库上搜索。

微机原理复习第1学期.docx

微机原理复习第1学期

微机原理及应用复习提纲

第1章微机基础

1、计算机中所有的信息都是以二进制数的形式存储的。

2、常用的进位计数制及相互转换。

3、计算机中常用的编码:

BCD码、ASCII码

(1)BCD码:

二进制编码的十进制数。

(组合)BCD码用4位二进制码来表示一位十进制数。

注意:

BCD码与二进制的区别,BCD码不能直接转换成二进制数,必须先将BCD码转换为十进制数后,再转换成二进制数。

(2)ASCII码(美国标准信息代码):

一种最常用的字符信息编码,用7位二进制数进行编码。

记住常用ASCII码:

如0~9,A~F、a~f等。

5、带符号数的表示:

原码、反码、补码及转换。

8位二进制数能表示的原码、补码的范围。

6、计算机的五大部分组成。

7、微机总线结构:

CPU、存储器和I/O接口等部件通过总线连接。

根据传送信息的类型,微机的三大系统总线AB、CB、DB。

8、intel8086微处理器的结构

(1)40DIP封装,16位CPU,16位数据线;20根地址线

(2)CPU的编程结构:

内部寄存器都是16位,主要包含:

AX/BX/CX/DX/SP/BP/SI/DI/IPCS/DS/SS/ES、标志寄存器FLAG等。

其中AX/BX/CX/DX能作为8个8位寄存器用。

(3)CPU的功能结构:

两大功能单元EU和BIU。

EU负责指令的执行,BIU负责与总线相关的操作。

(4)存储器组织:

20根地址线决定了8086存储器的寻址能力是1MB,地址范围:

00000H~FFFFFH。

存储单元地址的两种表示形式:

物理地址、逻辑地址。

物理地址用20位二进制数表示,它是唯一的;逻辑地址用“段地址:

偏移地址”的形式表示,它是相对地址,并不唯一。

物理地址=逻辑地址中的段地址*10H+逻辑地址中的偏移地址

8086CPU对内存采用“分段管理机制”,每段最大可达64KB(段地址确定时,偏移地址的变化范围),段和段之间可以重叠。

(5)标志寄存器中各个标志位的含义。

第2章8086指令系统

1、寻址方式

(1)汇编指令包含两部分:

操作数和操作码。

(2)各种寻址方式的区别与应用。

8086CPU共有三大类寻址方式:

立即寻址、寄存器寻址和存储器寻址(又可分为:

直接寻址、寄存器间接寻址、变址寻址、基址加变址寻址)。

判断寻址方式,如MOVAX,1234H指令中目的操作数是寄存器寻址,源操作数是立即寻址。

2、指令系统:

熟练掌握常用指令的功能、格式及应用。

传送指令:

MOV、PUSH、POP、IN、OUT、XCHG、XLAT、LEA

算术运算指令:

ADD/ADC、INC、SUB/SBB、DEC、NEG、CMP、MUL/IMUL、DIV/IDIV、AAA/DAA、AAM(BCD码调整指令只考加法和乘法调整指令)

逻辑运算指令:

AND、OR、XOR、TEST、SHR、SHL、SAR、SAL、ROR、ROL、RCR、RCL

控制转移指令:

JMP、JX(所有条件转移指令)

循环控制指令:

LOOP、LOOPNZ、LOOPZ

常见考试题型1:

读懂程序段,给出执行结果。

例如

MOVAX,0

ADDAX,1

执行上述2句指令后,(AX)=1

考试题型2:

判断指令格式是否正确。

例如:

MOVCS,AX是否正确?

错,因为CS不能用MOV修改。

参考课本习题2-3。

考试题型3:

编写程序段或程序填空。

第3章8086汇编语言程序设计

1、常用汇编伪指令。

数据定义和分配数据单元的伪指令DB/DW/DD、DUP、OFFSET

2、三种基本结构程序设计:

顺序结构、分支结构、循环结构。

参考课件例题和练习题。

考试题型1:

程序填空。

如:

下列程序实现1+2+3+……+100,根据要求,请完成程序填空。

考试题型2:

编程题。

如编写程序实现1+2+3+……+100。

 

课件或课本重点例题

1.设CPU的字长为8位。

(有符号数的表示)

X=123,则[X]原=01111011;[X]反=01111011;[X]补=01111011;

Y=-123,则[Y]原=11111011;[Y]反=10000100;[Y]补=10000101。

2.若CS=FFFFH,IP=0000H,则指令所在存储单元的物理地址为:

PA=(CS)×10H+IP=FFFF0H

3.十进制数转换成二进制数:

(1)58

(2)67

4.二进制数转换成十进制数

(1)10110B

(2)11010B

5.指出下列指令中源操作数的寻址方式,并求出其对应存储器操作数的物理地址。

假设:

(DS)=3000H,(ES)=2000H,(SS)=2500H,(SI)=0900H,(BX)=0100H,(BP)=0008H,数据变量DATA的偏移地址为0050H。

(1)MOVAX,0ABH

(2)MOVAX,[100H]

(3)MOVBX,[SI]

(4)MOVAL,DATA[BX](5)MOVCL,[BX][SI]

(6)MOVDATA[SI],BX(7)MOVBX,[BP][SI]

6.设有关寄存器及存储单元的内容如下:

(DS)=4000H,(BX)=0200H,(AX)=1200H,(SI)=0002H,(40200H)=12H,(40201H)=34H,(40202H)=56H,(40203H)=78H,(41200H)=2AH,(41201H)=4CH,(41202H)=0B7H,(41203H)=65H

试说明单独执行下列各条指令后,相关寄存器或存储单元内容的变化。

(1)MOVAX,1800H

(2)MOVDX,BX

(3)MOVBX,[1200H](4)MOVAX,1000H[BX]

(5)MOV[BX][SI],AL(6)MOVCL,1000H[BX][SI]

7.设SS=2000H,SP=0040H,BX=2340H,执行:

PUSHBX

则执行后,2340H被保存到堆栈,(2003EH)=40H,(2003FH)=23H,同时SP=003EH,BX内容不变。

8.设有SS=3200H,SP=07FEH,(327FEH)=22H,(327FFH)=11H,执行:

POPBX

则执行后,SP=0800H,BX=1122H

9.说明下列程序段的功能。

MOVAX,1234H

PUSHAX

MOVBX,5678H

PUSHBX

POPAX

POPBX

10.已知十进制数0~9的七段LED显示码对照表如下表所示。

试用XLAT指令求数字6的七段显示码。

十进制数的七段显示码

十进制数字

七段显示码

十进制数字

七段显示码

0

1

2

3

4

40H

79H

24H

30H

19H

5

6

7

8

9

12H

02H

78H

00H

18H

程序:

TABLEDB40H,79H,24H,30H,19H

DB12H,02H,78H,00H,18H

MOVAL,6;数字6的位移量送AL

MOVBX,OFFSETTABLE;表格首址送BX

XLATTABLE

11.对两个8位16进制数7EH和5BH求和,并分析加法运算指令执行后对标志位的影响。

MOVAL,7EH;(AL)←7EH

ADDAL,5BH;(AL)←7EH+5BH

结果:

(AL)=0D9H,进位标志(CF)=0,零标志(ZF)=0,符号标志(SF)=1,奇偶标志(PF)=0,辅助进位标志(AF)=1。

12.设有两个4字节的无符号数相加,这两个数分别放在2000H和3000H开始的存储单元中,低位在前,高位在后。

要求进行运算后,得到的和放在2000H开始的单元中。

MOVSI,2000H

MOVDI,3000H

MOVAX,[SI]

ADDAX,[DI]

MOV[SI],AX

MOVAX,[SI+2]

ADCAX,[DI+2]

MOV[SI+2],AX

13.MOVAL,7FH

NEGAL

执行结果:

AL=7F按位求反+1=80H+1=81H

14.MOVAL,14H;AL=14H

MOVCL,05H;CL=05H

MULCL;AX=0064H,CF=OF=0

结果的高半部分AH=0,因此,状态标志位CF=OF=0。

15.MOVAH,0

MOVAL,00000110B;代表6

ADDAL,00000111B;代表7

AAA

最后结果:

AH=01H,AL=03H

16.MOVAL,00100111B;代表27

ADDAL,10000110B;代表86

DAA

调整后结果:

CF=1,AL=00010011B

17.MOVAL,05H

MOVBH,06H

MULBH;AX=001EH

AAM;AX=0300H

18.检测CX的内容是否为0,若为0则转移;

TESTCX,0FFFFH

JZP1

P1:

19.MOVBL,10001001B

SALBL,1

结果:

CF=1,BL=00010010B,OF=1

20.将AL中的数x乘以10。

10x=2x+8x

SALAL,1;(AL)=2x

MOVBL,AL;暂存BL

MOVCL,2;(CL)←移位次数

SALAL,CL;(AL)=8x

ADDAL,BL;(AL)=10x

21.设CF=1,AL=10110110B,则:

执行指令ROLAL,1后,

AL=01101101B,CF=1,OF=1;

执行指令RCLAL,1后,

AL=01101101B,CF=1,OF=1;

执行指令RORAL,1后,

AL=0101101lB,CF=0,OF=1;

执行指令RCRAL,1后,

AL=11011011B,CF=0,OF=0;

执行指令MOVCL,3及RCLAL,CL后,则

AL=10110110B,CF=1,OF不确定。

22.MOVAX,0123H

MOV[0000],AX

MOVWORDPTR[0002],0

JMPDWORDPTR[0000]

执行上述程序段后,(CS)=0000H,(IP)=0123H

23.课本P42【例2-1】数据传送

设DS=3000H,起始偏移地址为0100H内存区域中顺序存放着100个字节的数据。

要求传送到以2000H为起始偏移地址的区域。

利用寄存器间接寻址来寻找操作数。

MOVAX,3000H

MOVDS,AX;建立数据段

MOVSI,0100H;建立源数据指针

MOVDI,2000H;建立目的地指针

MOVCX,100;设置计数器

NT:

MOVAL,[SI];取数

MOV[DI],AL;送数

INCSI;调整指针

INCDI

DECCX;计数器减1

JNENT;CX不等于0则转NT标号

INT20H;返回DOS

24.课本P59【例2-7】求符号数的最大值。

设数据区1000H开始的区域中存放着50个字节的符号数。

要求找出其中最大的一个数并存到0FFFH单元。

MOVBX,1000H

MOVAL,[BX]

MOVCX,31H

L1:

INCBX

CMPAL,[BX]

JGEL2

MOVAL,[BX]

L2:

DECCX

JNEL1

MOVBX,0FFFH

MOV[BX],AL

INT20H

25.利用LOOP指令,编程实现1+2+3…+100的总和。

方法一:

方法二:

26.说明下列程序段执行后,AX和CX寄存器的值为多少?

SUBAX,AX

SUBCX,CX

LP:

INCAX

LOOPLP

27.假定AX、BX寄存器中的内容是有符号数,用比较指令和转移指令分别实现:

(1)若BX的内容大于AX的内容,转去执行GREAT;

(2)若BX的内容小于AX的内容,转去执行LESS;

(3)若BX的内容为0,则转去执行ZERO;

28.P84课后练习2-3

对8088/8086CPU指出下列指令中哪些是错误的并说明原因。

(1)MOVBL,AX

(2)MOV100,CX

(3)MOV[SI],AX(4)MOVCS,AX

(5)MOV[SI],BUFFER(6)OUT541H,AL

(7)INBL,DX(8)LEABX,AX

(9)MOVBX,2[DI](10)XCHGAL,100

(11)MOVBYTEPTR[BX],1000(12)MOVAX,[BP+4]

(13)MOVAX,CS(14)MOVSS,2400H

29.P87课后练习2-6

将共阳LED显示器所用BCD码数字0~~9的七段码列成一张表,从10H号外设端口读入0~~9的ASCII码,将它转换为七段码后输出到20H号端口去。

写出完成上述任务的指令序列。

MOVBX,OFFSETTABLE;BX指向表首址

INAL,10H

SUBAL,30H

XLATTABLE

OUT20H,AL

TABLEDB0C0H,0F9H,0A4H,0B0H,99H

DB92H,82H,0F8H,80H,90H

30.P87课后练习2-9

设a,b,c,d是互不相等的8位带符号数(补码),并假设加减法运算均不产生溢出。

试写出完成下列运算的程序段,结果放在DX和AX中。

(1)(a+b)/(c-d)

MOVAL,a

ADDAL,b

CBW

MOVBL,c

SUBBL,d

IDIVBL

(2)(a+b)*(c-d)

MOVAL,a

ADDAL,b

MOVBL,c

SUBBL,d

IMULBL

31.P87课后练习2-12

试将Buffer起始的50个字节的组合BCD数字转换成ASCII码存放于ASC为起始地址的单元中,高位BCD数字位于较高地址。

LEASI,Buffer

LEADI,ASC

MOVCX,50

L1:

MOVAL,[SI]

ANDAL,0FH

ORAL,30H

MOV[DI],AL

MOVAL,[SI]

PUSHCX

MOVCL,4

SHRAL,CL

POPCX

ORAL,30H

INCDI

MOV[DI],AL

INCDI

INCSI

LOOPL1

INT20H

32.P87课后练习2-13

给以TAB为首的100个ASCII码字符添加奇偶校验位(bit7)使每个字节中的“1”的个数为偶数,再顺序输出到10H号端口。

MOVSI,OFFSETTAB

MOVCX,100

L2:

MOVAL,[SI]

ANDAL,0FFH

JPL1

ORAL,80H

L1:

OUT10H,AL

INCSI

LOOPL2

INT20H

33.顺序结构

编写程序段,完成下面公式的计算(其中:

变量X和Y是32位无符号数,变量A,B和Z是16位无符号数):

(X-Y-29)/Z的商→A,(X-Y-29)/Z的余数→B

DATASEGMENT;定义数据段

XDD453921F0H

YDD123A6825H

ZDW0A86CH

ADW?

BDW?

DATAENDS

CODESEGMENT;定义代码段

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,X;取X的低位字

SUBAX,Y;与Y的低位字相减

MOVDX,X+2;取X的高位字

SBBDX,Y+2;与Y的高位字相减,并考虑低位的借位

SUBAX,29D;结果的低位与29D相减

SBBDX,0;可能产生借位,再减去借位

DIVZ;32位无符号数(DX:

AX)除以16位无符号数Z

MOVA,AX;商在AX中,保存商

MOVB,DX;余数在DX中,保存余数

MOVAH,4CH

INT21H;返回DOS

CODEENDS

ENDSTART

34.分支结构

试编写程序段,实现符号函数。

相应的程序段为;

SIGN:

MOVAX,X;

ANDAX,AX;做一次“与”运算,以把X的特征反映到标志位

MOVBX,0;预置X=0的标志0到BX

JENEXT;若X确实为0,则转NEXT

JNSPLUS;X为正数,则转PLUS

MOVBX,-1;X为负数,则-1送BX

JMPNEXT

PLUS:

MOVBX,1

NEXT:

MOVY,BX

35.循环结构

统计字变量VAL中0和1的个数,并将统计结果分别送字单元X和Y中。

分析:

每次将最高位移入CF中进行测试,若为0,则X单元加1;若为1,则Y单元加1。

一个字有16位,故有16次循环。

MOVCX,16;16次循环

MOVSI,0;SI中存放0的个数

MOVDI,0;DI中存放1的个数

MOVAX,VAL

AGAIN:

SHLAX,1

JCNOZERO;为1,转走

INCSI;为0,SI加1

JMPNEXT

NOZERO:

INCDI;为1,DI加1

NEXT:

LOOPAGAIN

MOVX,SI

MOVY,DI

36.编程实现Z=X+Y,其中X、Y、Z均为32位无符号数。

DATASEGMENT

XDD453921F0H

YDD123A6825H

ZDD?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,X;取X的低位字

MOVDX,X+2;取X的高位字

ADDAX,Y;与Y的低位字相加

ADCDX,Y+2;与Y的高位字相加,并考虑低位的进位

MOVZ,AX;保存低位字的相加结果

MOVZ+2,DX;保存高位字的相加结果

MOVAH,4CH

INT21H;返回DOS

CODEENDS

ENDSTART

 

练习题

1.中央处理单元CPU主要由________和________构成,用来解释指令并进行运算。

2.8421BCD码有十个不同的数字符号,逢十进位,每位BCD码用___________位二进制数表示。

3.微型计算机中,CPU重复进行的基本操作是__________、__________、__________。

4.在一般微处理器中,__________________包含在中央处理器(CPU)内。

A.算术逻辑单元B.主内存   C.输入/输出单元

5.IP寄存器的作用是用来指示______________

 A.栈顶地址B.栈底地址   C.下一条要执行的指令的地址

6.计算机能直接认识、理解和执行的程序是_________

A.汇编语言程序B.机器语言程序C.高级语言程序

7.计算机内的“溢出”是指其运算的结果_________

A.为无穷大B.超出了计算机内存储单元所能存储的数值范围

C.超出了该指令所指定的结果单元所能存储的数值范围

8.已知(DS)=1000H,(SS)=2000H,(SI)=007FH,(BX)=0040H,变量VAL的偏移地址为0100H,请指出下列指令的源操作数字段是什么寻址方式?

它们的有效地址(EA)和物理地址(PA)分别是多少?

(1)MOVAX,[2468H]

(2)MOVAX,VAL[BX][SI]

9.两个十六进制数7825H和5A1FH相加后,运算结果是_______________,各标志位的值是CF=______,ZF=______,SF=______,OF=______。

10.8086CPU有______条地址线,可形成______的存储器地址空间,地址范围为__________________;

11.阅读程序段,画出内存分配图。

XDB0,1

YDB2DUP(0,1)

VWORDDW1234H

DVARDD12345678H

12.完成下列数制的转换,将正确的答案填在每小题后的括号内。

(1)(88)D=()H

(2)(10101010)B=()D

(3)(0F0)H=()D

13.设机器的字长为8位:

已知X=64,Y=-10,则[X]补=________H,[Y]补=________H。

14.8086微处理器包含4个专用寄存器,其中和寄存器一般与堆栈段寄存器SS连用,用以确定堆栈段中某一存储器单元的地址;而和寄存器一般与数据段寄存器DS连用,用以确定数据段中某一存储器单元的地址。

15.如果在一个程序段开始执行之前,CS=0A8EH,IP=2A40H,试问:

该程序段的第一个单元的物理地址是什么?

16.目的变址寄存器是_______。

A.DIB.SIC.SPD.DX

17.已知(SS)=1230H,(SP)=0008H,(AX)=2000H,(BX)=3000H,试问:

(1)执行PUSHAX指令后,问其栈顶的物理地址为H;

(2)再执行PUSHBX和POPAX指令后,(SP)=H,(AX)=H。

18.数字9的ASCII码是________。

19.8086的OUTDX,AL中目的操作数为寻址方式,当端口地址(DX)在范围内可用直接寻址。

20.设初值(AX)=4321H,(DX)=8765H,程序片段如下:

MOVCL,04H

SHLDX,CL

SHRAX,CL

上述程序片段执行后(DX)=H;(AX)=H

21.利用一条逻辑指令完成下述操作。

①;将AH的低半字节清零,高半字节不变

②;将AH的高半字节全置“1”,低半字节不变

③;将AH的高半字节取反,低半字节不变

22.微型计算机中各部件之间是用___________连接起来的。

AABBCBCDBD系统总线

23.堆栈指针的作用是用来指示________。

 A.栈顶地址B.栈底地址 C.下一条要执行的指令的地址

24

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2