当前位置:文档之家› 微机原理

微机原理

微机原理
微机原理

微机原理复习重点

第二章微机组成原理

第一节、微机的结构

1、计算机的经典结构——冯.诺依曼结构

(1)计算机由运算器、控制器、输入设备和输出设备五大部分组成(运算器和控制器又称为CPU)

(2)数据和程序以二进制代码形式不加区分地存放在存储器总,存放位置由地址指定,数制为二进制。

(3)控制器是根据存放在存储器中的指令序列来操作的,并由一个程序计数器控制指令的执行。

3、系统总线的分类

(1)数据总线(Data Bus),它决定了处理器的字长。

(2)地址总线(Address Bus),它决定系统所能直接访问的存储器空间的容量。(3)控制总线(Control Bus)

第二节、8086微处理器

1、8086是一种单片微处理芯片,其内部数据总线的宽度是16位,外部数据总线宽度也是16位,片内包含有控制计算机所有功能的各种电路。 8086地址总线的宽度为20位,有1MB (220)寻址空间。

2、 8086CPU由总线接口部件BIU和执行部件EU组成。BIU和EU的操作是异步的,为 8086取指令和执行指令的并行操作体统硬件支持。

3、 8086处理器的启动

4、寄存器结构(重点 )

8086微处理器包含有13个16位的寄存器和9位标志位。 4个通用寄存器(AX,BX,CX,DX) 4个段寄存器(CS,DS,SS,ES)

4个指针和变址寄存器(SP,BP,SI,DI)指令指针(IP) 1)、通用寄存器

(1)8086含4个16位数据寄存器,它们又可分为8个8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL

常用来存放参与运算的操作数或运算结果(2)数据寄存器特有的习惯用法

AX:累加器。多用于存放中间运算结果。所有I/O指令必须都通过AX与接口传送信息; BX:基址寄存器。在间接寻址中用于存放基地址;

CX:计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数;

DX:数据寄存器。在32位乘除法运算时,存放高16位数;在间接寻址的I/O指令中存放I/O端口地址。 2)、指针和变址寄存器

SP:堆栈指针寄存器,其内容为栈顶的偏移地址;

BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。 SI:源变址寄存器 DI:目标变址寄存器

变址寄存器常用于指令的间接寻址或变址寻址。 3)、段寄存器

CS:代码段寄存器,代码段用于存放指令代码 DS:数据段寄存器

ES:附加段寄存器,数据段和附加段用来存放操作数

SS:堆栈段寄存器,堆栈段用于存放返回地址,保存寄存器内容,传递参数 4)、指令指针(IP)

16位指令指针寄存器,其内容为下一条要执行的指令的偏移地址。 5)、标志寄存器(1)状态标志: 进位标志位(CF):运算结果的最高位有进位或有借位,则CF=1 辅助进位标志位(AF):运算结果的低四位有进位或借位,则AF=1 溢出标志位(OF):运算结果有溢出,则OF=1 零标志位(ZF):反映指令的执行是否产生一个为零的结果 符号标志位(SF):指出该指令的执行是否产生一个负的结果 奇偶标志位(PF):表示指令运算结果的低8位“1”个数是否为偶数(2)控制标志位

中断允许标志位(IF):表示CPU是否能够响应外部可屏蔽中断请求 跟踪标志(TF):CPU单步执行

5、8086的引脚及其功能(重点掌握以下引脚)

AD15~AD0:双向三态的地址总线,输入/输出信号

INTR:可屏蔽中断请求输入信号,高电平有效。可通过设置IF的值来控制。 NMI:非屏蔽中断输入信号。不能用软件进行屏蔽。

RESET:复位输入信号,高电平有效。复位的初始状态见P21 MN/MX:最小最大模式输入控制信号。微机原理与接口技术

第三章 8086指令系统

说明:8086指令系统这章为重点章节,对下面列出的指令都要求掌握。

第一节 8086寻址方式

一、数据寻址方式(重点 ) 1、立即寻址

操作数(为一常数)直接由指令给出 (此操作数称为立即数) 立即寻址只能用于源操作数例:

MOV AX, 1C8FH

MOV BYTE PTR[2A00H], 8FH

错误例:

× MOV 2A00H,AX 错误!

指令操作例:MOV AX,3102H; AX 3102H

执行后,(AH) = 31H,(AL) = 02H

2、寄存器寻址

(1)操作数放在某个寄存器中

(2)源操作数与目的操作数字长要相同(3)寄存器寻址与段地址无关例:

MOV AX, BX

MOV [3F00H], AX MOV CL, AL 错误例:

× MOV AX,BL 字长不同

× MOV ES:AX,DX 寄存器与段无关 3、直接寻址

(1)指令中直接给出操作数的16位偏移地址偏移地址也称为有效地址(EA, Effective Address)

(2)默认的段寄存器为DS,但也可以显式地指定其他段寄存器——称为段超越前缀(3)偏移地址也可用符号地址来表示,如ADDR、V AR 例:

MOV AX ,[2A00H]

MOV DX ,ES:[2A00H]

MOV SI,TABLE_PTR

4、间接寻址

操作数的偏移地址(有效地址EA)放在寄存器中 只有SI、DI、BX和BP可作间址寄存例: MOV AX,[BX]

MOV CL,CS:[DI]

错误例:× MOV AX, [DX]

× MOV CL, [AX]

5、寄存器相对寻址

EA=间址寄存器的内容加上一个8/16位的位移量 例: MOV AX, [BX+8] MOV CX, TABLE[SI]

MOV AX, [BP]; 默认段寄存器为SS 指令操作例:MOV AX,DA TA[BX]

若(DS)=6000H, (BX)=1000H, DATA=2A00H, (63A00H)=66H, (63A01H)=55H

则物理地址 = 60000H + 1000H + 2A00H = 63A00H

指令执行后:(AX)=5566H

6、基址变址寻址

若操作数的偏移地址:

由基址寄存器(BX或BP)给出——基址寻址方式由变址寄存器(SI或DI)给出——变址寻址方式

由一个基址寄存器的内容和一个变址寄存器的内容相加而形成操作数的偏移地址,称为基址-变址寻址。

EA=(BX)+(SI)或(DI); EA=(BP)+(SI)或(DI)

同一组内的寄存器不能同时出现。

注意:除了有段跨越前缀的情况外,当基址寄存器为BX时,操作数应该存放在数据段DS 中,当基址寄存器为BP时,操作数应放在堆栈段SS中。例: MOV AX, [BX] [SI] MOV AX, [BX+SI]

MOV AX, DS: [BP] [DI] 错误例:

× MOV AX, [BX] [BP] × MOV AX, [DI] [SI]

指令操作例:MOV AX,[BX][SI]

假定:(DS)=8000H, (BX)=2000H, SI=1000H 则物理地址 = 80000H + 2000H + 1000H = 83000H 指令执行后: (AL)=[83000H]

(AH)=[83001H]

7、相对基址变址寻址

在基址-变址寻址的基础上再加上一个相对位移量

EA=(BX)+(SI)或(DI)+8位或16位位移量;微机原理与接口技术

7 / 20

EA=(BP)+(SI)或(DI)+8位或16位位移量

指令操作例:MOV AX,DATA[DI][BX]

若(DS)=8000H, (BX)=2000H, (DI)=1000H, DA TA=200H 则指令执行后(AH)=[83021H], (AL)=[83020H]

寄存器间接、寄存器相对、基址变址、相对基址变址四种寻址方式的比较:寻址方式指令操作数形式

寄存器间接只有一个寄存器(BX/BP/SI/DI之一) 寄存器相对一个寄存器加

上位移量 基址—变址两个不同类别的寄存器

相对基址-变址两个不同类别的寄存器加上位移量

二、地址寻址方式(了解有4类,能判断)简要判断依据(指令中间的单词):段内直接 short,near 段内间接 word 段间直接 far 段间间接 dword

第二节 8086指令系统

一、数据传送指令(重点 )

1、通用传送指令

(1) MOV dest,src; dest←src

传送的是字节还是字取决于指令中涉及的寄存器是8位还是16位。具体来说可实现:

① MOV mem/reg1,mem/reg2

指令中两操作数中至少有一个为寄存器② MOV reg,data ;立即数送寄存器③ MOV mem,data ;立即数送存储单元④ MOV acc,mem ;存储单元送累加器⑤ MOV mem,acc ;累加器送存储单元

⑥ MOV segreg,mem/reg 存储单元/寄存器送段寄存器⑦ MOV mem/reg,segreg 段寄存器送存储单元/寄存器

MOV指令的使用规则①IP不能作目的寄存器②不允许mem←mem ③不允许segreg←segreg

④立即数不允许作为目的操作数⑤不允许segreg←立即数

⑥源操作数与目的操作数类型要一致

⑦当源操作数为单字节的立即数,而目的操作数为间址、变址、基址+变址的内存数时,必

其中OFFSET BUFFER表示存储器单元BUFFER的偏移地址。

二者都可用于取存储器单元的偏移地址,但LEA指令可以取动态的地址,OFFSET只能取静态的地址。

二、算术运算指令 1、加法指令

(1) 不带进位的加法指令ADD 格式: ADD acc,data

ADD mem/reg,data ADD mem/reg1,mem/reg2 实例:

ADD AL,30H ADD SI,[BX+20H] ADD CX,SI ADD [DI],200H

?ADD指令对6个状态标志均产生影响。例:已知(BX)=D75FH

指令 ADD BX,8046H 执行后,状态标志各是多少?

D75FH = 1110 0111 0101 1111 8046H = 1000 0000 0100 0110

1 1 11 11 0110 0111 1010 0101

结果:C=1, Z=0, P=0, A=1, O=1, S=0

判断溢出与进位(重点 )

从硬件的角度:默认参与运算的操作数都是有符号数,当两数的符号位相同,而和的结果相异时有溢出,则OF=1,否则OF=0

(2)带进位的加法ADC

ADC指令在形式上和功能上与ADD类似,只是相加时还要包括进位标志CF的内容,例如: ADC AL,68H AL←(AL)+68H+(CF) ADC AX,CX ;AX←(AX)+(CX)+(CF)

ADC BX,[DI] ;BX←(BX)+[DI+1][DI]+(CF)

(3)加1指令INC 格式:INC reg/mem

功能:类似于C语言中的++操作:对指定的操作数加1 例: INC AL

INC SI

INC BYTE PTR[BX+4]

注:本指令不影响CF标志。

(4)非压缩BCD码加法调整指令AAA AAA指令的操作:

如果AL的低4位>9或AF=1,则:① AL←(AL)+6,(AH)←(AH)+1,AF←1 ② AL高4位清零③ CF←AF

否则AL高4位清零

(5)压缩BCD码加法调整指令DAA

两个压缩BCD码相加结果在AL中,通过DAA调整得到一个正确的压缩BCD码. 指令操作(调整方法):

若AL的低4位>9或AF=1 则(AL)←(AL)+6,AF←1 若AL的高4位>9或CF=1 则(AL)←(AL)+60H,CF←1

除OF外,DAA指令影响所有其它标志。 DAA指令应紧跟在ADD或ADC指令之后。

2、减法指令

(1)不考虑借位的减法指令SUB 格式: SUB dest, src 操作: dest←(dest)-(src)

注:1.源和目的操作数不能同时为存储器操作数

2.立即数不能作为目的操作数

指令例子: SUB AL,60H

SUB [BX+20H],DX SUB AX,CX

(2)考虑借位的减法指令SBB

SBB指令主要用于多字节的减法。格式: SBB dest, src

操作: dest←(dest)-(src)-(CF) 指令例子:

SBB AX,CX

SBB WORD PTR[SI],2080H SBB [SI],DX

(3)减1指令DEC

作用类似于C语言中的”--”操作符。格式:DEC opr 操作:opr←(opr)-1 指令例子:DEC CL

DEC BYTE PTR[DI+2] DEC SI

(4)求补指令NEG

格式: NEG opr 操作: opr← 0-(opr)

对一个操作数取补码相当于用0减去此操作数,故利用NEG指令可得到负数的绝对值。例:若(AL)=0FCH,则执行 NEG AL后,

(AL)=04H,CF=1

(5)比较指令CMP

格式: CMP dest, src 操作: (dest)-(src)

CMP也是执行两个操作数相减,但结果不送目标操作数,其结果只反映在标志位上。指令例子:

CMP AL,0AH CMP CX,SI

CMP DI,[BX+03]

(6)非压缩BCD码减法调整指令AAS

对AL中由两个非压缩的BCD码相减的结果进行调整。调整操作为:若AL的低4位>9或AF=1,则:① AL←(AL)-6,AH←(AH)-1,AF←1 ② AL的高4位清零③ CF←AF

否则:AL的高4位清零

(7)压缩BCD码减法调整指令DAS

对AL中由两个压缩BCD码相减的结果进行调整。调整操作为:若AL的低4位>9或AF=1,则: AL←(AL)-6, 且AF←1

若AL的高4位>9或CF=1,则: AL←(AL)-60H,且CF←1

DAS对OF无定义,但影响其余标志位。 DAS指令要求跟在减法指令之后。

3、乘法指令

进行乘法时:8位*8位→16位乘积

16位*16位→32位乘积

(1) 无符号数的乘法指令MUL(MEM/REG) 格式: MUL src

操作:字节操作数 (AX)←(AL) × (src)

字操作数 (DX, AX)←(AX) × (src)

指令例子:

MUL BL ;(AL)×(BL),乘积在AX中 MUL CX ;(AX)×(CX),乘积在DX,AX 中 MUL BYTE PTR[BX]

(2)有符号数乘法指令IMUL

格式与MUL指令类似,只是要求两操作数均为有符号数。指令例子:

IMUL BL ;(AX)←(AL)×(BL) IMUL WORD PTR[SI]; (DX,AX)←(AX)×([SI+1][SI]) 注意:MUL/IMUL指令中

● AL(AX)为隐含的乘数寄存器;● AX(DX,AX)为隐含的乘积寄存器;● SRC不能为立即数;

●除CF和OF外,对其它标志位无定义。

4、除法指令

进行除法时:16位/8位→8位商

32位/16位→16位商

对被除数、商及余数存放有如下规定:

被除数商余数

字节除法 AX AL AH 字除法 DX:AX AX DX

(1)无符号数除法指令DIV 格式: DIV src

操作:字节操作 (AL)←(AX) / (SRC) 的商

(AH)←(AX) / (SRC) 的余数

字操作 (AX) ←(DX, AX) / (SRC) 的商

(DX) ←(DX, AX) / (SRC) 的余数

指令例子:

DIV CL

DIV WORD PTR[BX]

(2)有符号数除法指令IDIV 格式: IDIV src

操作与DIV类似。商及余数均为有符号数,且余数符号总是与被除数符号相同。注意: 对于DIV/IDIV指令

AX(DX,AX)为隐含的被除数寄存器。 AL(AX)为隐含的商寄存器。 AH(DX)为隐含的余数寄存器。

src不能为立即数。

对所有条件标志位均无定

关于除法操作中的字长扩展问题

?除法运算要求被除数字长是除数字长的两倍,若不满足则需对被除数进行扩展,否则产生错误。

?对于无符号数除法扩展,只需将AH或DX清零即可。

?对有符号数而言,则是符号位的扩展。可使用前面介绍过的符号扩展指令CBW和CWD 三、逻辑运算和移位指令 1、逻辑运算指令(1)逻辑与AND

对两个操作数进行按位逻辑“与”操作。格式:AND dest, src

用途:保留操作数的某几位,清零其他位。

例1:保留AL中低4位,高4位清0。

AND AL,0FH

(2)逻辑或OR

对两个操作数进行按位逻辑”或”操作。格式:OR dest, src

用途:对操作数的某几位置1;对两操作数进行组合。

例1:把AL中的非压缩BCD码变成相应十进制数的ASCII码。

OR AL, 30H

(3)逻辑非NOT

对操作数进行按位逻辑”非”操作。格式:NOT mem/reg

例:NOT CX

NOT BYTE PTR[DI]

(4)逻辑异或XOR

对两个操作数按位进行”异或”操作。格式:XOR dest, src

用途:对reg清零(自身异或)

把reg/mem的某几位变反(与’1’异或)

例1:把AX寄存器清零。

①MOV AX,0 ②XOR AX,AX ③AND AX,0 ④SUB AX,AX

(5)测试指令TEST

操作与AND指令类似,但不将”与”的结果送回,只影响标志位。 TEST指令常用于位测试,与条件转移指令一起用。例:测试AL的内容是否为负数。

TEST AL,80H ;检查AL中D7=1? JNZ MINUS ;是1(负数),转MINUS

……;否则为正数

2、移位指令

(1)非循环移位指令(重点 )

算术左移指令 SAL(Shift Arithmetic Left) 算术右移指令 SAR(Shift Arithmetic Right) 逻辑左移指令 SHL(Shift Left) 逻辑右移指令 SHR(Shift Right) 这4条指令的格式相同,以SAL 为例:

CL ;移位位数大于1时

SAL mem/reg

1 ;移位位数等于1时

算术移位——把操作数看做有符号数;逻辑移位——把操作数看做无符号数。

移位位数放在CL寄存器中,如果只移1位,也可以直接写在指令中。例如: MOV CL,4 SHR AL,CL ;AL中的内容右移4位 影响C,P,S,Z,O标志。 结果未

溢出时:

左移1位≡操作数*2

右移1位≡操作数/2

例:把AL中的数x乘10

因为10=8+2=23+21,所以可用移位实现乘10操作。程序如下: MOV CL,3

SAL AL,1 ; 2x MOV AH,AL SAL AL,1 ; 4x

SAL AL,1 ; 8x

ADD AL,AH ; 8x+2x = 10x

四、控制转移指令 1、转移指令

(1)无条件转移指令JMP

微机原理与接口技术

16 / 20

格式:JMP label

本指令无条件转移到指定的目标地址,以执行从该地址开始的程序段。

(2)条件转移指令(补充内容)(重点 )①根据单个标志位设置的条件转移指令 JB/JC ;低于,或CF=1,则转移

JNB/JNC/JAE ;高于或等于,或CF=0,则转移 JP/JPE ;奇偶标志PF=1(偶),则转移 JNP/JPO ;奇偶标志PF=0(奇),则转移 JZ/JE ;结果为零(ZF=1),则转移 JNZ/JNE ;结果不为零(ZF=0),则转移 JS ;SF=1,则转移 JNS ;SF=0,则转移 JO ;OF=1,则转移 JNO ;OF=0,则转移

②根据组合条件设置的条件转移指令这类指令主要用来判断两个数的大小。 判断无符号数的大小 JA高于则转移

条件为: CF=0∧ZF=0,即A>B JNA/JBE低于或等于则转移

条件为: CF=1∨ZF=1,即A?B JB A

★判断有符号数的大小 JG;大于则转移(A>B)

条件为: (SF⊕OF=0)∧ZF=0 JGE;大于或等于则转移(A?B)

条件为: (SF⊕OF=0)∨ZF=1 JLE;小于或等于则转移(A?B) 条件为: (SF⊕OF=1)∨ZF=1 JL;小于则转移(A<B=

条件为: (SF⊕OF=1)∧ZF=0

2、循环控制指令

用在循环程序中以确定是否要继续循环。 循环次数通常置于CX中。

转移的目标应在距离本指令-128~+127的范围之内。 循环控制指令不影响标志位。(1)LOOP

格式:LOOP label

操作:(CX)-1→CX;

若(CX)≠0,则转至label处执行;

否则退出循环,执行LOOP后面的指令。 LOOP指令与下面的指令段等价: DEC CX JNZ label

3、过程调用指令(1)调用指令CALL

一般格式:CALL sub ;sub为子程序的入口

4、中断指令

(1)INT n 执行类型n的中断服务程序,N=0~255

五、处理器控制指令 1、标志位操作(1)CF设置指令

CLC 0→CF STC 1→CF CMC CF变反(2)DF设置指令

CLD 0→DF (串操作的指针移动方向从低到高)

STD 1→DF (串操作的指针移动方向从高到低) (3)IF设置指令 CLI 0→IF (禁止INTR 中断) STI 1→IF (开放INTR中断)

2、 HLT(halt)

执行HLT指令后,CPU进入暂停状态。

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

第一节伪指令(重点 )

CPU指令与伪指令之间的区别:

(1)CPU指令是给CPU的命令,在运行时由CPU执行,每条指令对应CPU的一种特定的操作。而伪指令是给汇编程序的命令,在汇编过程中由汇编程序进行处理。

(2)汇编以后,每条CPU指令产生一一对应的目标代码;而伪指令则不产生与之相应的目标代码。

1、数据定义伪指令

(1)数据定义伪指令的一般格式为: [变量名] 伪指令操作数[,操作数…] DB 用来定义字节(BYTE)

DW 用来定义字(WORD) DD 用来定义双字(DWORD)

(2)操作数的类型可以是:①常数或常数表达式

例如: DA TA_BYTE DB 10,5,10H DATA_WORD DW 100H,100,-4 DA TA_DW DD 2*30,0FFFBH 可以为字符串(定义字符串最好使用DB) 例如:char1 DB …AB? 可以为变量

可以为?号操作符

例如:X DB 5,?,6

?号只是为了给变量保留相应的存储单元,而不赋予变量某个确定的初值。 重复次数:N DUP(初值[,初值…]) 例如:ZERO DB 2 DUP(3,5)

XYZ DB 2 DUP(0,2 DUP(1,3),5)

在伪操作的操作数字段中若使用$,则表示的是地址计数器的当前值。

2、补充内容:

(1)类型 PTR 地址表达式例如:MOV BYTE PTR [BX],12H

INC BYTE PTR [BX]

注意:单操作数指令,当操作数为基址、变址、基+变的时候必须定义

3、符号定义伪指令 (1)EQU

格式:名字 EQU 表达式

EQU伪指令将表达式的值赋予一个名字,以后可用这个名字来代替上述表达式。例:CONSTANT EQU 100

NEW_PORT EQU PORT_V AL+1

(2) =(等号)

与EQU类似,但允许重新定义例:

┇ EMP=7 ;值为7 ┇ EMP=EMP+1 ;值为8

(3)LABEL

LABEL伪指令的用途是定义标号或变量的类型格式:名字 LABEL 类型

变量的类型可以是BYTE,WORD,DWORD。标号的类型可以是NEAR或FAR

4、段定义伪指令

与段有关的伪指令有:

SEGMENT、ENDS、ASSUME、ORG

(1)段定义伪指令的格式如下:

段名 SEGMENT [定位类型] [组合类型] [’类别’]

段名 ENDS

SEGMENT和ENDS

这两个伪指令总是成对出现,二者前面的段名一致。二者之间的删节部分,对数据段、附加段及堆栈段,一般是符号、变量定义等伪指令。对于代码段则是指令及伪指令。此外,还必须明确段和段寄存器的关系,这可由ASSUME语句来实现。

(2)ASSUME 格式:

ASSUME 段寄存器名:段名[,段寄存器名:段名[,…]]

ASSUME伪指令告诉汇编程序,将某一个段寄存器设置为某一个逻辑段址,即明确指出源程序中逻辑段与物理段之间的关系。

(3)ORG

伪指令ORG规定了段内的起始地址或偏移地址,其格式为: ORG <表达式>

表达式的值即为段内的起始地址或偏移地址,从此地址起连续存放程序或数据。

5、汇编程序的一般结构(重点 )(记住) DA TA SEGMENT …

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA BGN: MOV AX ,DATA MOV DS,AX ….

MOV AH,4CH INT 21H CODE ENDS END BGN

第三节程序设计

1、顺序程序的设计(略)

2、分支程序的设计典型例题:

1 X>0

Y = 0 X=0

-1 X<0

程序为:

MOV AL ,X CMP AL,0 JGE BIG MOV Y,-1 JMP EXIT

BIG:JE EQUL MOV Y,1 JMP EXIT

EQUL:MOV Y,0 EXIT:….

3、循环程序见讲义。 用计数控制循环

微机原理期末考试试卷(有答案)

丽水学院《微机原理》考试试卷 班级:___________ 姓名:___________学号:____________ 题号一二三四五六总分得分 得分 一、判断题(每题1分,共10分) 1、十六位微型机的含义是:这种机器能同时处理十六位二进制数。(√) 2、微机的字长愈长,计算精度愈高,指令处理功能愈强。(√) 3、MOV指令要影响标志位。(×) 4、JMP SHORT NEXT称为近转移。(×) 5、8086与8088在软件上不一定完全兼容。(×) 6、端口是位于主机与外设之间的总称。() 7、DMA是一种不需要CPU介入的高速数据传送。() 8、8253中的计数可以通过初始化设置成加计数或减计数。() 9、内部中断的优先权总是高于外部中断。() 10、两片8259A级连后可管理16级中断。() 得分 二、选择题(每题1分,共20分) 1、属于数据寄存器组的寄存器是_____C___。 A.AX,BX,CX,DS B.SP,DX,BP,IP C. AX,BX,CX,DX D.AL,DI,SI,AH 2、在8086和8088汇编语言中,一个字能表示的有符号数的范围是_____B___。 A.-32768≤n≤32768 B.-32768≤n≤32767 C.-65535≤n≤65535 D.-65536≤N≤65535 3、某数存于内存数据段中,已知该数据段的段地址为2000H,而数据所在单元的偏移地址为0120H,该数的在内存的物理地址为__B______。 A.02120H B.20120H C.21200H D.03200H 4、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是 ___D_____。 A.IN AL,端口地址 B.MOV AL,端口地址 C.OUT AL,端口地址 D.OUT 端口地址,AL 5、与十进制数58.75等值的十六进制数是__B______。 A.A3.CH B.3A.CH C.3A.23H D.C.3AH 6、将十六进制数FF.1转换成十进制数是__C______。 A.255.625 B.2501625 C.255.0625 D.250.0625 7、十进制负数-38的八位二进制补码是____D____。

微机原理程序 (2)

实验二:循环程序设计 2. DA TA SEGMENT x db -78,127,-128,-125,88 y db 32,-43,76,95,1 S db 5 dup(?) data ends Code segment Assume cs:code,ds:data Start:mov ax,data Mov ds,ax Mov cx,5 Mov bx,0 L1:mov al,x[bx] Add al,y[bx] Inc bx Loop L1 MOV AH,4CH INT 21H CODE ENDS END START 3. DA TA SEGMENT Y DB 68H,24H,90H,57H,13H HX DB 67H,34H,12H,90H,57H S DB 5 DUP(?) DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START:MOV AX,DATA MOV DS,AX MOV CX,5 MOV SI,OFFSET X MOV DI,OFFSET Y LP:MOV AL,[SI] MOV AH,[DI] ADC AL,AH DAA MOV S[SI],AL INC SI INC DI LOOP LP MOV AH,4CH INT 21H

CODE ENDS END START 4、 DA TA SEGMENT LIST DB 0,1,2,3,4,5,6,7,8,9 COUNT EQU $-LIST DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START:MOV AX,DATA MOV DS,AX MOV CX,COUNT-1 LOOP1:MOV DX,CX MOV BX,0 LOOP2:MOV AX,LIST[BX] CMP AX,LIST[BX+1] MOV LIST[BX],AX LOOP3:INC BX LOOP LOOP2 MOV CX,DX LOOP LOOP1 MOV AX,4CH INT 21H CODE ENDS END START 实验三:子程序调用程序设计 DA TA SEGMENT NUM DB 85,77,126,-1,-43,37,-128,11,-19,13 DA TA ENDS ADDITION SEGMENT NUM1 DB 10 DUP(?) ADDITION ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA,ES:ADDITION START:AX,DATA MOV DS,AX MOV AX,ADDITION MOV ES,AX CALL ORDER CALL COPY MOV AH,4CH INT 21H ORDER PROC MOV CX,9

微机原理期末考试试卷(有答案)

微机原理期末考试试卷 (有答案) -CAL-FENGHAI.-(YICAI)-Company One1

《微机原理》考试试卷 一、判断题(每题1分,共10分) 1、十六位微型机的含义是:这种机器能同时处理十六位二进制数。(√) 2、微机的字长愈长,计算精度愈高,指令处理功能愈强。(√) 3、MOV指令要影响标志位。(×) 4、JMP SHORT NEXT称为近转移。(×) 5、8086与8088在软件上不一定完全兼容。(×) 6、端口是位于主机与外设之间的总称。() 7、DMA是一种不需要CPU介入的高速数据传送。() 8、8253中的计数可以通过初始化设置成加计数或减计数。() 9、内部中断的优先权总是高于外部中断。() 10、两片8259A级连后可管理16级中断。() 二、选择题(每题1分,共20分) 1、属于数据寄存器组的寄存器是_____C___。 A.AX,BX,CX,DS B.SP,DX,BP,IP C. AX,BX,CX,DX D.AL,DI,SI,AH 2、在8086和8088汇编语言中,一个字能表示的有符号数的范围是 _____B___。 A.-32768≤n≤32768 B.-32768≤n≤32767 C.-65535≤n≤65535 D.-65536≤N≤65535 3、某数存于内存数据段中,已知该数据段的段地址为2000H,而数据所在单元的偏移地址为0120H,该数的在内存的物理地址为__B______。 A.02120H B.20120H C.21200H D.03200H 4、在8086/8088微机系统中,将AL内容送到I/O接口中,使用的指令是 ___D_____。

微机原理程序

一,在数据段从TABLE开始定义10无符号的数据,每个数据为一个字节,计算这10个数的和,结果放到SUM字单元之中 DA TA SEGMENT TABLE DB 12H, 23H, 34H, 45H, 56H DB 67H, 78H, 89H, 9AH, 0FDH SUM DW DA TA ENDS STACK SEGMENT D8 5 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA, SS: STACK START: MOV AX, DATA MOV DS, AX MOV ES, AX MOV AX,STACK MOV SS, AX LEA SI, TABLE MOV CX, 10 XOR AX, AX NEXT: ADD AL , 0 INC SI LOOP NEXT MOV SUM, AX MOV AH, 4CH INT 21H CODE ENDS ENDS START

二,在数据段自TABLE开始的连续10个单元中有放在0-9的平方值,查表求任意数X (0<=X<=9)的平方值,并将结果放到RESULT中 三,在数据段定义2个数据,每个数据占有若干字节,按照低地址存储低数据位的原则存储,这两个数据长度一样,计算这2个数据的和,并将结果放到RESULT中。 四、用8255PA作开关量输入口,PB作输出口。 CODE SEGMENT ASSUME CS:CODE ,DS:CODE ,ES:CODE ORG 32E0H PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH PCTL EQU 0FFDBH HI:MOV DX,PCTL MOV AL,90H OUT DX,AL PI:MOV DX,PA IN AL,DX INC DX OUT DX,AL JMP PI CODE ENDS END HI

浙江大学微机原理(DSP)考试必背(知识点及基本程序部分)

第二章系统控制与中断+老师复习时专讲的中断内容 1、【强记】void InitSysCtrl( ) void InitSysCtrl() { EALLOW; WDCR=0x0068; //屏蔽WatchDog PLLCR=0xA; //锁相环设为10/2=5倍频(使系统时钟30MHz*5=150MHz) //PLLCR可设0x0~0xA,其中0x0和0x1等效,均为1/2=0.5倍频for(i= 0; i< ( (131072/2)/12 ); i++) {;} HISPCP=1; // HISPCLK=SYSCLK/HISPCP*2,从而有75MHz LOSPCP=2; // LOSPCLK=SYSCLK/LOSPCP*2,从而有37.5MHz PCLKCR=0x0D0B; //写1开启部分外设,这里开启了SCIA/B,SPI,ADC,EV A/B //0000 1101 0000 1011 EDIS; } 2、解释WatchDog(看门狗)工作原理(记住位域名称与功能) 片内振荡器时钟OSCCLK经过分频后进入8位看门狗计数器,当计数器上溢,则可输出中断或复位信号。当看门狗使能,若系统正常运行,则需用户周期性地在看门狗计数器上溢前向复位寄存器WDKEY写入0x55+0xAA来清零计数器,若程序受干扰而跑飞,则看门狗的中断或复位信号可使系统恢复至正常状态,提高系统稳定性与可靠性。 补充——涉及寄存器: 系统控制和状态寄存器SCSR:WDENINT指定看门狗输出复位信号还是中断信号;WDOVERRIDE指定是否允许用户修改控制寄存器WDCR的WDDIS位; 计数寄存器WDCNTR:低8位连续加计数,可由复位寄存器WDKEY立即清零; 复位寄存器WDKEY:连续写入0x55+0xAA可清零计数寄存器WDCNTR,写入其它序列则立即触发看门狗复位事件。读该寄存器返回控制寄存器WDCR值; 控制寄存器WDCR:WDFLAG为看门狗复位状态标志位,若复位事件由看门狗触发则置1,用户写1清零;WDDIS写1使能,写0屏蔽看门狗;WDCHK必须写101才能写WDCR 寄存器;WDPS为看门狗计数器时钟相对于OSCCLK/512的分频系数。 3、解释PLL(锁相环)工作原理 PLL负责把片内振荡器时钟或外部时钟经过倍频转化为系统时钟SYSCLKOUT。 当引脚XF_XPLLDIS为低电平:PLL被禁止,系统时钟直接引用外部时钟源。 当引脚XF_XPLLDIS为高电平:若PLLCR为0,则PLL被旁路,片内振荡器时钟OSCCLK被二分频;若PLLCR为n(n=0x1~0xA),则PLL使能,OSCCLK被(n/2)倍频。 4、【强记】为了使CPU定时器工作在指定频率,应如何设置 void InitSysCtrl(); void InitCputimer(void) //定时器初始化,中断周期为1ms(1kHz) { EALLOW; TIMER0TPR=149;//CPU定时器分频寄存器,150MHz/(149+1)=1MHz的计时器时钟TIMER0TPRH=0;//CPU定时器分频寄存器的高位置0 TIMER0PRD=(long)999;//设置CPU定时器周期寄存器,1MHz/(999+1)=1kHz

微机原理期末考试考试卷及答案

的数据线为16位,地址线为20位,I/O口使用16位地址线。 2.在某进制的运算中7×3=33,则7×5=_55。 3.用8位二进制数表示整数时,十进制数(-128)的补码为__。原码为无,反码为无。3.8086内部寄存器长度为16位,通用寄存器有8个,段寄存器有4个。 4.8086偶存储体的选片信号是A0,奇存储体的选片信号是BHE 。 5.MOV AX,[BX+SI]的源操作数是基址变址寻址方式,目的操作数是寄存器寻址方式。6.8086可以指向堆栈的指针寄存器有bp和sp。 7.程序中段定义结束的伪指令是ENDS,子程序定义结束的伪指令是ENDP。 8.EEPROM的擦除方法为点擦除. 9.下列指令段经汇编后,DATA所代表的偏移地址为_100 CH__。 & ORG 1000H STROE DB 12 DUP() DATA DB 05H,06H,07H,08H 1. 8086/8088在不考虑段跨越情况下,DI寄存器给出的偏移地址位于_C__。 A. 仅DS段 B. DS或SS段 C. DS或ES段 D. DS或CS段 2. 下列指令中格式错误的是___A___。 A. SHL AL,CX B. XCHG AL,BL C. MOV BX,[SI] D. AND AX,BX 3. 设(20010H)=3FH,(20011H)=B2H,执行下列指令段后,BX=____B__。 MOV AX,2000H " MOV DS,AX MOV BX,[0010H] A. B2B2H B. B23FH C. 3F3FH D. 3FB2H 4. 若SP=0124H,SS=3300H,在执行INT 60H这条指令后,堆栈栈顶的物理地址为___D___。 A. 3311CH B. 33120H C. 33122H D. 3311EH 5. 下列指令中格式错误的是_C__。 A. MOV AX,357AH[BX][DI] B. OUT DX,AL C. LEA AX,50H[BX][BP] D. RCR BX,1 6. 下列指令中允许寻址范围最大的是_D__。 A. JNZ NEXT B. LOOP NEXT ¥ C. JMP SHORT PTR NEXT D. CALL NEAR PTR NEXT 7. 8086/8088不属于BIU部分的寄存器是__D____。 A. IP B. ES C. DS D. SP 8088最大模式比最小模式在结构上至少应增加___B_。 A. 中断优先级控制器 B. 总线控制器 C. 数据驱动器 D. 地址锁存器 9. 8086在存取存贮器中以偶地址为起始地址的字时,M/IO、BHE、A0的状态分别是____D__。 A. 0,0,1 B. 1,0,1 C. 1,1,0 D. 1,0,0 10. 一个半导体存贮芯片的引脚有 A13~A0,D3~D0,WE,OE,CS,VCC,GND等,该芯片存贮容量为____C__。 A. 8K×8 B. 8K×4 C. 16K×4 D. 16K×8 !

微机原理程序题

1. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sign与sinteger 均为双字变量。 if ( sinteger = = 0) sign = = 0; else If ( siteger > 0) sign = 1; else sign = -1; mov eax,sinteger mov edx,sign cmp eax,0 jnz L1 mov ebx,0 L1:cmp ebx,0 jl L2 mov ebx,1 L2:mov ebx,-1 2. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中ch1与caps均为字节变量。 if (ch1> =’a’ && ch1< =’z’) caps= =0; if (ch1> =’A’ && ch1< =’Z’) caps= =1; mov ax,ch1 mov bx,caps cmp ax,a jb next cmp ax,z ja next mov bx,0 next:cmp ax,A jl done cmp ax,Z ja done done: 3. 将下面C语言程序的代码片段转换为功能等价的汇编语言代码片段,其中sum与i变量均为双字变量。 sum=0; for ( i=1;i< =100;i++) if ( i%2= =0) sum=sum+i; mov ecx,i mov ecx,1 .while(ecx<=100)

mov eax,ecx xor edx,edx mov ebx,2 div ebx cmp edx,0 jnz next add sum,ecx next:inc ecx .endw 1. 能被4整除但不能被100整除,或者年被400整除的年份是闰年。编程写一个完整的程序,求出2012年~2099年中的所有闰年年份,并把它们存放在数组Lyear中。 算法描述 ; esi=0;ecx=2012; ; while (ecx<2100) ; { if (year mod 4=0 and year mod 100 <>0) or (year mod 400=0) then ; {Lyear[esi]=ecx;esi++;} ; ecx++; ; } ; Lcounter=esi; include io32.inc .data Lyear dword 100 dup(?) Lcounter dword 0 .code mainproc xor esi,esi ;esi闰年个数计数器,兼做Lyear下标。 mov ecx,2012 ;ecx年份计数器。 .while (ecx<2100) mov eax,ecx xor edx,edx mov ebx,400 div ebx cmp edx,0 jz leap ;if year mod 400=0 then goto leap mov eax,ecx xor edx,edx mov ebx,4 div ebx cmp edx,0 jnz next ;if year mod 4<>0 then goto next mov eax,ecx xor edx,edx mov ebx,100 div ebx

微机原理期末考试试卷(有答案)

微机原理期末考试试卷(有答案)

INC DI LOOP AGAIN 也可用指令___A____完成同样的功能。 A.REP MOVSB B.REP LODSB C.REP STOSB D.REPE SCASB 11、动态存贮器刷新,下面哪种说法正确________。 A.刷新可在CPU执行程序过程中进行 B.刷新在外电路控制下,定时刷新,但刷新时,信息不读出 C.在正常存贮器读操作时也会发生刷新,可防止刷新影响读出信息,故读操 作时,应关闭电路工作。 D.刷新过程一定伴随着信息输出,无法控制,故刷新时不要进行读出操作。 12、用4K×8的存贮芯片,构成64K×8的存贮器,需使用多少4K×8的存贮芯片,正确答案为________。 A.128片 B.16片 C.8片 D.32片 13、对内存单元进行写操作后,该单元的内容________。 A.变反 B.不变 C.随机 D.被修改 14、在DMA方式下,CPU与总线的关系是________。 A.只能控制地址总线 B.相互成隔离状态 C.只能控制数据线 D.相互成短接状态 15、在PC/XT机中键盘的中断类型码是09H,则键盘中断矢量存储在________。 A.36H~39H B.24H~27H C.18H~21H D.18H~1BH 16、已知某系统共带三台外设,即X、Y、Z,每台外设都能发出中断,它们的中 断优先级为X>Y>Z,当前在执行Z中断服务程序时,X,Y同时发出中断请求, 若此时IF=0,问CPU响应哪台外设请求________。 A.X设备 B.Y设备 C.无响应X,后响应Y D.都不响应 17、8255A芯片中各端口的位数是________。 A.8位 B.26位 C.12位 D.4位 18、8255A的________一般用作控制或状态信息传输。 A.端口A B.端口B C.端口C D.端口C的上半部分 19、若以8253某通道的CLK时钟脉冲信号为基础,对其实行N分频后输出,通 道工作方式应设置为________。 A.方式0 B.方式2 C.方式3 D.方式4 20、8253有________个独立的计数器。 A.2 B.3 C.4 D.6 得分 三、填空题(每空1分,共20分) 1、IBM-PC机中的内存是按段存放信息的,一个段最大存贮空间为___64K_____ 字节。 2、下列字符表示成相应的ASCII码是多少? 回车___0AH_____;数字’0’ ___36H_____。 3、假设(DS)=0B000H,(BX)=080AH,(0B080AH)=05AEH,(0B080CH) =4000H,当执行指令“LES DS,[BX]”后,(DI)=____05AEH____,(ES)

微机原理练习六--读程序并回答问题

微机原理练习六读程序并回答问题 1. 已知,(DS)=2000H,(BX)=100H,(SI)=0002H,从物理地址20100H单元开始,依次存放数据12H、34H、56H、78H; 而从物理地址21200H单元开始,依次存放数据2AH、4CH、8BH、98H。试说明下列各条指令单独执行后AX寄存器的内容。 ① MOV AX,3600H (AX)= ② MOV AX,[1200H] (AX)= ③ MOV AX,BX (AX)= ④ MOV AX,[BX] (AX)= 2. 以下语句汇编后,变量CON1、CON2、CON3和CON4的内容分别是多少? N1=10 N2=5 N3=3 CON1 DB NOT N1 CON2 DB (N1 AND N2 OR N3)GE 0FH CON3 DW (N2 AND N1 XOR N3)LE 0FH CON4 DB (N1 AND N3 OR N2)LT 0FH 3. 读下列程序,并在空白处填入合适指令,使该程序段能完成将100H个字节数据从2000H处搬到1000H处的操作。 MOV SI,2000H MOV CX,100H CLD 4 指出下面指令序列的执行结果。 MOV DX,2000H MOV BX,1000H XCHG BX,DX 则:BX= DX= 5 设初值AX=6264H,CX=0001H,在执行下列程序段后,AX=?CX=? AND AX,AX JZ DONE SHL CX,1 ROR AX,CL DONE:OR AX,1234H 则:AX= CX=

6有数据定义如下,与之等同功能的指令是什么? DAT DW 100 DUP(?) : MOV CX,LENGTH DAT ADD AX,TYPE DAT 7. 指出下面指令序列的执行结果。 MOV AX,1234H PUSH AX POP BX 则:BX= AX= 8. 对于给定的数据定义,变量R1和R2的值分别是多少? ①A1 DB 1,2,3,‘ABC’ A2 DB 0 R1 EQU A2-A1 则R1= ②K1 DW ? K2 DB 6 DUP(?) R2 EQU $-K1 则R2= 9. 选用最少的指令,实现下述要求的功能。 ①AH的高4位清0,其余位不变。 ②AL的高4位取反,其余位不变。 ③AL的高4位移到低4位,高4位清0。 ④AL的低4位移到高4位,低4位清0。 10. 下面一段程序完成对某一缓冲区置全“1”操作。设缓冲区长度为20个字节,缓冲区首址DI=0200H,并设(ES) =3000H,试填空。 CLD MOV AX,3000H MOV DI,0200H MOV AL,0FFH REP STOSB 11. 下列伪指令在存储区中分别为各变量分配多少字节? VR1 DW 10 VR2 DW 6DUP(?),66,88 VR3 DD 10DUP(?) VR4 DB ‘HOW ARE YOU’ 12. 写出下列程序段执行后的结果,并说出完成的是什么功能? MOV CL,4 MOV AL,87H MOV DL,AL AND AL,0FH OR AL,30H SHR DL,CL OR DL,30H 则(AL)= (DL)= 实现的功能为13. 分析程序段,并填入适当的内容。 MOV AL,0FH

微机原理期末考试考试卷及答案

1、8086的数据线为16位,地址线为20位,I/O口使用16位地址线。 2、在某进制的运算中7×3=33,则7×5=_55。 3、用8位二进制数表示整数时,十进制数(-128)的补码为__。原码为无,反码为无。 3.8086内部寄存器长度为16位,通用寄存器有8个,段寄存器有4个。 4.8086偶存储体的选片信号就是A0,奇存储体的选片信号就是BHE 。 5.MOV AX,[BX+SI]的源操作数就是基址变址寻址方式,目的操作数就是寄存器寻址方式。 6.8086可以指向堆栈的指针寄存器有bp与sp。 7.程序中段定义结束的伪指令就是ENDS,子程序定义结束的伪指令就是ENDP。 8.EEPROM的擦除方法为点擦除、 9、下列指令段经汇编后,DATA所代表的偏移地址为_100 CH__。 ORG 1000H STROE DB 12 DUP(?) DATA DB 05H,06H,07H,08H 1、8086/8088在不考虑段跨越情况下,DI寄存器给出的偏移地址位于_C__。 A、仅DS段 B、DS或SS段 C、DS或ES段 D、DS或CS段 2、下列指令中格式错误的就是___A___。 A、SHL AL,CX B、XCHG AL,BL C、MOV BX,[SI] D、AND AX,BX 3、设(20010H)=3FH,(20011H)=B2H,执行下列指令段后,BX=____B__。 MOV AX,2000H MOV DS,AX MOV BX,[0010H] A、B2B2H B、B23FH C、3F3FH D、3FB2H 4、若SP=0124H,SS=3300H,在执行INT 60H这条指令后,堆栈栈顶的物理地址为___D___。 A、3311CH B、33120H C、33122H D、3311EH 5、下列指令中格式错误的就是_C__。 A、MOV AX,357AH[BX][DI] B、OUT DX,AL C、LEA AX,50H[BX][BP] D、RCR BX,1 6、下列指令中允许寻址范围最大的就是_D__。 A、JNZ NEXT B、LOOP NEXT C、JMP SHORT PTR NEXT D、CALL NEAR PTR NEXT 7、8086/8088不属于BIU部分的寄存器就是__D____。 A、IP B、ES C、DS D、SP 8、8086/8088最大模式比最小模式在结构上至少应增加___B_。 A、中断优先级控制器 B、总线控制器 C、数据驱动器 D、地址锁存器 9、8086在存取存贮器中以偶地址为起始地址的字时,M/IO、BHE、A0的状态分别就是____D__。 A、0,0,1 B、1,0,1 C、1,1,0 D、1,0,0 10、一个半导体存贮芯片的引脚有A13~A0,D3~D0,WE,OE,CS,VCC,GND等,该芯片存贮容量为____C__。 A、8K×8 B、8K×4 C、16K×4 D、16K×8 1、写出8086CPU所含14个寄存器的英文标识及中文名称。CS16位代码段寄存器DS 16位数据段寄存器SS16位堆栈段寄存器ES16位附加段寄存器AX 累加寄存器BX基址寄存器

微机原理程序

;**********************; ;* 数/模转换实验1 *; ;* 产生锯齿波 *; ;**********************; io0832a equ 290h code segment assume cs:code start: mov cl,0 mov dx,io0832a lll: mov al,cl out dx,al add cl,10 push dx mov ah,06h ;判断是否有键按下 mov dl,0ffh int 21h pop dx jz lll ;若无则转LLL mov ah,4ch ;返回 int 21h code ends end start ;**********************; ;* 数/模转换实验2 *; ;* 产生正弦波 *; ;**********************; data segment io0832a equ 290h Sin db 80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdh db 0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96 h db 80h,66h,4eh,38h,25h,15h,09h,04h Db 00h,04h,09h,15h,25h,38h,4eh,66h ;正弦波数据 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax ll: mov si,offset sin ; 置正弦波数据的偏移地址为SI mov bh,32 ;一组输出32个数据 lll: mov al,[si] ;将数据输出到D/A转换器 mov dx,io0832a out dx,al mov ah,06h mov dl,0ffh int 21h jne exit mov cx,1 delay: loop delay ;延时 inc si ;取下一个数据 dec bh jnz lll ;若未取完32个数据则转lll jmp ll exit: mov ah,4ch ;退出 int 21h code ends end start ;****************************; ;* AD转换器2--示波器 *; ;* 采集数据在屏幕是作图 *; ;****************************; io0809b equ 299h code segment assume cs:code start: mov ax,0012h ;设屏幕显示方式为VGA 640X480模示 int 10h start1: mov ax,0600h int 10h ;清屏 and cx,0 ;cx为横坐标draw: mov dx,io0809b ;启动A/D转换器通道1 out dx,al mov bx,200;500 ;延时delay: dec bx jnz delay

大学微机原理复习

2011 BIT 存储器接口设计 北京理工大学

2011 BIT 存储器与CPU的连接 一,存储器与CPU连接的问题 1,存储器类型选择 2,CPU总线负载能力 3,地址分配和片选问题 4,CPU与存储器的时序

2011 BIT 二,地址译码 确定存储芯片占据的地址范围。 一次地址译码包括片选译码和片内译码。 片选译码:选择一个存储芯片。由高位地址信号和控制信号译码产生。连到存储芯片的/CS脚。 片内译码:选择存储芯片内的存储单元。由低位地址信号产生。连到存储芯片的A0~An脚。

译码器——常用138译码器 G 1 Y7G 2A Y6G 2B Y5Y4 138 Y3C Y2B Y1A Y0 1,逻辑符号 2,功能表 G /G2A /G2B C B A /Y7 /Y6 /Y5 /Y4 /Y3 /Y2 /Y1 /Y0≠1 0 0 ××× 1 1 1 1 1 1 1 1=1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 … 1 1 1 0 1 1 1 1 1 1 1

1,全地址译码——CPU的全部地址线都参与寻址 特点:每个存储单元的地址是唯一的——无地址重叠。 片选译码:所有高位地址信号作为译码器输入,译码器输出连到存储芯片的CS脚。 片内译码:低位地址信号连到存储芯片的A0~An脚。 存储芯片上的每一个存储单元在整个内存空间具有唯一的一个地址。

例:SRAM6264(8K ×8)与8086/8088连接 片选译码:8086/8088的A19~A13作为译码器输入,译码器输出连到存储芯片的CS脚。 片内译码:8086/8088的A0~A12连到存储芯片的A0~A12脚。

微机原理期末考试题

一、单选题(共30分,共 30题,每题1 分) 1.计算机内机器数通常采用( C )形式来表示。 A、原码 B、反码 C、补码 D、ASCII码 2.组合BCD码“87H”代表的十进制真值是( B )。 A、78 B、87 C、-120 D、+120 3.若下列字符码中有奇偶校验位,但没有数据错误,那么采用偶校验的字符码是( D )。 A、B、C、D、 4.冯·诺依曼基本思想主要是提出了( A )。 A、二进制和程序存储 B、CPU和存储器 C、二进制和存储器 D、存储器和输入输出设备 5.以下叙述中,不符合RISC指令系统特点的是( B )。 A、指令长度固定,指令种类少 B、寻址方式种类丰富,指令功能尽量增强 C、选取使用频率较高的一些简单指令 D、设置大量通用寄存器,访问存储器指令简单 6.以下所列提高微机系统性能的技术,说法不正确的是( A )。 A、采用流水线结构后每条指令的执行时间明显缩短。 B、增加Cache存储器后CPU与内存交换数据的速度得到提高。 C、引入虚拟存储技术后扩大了用户可用内存空间。 D、提高主机时钟频率后加快了指令执行速度。 7.微程序控制器中,机器指令与微指令的关系是(B)。 A、每一条机器指令由一条微指令来执行 B、每一条机器指令由一段微指令编写的微程序来解释执行 C、每一条机器指令组成的程序可由一条微指令来执行 D、一条微指令由若干条机器指令组成 8.微处理器中运算器的主要功能是进行( D )。 A、逻辑运算 B、算术运算 C、更新标志位 D、以上所有 9.在分页管理的存储系统中,( D )通过地址映射表来完成虚拟地址到物理地址的转换。 A、ALU B、寄存器 C、接口 D、.MMU 10.下列因素中,与Cache的命中率无关的是( A )。 A、主存存取时间 B、块的大小 C、Cache组织方式 D、Cache容量 11.指令系统中采用不同寻址方式的目的主要是( B )。 A、实现存储程序和程序控制 B、缩短指令长度,扩大寻址空间,提高编程灵活性 C、可以直接访问外存 D、提供扩展操作码的可能并降低指令译码难度

微机原理五类常用程序

五类常用程序:传输数据求最大最小值统计正负数排序加法程序 存储器清零或置FF 1.1将1000H-1063H中的各字节内容清0(或置FFH) 1.2传输数据块 将1000H-1063H中的字节内容传递到4000H-4063H 2.找最大值最小值 从2500H-2563H中存放着数据,把其中的最大值找出来, 地址存放在3000H中 3.统计负数正数 从2100H 开始存放100个无符号数,统计有多少个正数, 多少个负数。负数个数存入2200H 4.1求1AH+02H+31H+14H+2FH+06H=??? 数据1AH、0FH 、24H、4EH、18H、2DH 放在[3000H]- [3005H]处 4.2求十进制计算 25 74 89 67 + 49 78 64 95 数据25 74 89 67放在[2400]- [2403] 数据49 78 64 95放在[2500]- [2503] 4.3将BLOCK单元开始的10个单元数相加,结果存放入BLOCK单元。若相加过程中发生溢出,停止运算,并在DL中设置溢出标志FF. 5.冒泡排序方法 5.1字节型变量V AR1、V AR2和V AR3存放有3个无符号数,将其中的内容按从大到小重新排列。 解:经重新排列后,V AR1的值最大,V AR3的值最小。由于变量中存放的数据为无符号数,因此应该采用JA、JAE、JB、JBE等指令。 编程思路:通过在三个数中找出最大值,将它与V AR1单元进行交换;然后对剩余的两个数进行比较,将较大值存放在V AR2中。汇编语言程序如下: 5.2存放在2040H-2045H中的字节数据由大到小排列

2008武汉理工大学微机原理A及答案

考试试题纸 一:选择题(每题2分,共20分) 1. 8086/8088的中断向量表( ) A:用于存放中断类型号 B:用于存放中断服务程序入口地址 C:是中断服务程序的入口 D:是中断服务程序的返回地址2. PC机中的硬中断服务程序执行的是:( )。 A:外部中断请求CPU完成的任务 B:主程序中安排的中断指令 C:主程序中安排的转移指令 D:主程序中安排的调用指令 3. 在8086/8088中,一个最基本的总线周期由4个时钟周期(T状态)组成,在T1状态,CPU在总线发出( )信息. A:数据 B:状态 C:地址 D:其他 4. 8位补码操作数"10010011"等值扩展为16位,其机器数为( ) A:1111111110010011 B:0000000010010011 C:1000000010010011 D:1000000010010100 5. 计算机的存储器采用分级存储体系的主要目的是()。 A:便于读写数据 B:减小机箱的体积 C:便于系统升级 D:解决存储容量、价格和存取速度之间的矛盾 6. 当要访问的物理地址为96FF8H的内存单元时,偏移地址允许自己确定,则段地址不可取值为:( ). A:8800H B:9000H C:96FFH D:9700H 7.下面的指令不合法的是( ). A:PUSH AL B:ADC AX,[SI] C:INT 21H D:IN AX,03H 8. 某DRAM芯片,其存储容量为512K * 8位,该芯片的地址线和数据线数目为() A:8,512 B:512,8 C:18,8 D:19,8 9. 指令IN AL,DX对I/O端口的寻址范围是( ). A:0~255 B:0~65535 C:0~1023 D:0~32767 10. 执行下面的程序段后,AL中的内容是( ). BUP DW 2152H,3416H,5731H,4684H MOV BX,OFFSET BUP MOV AL,3 XLAT A:46H B:57H C:34H D:16H 二:填空题(每题2分,共20分) 1. 用Inter2114组成4K*8bit的RAM要用______片. 2. 8259A有两种中断触发方式:_______________。 3. 假如从内存向量为0000:0080H开始存放的16个单元中存放有以下值: 21,04,35,05,29,1A,EB,4F,03,79,2B,2A,03,79,2B,2C, 则21H中断子程序的入口地址为______:_______H. 4. 设某容量为4K的RAM芯片的起始地址为2000H(16位地址),则其终止地址为____________. 5. 8255A控制字的最高位D7=_________时,表示该控制字为方式控制字。 6. 寄存器间接寻址方式中,操作数处在_________ 7. 该程序段中数据段定义如下 DATA SEGMENT STRG DB ‘I AM A TEACHER !’,‘$’ MSPA DB 2 DUP(?) NUM DB 1,2,3,4,5,6,7,8 DISP DW 2 DATA ENDS 执行下列指令段后 LEA BX,NUM ADD BX,DISP MOV AX,WORD PTR[BX] AX=______H 8. 已知IP=2000H,SP=1000H,BX=5E4H 指令CALL WORD PTR[BX]的机器代码是FF17H,试问执行指令后,(0FFEH)=____________ 9. 若定义X DW 1001H,执行MOV AH,BYPE PTR X 指令 后,(AH)=______. 10. 写出下列程序段执行后:AX=______H? MOV AX,0ABCDH MOV CL,4 AND AL,0FH ADD AL,30H SHL AH,CL AND AH,0F3H 三:简答题(每题4分,共20分) 1. 如果利用中断方式传送数据,则数据是如何传输的?中断机构起 什么作用? 2. 在8086CPU中,已知CS寄存器和IP寄存器的内容分别为如下所 示,试确定其物理地址. (1)CS=1000H IP=2000H (2)CS=2000H IP=00A0H (3)CS=1234H IP=0C00H 3. 8255各口设置如下:A组与B组均工作于方式0,A口为数输入,B 口为输出,C口高位部分为输出,低位部分为输入,A口地址设为40H. (1)写出工作方式控制字 (2)对8255A初始化 4.设有关寄存器及存储单元的内容如下: (DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H, (20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=0B 7H, (21203)=65H,试说明下列各条指令执行完后AX寄存器的内容. (1)MOV AX,1200H (2)MOV AX,[1200H] (3)MOV AX,1100[BX] (4)MOV AX,1100[BX][SI] 5.RESET信号来到以后,8088/8086系统的CS和IP分别等于多少? 四:编程题(每题10分,共20分) 1. 在当前数据段BUFFER地址下顺序存放着100个带符号字,试编写 程序找出其中最大的字,放在同一数据段地址为MAX的顺序单元中。 2.试编写程序将AL 中的两位BCD码分离,分别存放在DL和DH中。 五:硬件设计(每题10分,共20分) 1

微机原理期末考试试题及答案1分析

微型计算机原理与接口技术 一、单项选择题 (下面题只有一个答案是正确的,选择正确答案填入空白处) 1.8086CPU通过( 1 )控制线来区分是存储器访问,还是I/O访问,当CPU执行IN AL,DX指令时,该信号线为( 2 )电平。 (1) A. M/IO B. C. ALE D. N/ (2) A. 高 B. 低 C. ECL D. CMOS 2.n+1位有符号数x的补码表示范围为()。 A. -2n < x < 2n B. -2n ≤ x ≤ 2n -1 C. -2n -1 ≤ x ≤ 2n-1 D. -2n < x ≤ 2n 3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。 A. AND AL, 0FH B. AND AL, 0FOH C. OR AL, 0FH D. OR AL 0FOH 4.下列MOV指令中,不正确的指令是()。 A. MOV AX, BX B. MOV AX, [BX] C. MOV AX, CX D. MOV AX, [CX] 5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址()开始的4个存贮单元内。 A. 00017H B. 00068H C. 0005CH D. 0005EH 6.条件转移指令JNE的条件是()。 A. CF=0 B. CF=1 C. ZF=0 D. ZF=1 7. 在8086/8088 CPU中,一个最基本的总线读写周期由( C1 )时钟周期(T状态)组成,在T1状态,CPU往总线上发( B2 )信息。 ⑴ A. 1个 B. 2个 C. 4个 D. 6个 ⑵ A. 数据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是( 1 ),最大模式的特点是( 2 )。 ⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定

相关主题
文本预览
相关文档 最新文档