文档库 最新最全的文档下载
当前位置:文档库 › 微机原理与接口技术3指令系统和寻址方式

微机原理与接口技术3指令系统和寻址方式

微机原理与接口技术3指令系统和寻址方式
微机原理与接口技术3指令系统和寻址方式

操作码:指令。操作数:描述该指令的操作对象,存放在指令的地址码字段中;存放在寄 存器中;存放在存储器的数据段、堆栈段或附加数据段中。与对 应的三种操作数是:立即操作数、寄存器操作数和存储器操作数。 ①寻址方式:确定操作数存放地址的方法。

1)立即寻址方式:操作数直接给出,即数字表达式。(不需要访问存储器)。

说明:立即数可为8位,可位16位;只能为整数;只能做源操作数。

2)寄存器寻址方式:操作数在CPU 内部的寄存器中,指令中给出寄存器名。

说明:寄存器为16位(AX,BX,CX,DX,SI,DI,SP,BP)

8位(AH,AL,BH,BL,CH,CL,DH,DL);

源操作数和目的操作数都(同时)可以使用寄存器寻址。

3)存储器寻址:操作数在存储器中。

3)(1直接寻址方式:存储单元的有效地址由指令直接给出。

说明:默认的段寄存器DS ,如果不是,则需要用前缀指出 如MOV BX ,EX:[3100H]

3)(2寄存器间接寻址方式:存储单元的有效地址在寄存器中。

说明:寄存器可为基址寄存器(BX,BP),变址寄存器(SI,DI); 默认的段寄存器位DS,当寄存器为BP 时,段寄存器为SS 。

3)(3寄存器相对寻址方式:操作数的偏移地址是指定寄存器与一个整数之和。

3)(4基址变址寻址:操作数的偏移地址是两个指定寄存器的值之和。

3)(相对基址变址寻址方式:操作数的偏移地址是指定寄存器的值与相对偏移量 之和

②对操作数的说明:

立即操作数:(1)只能做源操作数

(2)指令中的立即操作数不应超过其8位或16位的取值范围

MOV AL, 100H ,错误,应该为MOV AX ,100H

寄存器操作数:(1)存放在通用寄存器(AX-DX ),地址指针(IP )或变址寄存器

(SI,DI),以及段寄存器(SS,DS )

存储器操作数:(1)存储器操作数可以作为源操作数,也可以作为目的操作数,

(2)多数指令不允许源操作数、目的操作数同时为存储器操作数。 ③8088/8086CPU 的指令系统:【{********}:表示汇编格式】

1)数据传送指令:

(1)通用传送指令

指令格式 目的操作数 源操作数 操作码 MOV PUSH POP PUSHF POPF XCHG 操作功能 数据传送

入栈 出栈 标志压栈 标志出栈 交换

1、最基本的传送指令:{MOV 目的操作数 源操作数}

目的操作数←源操作数

说明:1:不能将立即数直接传送给段寄存器

2:两个段寄存器之间不允许直接传送数据 3:两内存单元之间不能直接传送数据

4:CS,IP,PSW 不能做目的操作数,即值用 户无权改变

5:目的操作数不能是立即寻址方式

6:源操作数与目的操作数必须字长相等 7:MOV 指令不影响标志位

2、堆栈操作指令:PUSH 和POP(按先进后出,后进先出的原则)

{PUSH 源操作数} (压栈:

操作:(SP)←(SP)-2

((SP)+1,(SP))←操作数

{POP 目的操作数} (弹栈:

操作:操作数←((SP)+1,(SP))

(SP)←(SP)+2

说明:1:PUSH 、POP 指令的操作数不能使用立即寻 址方式。POP 指令的操作数不能使用CS 寄 存器。

2:PUSH 、POP 指令只能做字操作。

3:不影响标志位。

3、交换指令:XCHG(两者互换)

{ XCHG 目的操作数,源操作数}

说明:1:目的和源都不能为立即数或段寄存器,IP 。 2:不能同时为内存单元。

3:目的操作数和源的取值范围要相同,同为8位 或者16位。

4:不影响标志位。

(2)累加器专用传送

1、换码指令:XLAT(用于编码制的转换)

{XLAT 或XLAT 地址标号}

说明:1:内存中必须有码表。

2:不影响标志位。

2、输入/输出指令IN,OUT(16位时,端口只能放在DX 中)

1、输入指令:IN (CPU 从外设端口接收数据)

2、输出指令:OUT (CPU 向外设端口发送数据)

说明:8位:IN AL ,I/O 口地址表达式

OUT 地址表达式,AL

16位:MOV DX ,地址表达式 MOV DX ,地址表达式 实现:寄存器(d) (d)寄存器(2)

(段)

寄存器 内存

寄存器/内存 立即数

IN AX,DX OUT DX,AX (3)地址传送指令

1、偏移地址送寄存器指令:LEA(load effective address取有效地址指

令)(将内存单元的地址送到某一个寄存器中)

{ LEA 16位寄存器名,存储器寻址方式}

说明:1:16位寄存器不包括段寄存器。

2:不影响标志位。

2、指针送指定寄存器和DS寄存器指令:LDS(load pointer into register

DS取地址指针装入DS和另一个寄存器的指令)

(将4个字节的内存单元地址(一个段地址和偏移

量送到两个目的寄存器中,后2个字节送入DS)

{ LDS 16位寄存器名,存储器寻址方式}

说明:1:16位寄存器不允许是段寄存器。

2:不影响标志位。

3、指针送指定寄存器和ES寄存器指令:LES(load pointer into register

DS取地址指针装入ES和另一个寄存器的指令)

{LES 16位寄存器名,存储器寻址方式}

说明:1:16位寄存器不允许段寄存器。

2:不影响标志位。

(4)标志传送指令

1、读取标志指令:LAHF(load AH with Flags)读取标志位置AH中

{LAHF}

2、设置标志指令:SAHF(store AH onto Flags)将AH设置到A标志位

{SAHF}

3、标志入栈指令:PUSHF {PUSHF}

标志出栈指令:POPF {POPF}

2)算术运算指令:

(1)加法指令

1、不带进位位的加法指令:ADD(addition)

汇编格式:ADD 目的操作数,源操作数

执行的操作:(目的操作数)←源操作数+目的操作数

2、带进位位的加法指令:ADC(addition with carry)(实现多字节相加)

汇编格式:ADC 目的操作数,源操作数

执行的操作:(目的操作数)←源操作数+目的操作数+CF

3、增量指令:INC(increment destination by 1)

汇编格式:INC 操作数

执行的操作:(操作数)←操作数+1

说明:1:除增量指令不影响CF标志位,其他标志位均受指令影响

2:CF标志位表示无符号数有无溢出,OF标志位表示有符号

数有无溢出

(2)减法指令

1、不考虑借位的减法指令:SUB(subtract)

汇编格式:SUB 目的操作数,源操作数

执行的操作:(目的操作数)←目的操作数-源操作数

2、考虑借位的减法指令:SBB(subtract with borrow)

汇编格式:SBB 目的操作数,源操作数

执行的操作:(目的操作数)←目的操作数-源操作数-CF

3、减量指令:DEC(decrement destination by 1)

汇编格式:DEC 操作数

执行的操作:(操作数)←操作数-1

4、求补指令:NEG(negate)

汇编格式:NEG 操作数

执行的操作:(操作数)←0-操作数

5、比较指令CMP(compare two operands)

汇编格式:CMP 目的操作数,源操作数

执行的操作:目的操作数-源操作数。

说明:结果不回送,两个操作数保持原值,影响标志位。

说明:1、除DEC不影响CF标志位,其余标志位均受指令影响。

2、ZF标志位表示零标志位,SF表示符号标志位。

(3)乘法指令

1、无符号数的乘法指令:MUL(multiply accumulator by

register-or-memory;unsigned)

汇编格式:MUL 源操作数

执行的操作:若为字节操作(AX)←(AL)×源操作数

若为字操作(DX), (AX)←(AX)×源操作数

2、有符号数的乘法指令:IMUL(integer multiply accumulator by register-

or-memory;signed)

汇编格式:IMUL 源操作数

执行的操作:与MUL相同,只是处理的数据是有符号数,

而MUL处理的数据是无符号数。

说明:1:乘法指令的源操作数不能为立即寻址方式。

2:乘法指令对除CF和OF以外的标志位无定义。

(4)除法指令

1、无符号数的乘法指令:DIV(division;unsigned)

汇编格式:DIV 源操作数

执行的操作:若为字节操作:(AL)←(AX)/源操作数的商

(AH)←(AX)/源操作数的余数

若为字操作:(AX)←(DX、AX)/源操作数的商

(DX)←(DX、AX)/源操作数的余数

商和余数均为无符号数。

2、有符号数的乘法指令:IDIV(integer Division;signed)

汇编格式:IDIV 源操作数

执行的操作:与DIV相同,只是操作数是有符号数,商和余数均

为有符号数,余数符号同被除数符号。

说明:1、乘法对所有的标志位未定义。

2、源操作数的寻址方式不能为立即寻址方式。

3、除法指令可能导致的错误:①除数位0,②除法溢出。

产生除法错中断警告,优先级为0最高。

(5)符号扩展指令(正数将AH或DX清0,负数将AH或DX置1)

1、字节转换为字指令:CBW

汇编格式:CBW

执行的操作:将(AL)的符号扩展到(AH)中去。如果(AL)的最高有

效位为0,则(AH)=00H;如(AL)的最高有效位为1,

则(AH)=0FFH。

2、字转换为双字指令:CWD

汇编格式:CWD

执行的操作:将(AX)的符号扩展到(DX)中去。如果(AX)的最高

有效位为0,则(DX)=00H;如(AX)的最高有效位

为1,则(DX)=0FFH。

说明:这两条指令都不影响标志位。

(6)十进制调整指令:

1、组合BCD码的运算调整指令

加法调整指令DAA(decimal adjust for addition)

减法调整指令DAS(decimal adjust for subtraction)

汇编格式:DAA

执行的操作:调整(AL)中的二进制BCD码的和。调整方法如下:

若AF=1或者(AL)的低4位是在AH~FH之间,则

(AL) 加06H,且自动置AF=1;

若CF=1或者(AL)的高4位是在AH~FH之间,则

(AL)加60H,且自动置CF=1。

汇编格式:DAS

执行的操作:调整(AL)中的差。调整方法如下:

若AF=1,则(AL)减06H;

若CF=1,则(AL)减60H。

2、非组合BCD码调整指令

加法调整指令{AAA}

减法调整指令{AAS}

乘法调整指令{AAM}

除法调整指令{AAD}

3)逻辑运算指令和移位指令

(1)逻辑运算指令

说明:AND、OR、XOR和TEST四条指令的使用形式很相似,都是双操作数指令,操作数的寻址方式的规定与算术运算指令相同,对

标志位的影响也相同,使CF=0,OF=0,AF位无定义,SF、ZF、

PF根据运算结果设置。

1、AND逻辑与指令汇编格式:AND 目的操作数,源操作数

2、OR 逻辑或指令汇编格式:OR 目的操作数,源操作数

3、XOR逻辑异或指令汇编格式:XOR 目的操作数,源操作数

说明:置为0的位必须和“0”相“与”。

置为1的位必须和“1”相“或”。

取反的那些位与“1”相“异或”。

4、TEST 测试指令汇编格式:TEST 目的操作数,源操作数

说明:TEST指令后面可能跟一条JNZ或JZ指令,从而根据ZF的结果判断是否转移。相当于and但只改变标志位。

5、NOT 逻辑非指令汇编格式:NOT 目的操作数

说明:1)寻址方式不能为立即寻址方式。

2)本指令不影响标志位。

(2)移位指令

1、非循环移位指令

逻辑左移指令SHL(shift logic left)

汇编格式:SHL 除立即数及段寄存器之外的操作数,移位次数

逻辑右移指令SHR(shift logic right)

汇编格式:SHR 除立即数及寄存器之外的操作数,移位次数

算术左移指令SAL(shift arithmetic left)

汇编格式:SAL 除立即数及段寄存器之外的操作数,移位次数

算术右移指令SAR(shift arithmetic right)

汇编格式:SAR 除立即数及段寄存器之外的操作数,移位次数说明:1.操作数可以是寄存器或者内存单元中的8位或者16位操作数

2、逻辑移位指令把操作数看成无符号数SHL,SHR.

3、算术移位指令把操作数看成有符号数SAR,SAL.

4、SAL和SHL操作相同,以0填充最低位。

5、SAR和SHR的操作不同,SAR最高位保持不变(符号位)

SHR以0填充最高位

6、对于移位指令,只有移位次数是1时,OF才有意义,移位

后如果CF和最高位不同,OF=1;否则OF=0.

7、如果移位次数为1时可以直接由指令给出,如果移位若干次

则必须用CL寄存器预先指定所移的位数。

8、左移N位相当于乘2N,右移N位相当于除2N。

2、循环移位指令:

循环左移指令ROL(rotate left)

汇编格式:ROL 除立即数和段寄存器之外的操作数,移位次数

循环右移指令ROR(rotate right)

汇编指令:ROR 除立即数和段寄存器之外的操作数,移位次数

带进位的循环左移指令RCL(rotate through CF left)

汇编格式:RCL 除立即数和段寄存器之外的操作数,移位次数

带进位的循环右移指令RCR(rotate through CF right)

汇编格式:RCR 除立即数和段寄存器之外的操作数,移位次数说明:1:ROL,ROL不含CF循环移位指令,即8位操作数移动8

次后还原。而RCL,RCR含CF,需9次

2:如果循环移位次数为1时可以直接由指令指出,如果循

环移若干次,则必须用CL寄存器预先指定所移的位数。

3:对于循环移位指令,只有循环移位的次数为1时,OF才有

意义,循环移位后如果CF的最高位不同,OF=1,否则OF=0 4)串操作指令:

说明:1:以SI作为源操作数的指针寄存器,默认段为DS段。以DI作为目的操作数的指针寄存器,默认段为ES段。

2:串操作的地址的修改和FLAG的DF为相关,DF=0时SI和DI 增量变化,DF=1时减量变化,对字符串操作SI,DI每次变量为

±1,对字串操作每次变量为±2.

3:特例性:源操作数和目的操作数可以同时是内存单元。

(1)字符串传送指令(MOVSB/MOVSW)(move string byte/word)

(CLD指令使DF=0,STD指令使DF=1)

汇编格式1:MOVSB

汇编格式2:MOVSW

汇编格式3:MOVS 目的操作数,源操作数(2)取字符串指令LODS(load string)

(3)存字符串指令STOS (store string)

说明:重复传送:REP MOVS/LODS/STOS

(4)串比较指令:CMPS(compare string)

(5)串检索指令:SCAS(scan string )

说明:重复传送:REPE/REPZ CMPS/SCAS 找第一个不相等的元素

REPNE/REPNZ CMPS/SCAS 找第一个相等的元素

5)控制转移指令:

(1)无条件转移指令JMP

指令寻址方式:计算下一条指令地址的寻址方式。

代码段之内段内直接转移:IP=立即数+IP

段内间接转移:IP=寄存器内容或者内存单元

代码段之间段间直接转移:IP=偏移量,CS=段地址

段间间接转移:IP=[内存单元],CS=[内存单元+2]。

(2)子程序调用和返回指令CALL和RET

CALL命令执行的过程,CPU暂时不执行后续的指令,而是将CALL

指令的下一条指令地址压入堆栈,转去执行子程序,执行完子程序,再

倒叙(CS,IP入栈,IP,CS出栈)弹栈,接着执行。最后一条指令必须

是RET

(3)条件转移指令

(4)循环控制指令(控制循环是否继续,以CX 为计数器,只能使用段内直 接转移,位移量只能是8位。)

(5)中断指令和中断返回指令

程序调试中。每执行一条一句就中断一次 IF=0时执行可屏蔽中断,而非可屏蔽中断无条件遇之必中断 用于程序调试

6)处理器控制指令

(1)停止指令HLT :汇编格式:HLT

执行的操作:使CPU 处于"什么也不干"的暂停状态。

(2)无操作指令NOP :汇编格式:NOP

执行的操作:不执行任何操作。

(3)标准设置指令:

(4)交权指令ESC :汇编格式:ESC 存储器寻址方式

执行的操作:主系统启动协处理器。

(5)等待指令W AIT :汇编格式:W AIT

执行的操作:不断测试TEST 引脚。当TEST 取低 电平0时,CPU 脱离暂停状态,继续执行下一条指令

(6)总线封锁指令LOCK :也叫前缀指令,可以放在任何一条指令之前。 汇编格式:LOCK XXXX 指令

执行的操作:使引脚输出低电平信号。使CPU 独占总 线权。

中断出来程序的最后一个指令

(1):将(AX)乘以10。10=1*(2+23)

SHL AX,1

MOV BX,AX

MOV CL,2

SHL AX,CL

ADD AX,BX

(2):写一指令序列,完成将AX寄存器的最低4位置1,最高3位置0,第7,8,9,位取反,

其余位不变的操作。

OR AX,0FH

AND AX,1FFFH

XOR AX’0380H

(3)字符串指令的代码:(例题见讲义)

1:将数据段1000H开始的100个字节传送到扩展段2000H开始的单元。

MOV SI ,1000H 或者:MOV SI,1000H

MOV DI ,2000H MOV DI,2000H

MOV CX ,100 MOV CX,100

CLD CLD

KKK:MOVSB REP MOVSB

NEC CX

JNZ KKK

2:比较STR1和STR2开头的两个字符串,两个字串完全相同,则将AL置1,否则置0.

字符串长度为3.

LEA DI ,STR1

LEA SI ,STR2

CLD

MOV CX,3

PEPZ COMSB

JZ M

AND AL,0

HLT(停止)

M:AND AL,1

HLT

(4).指令操作数的7种寻址方式。

立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址

(5). 指令MOV AX,[BX+SI+6]源操作数的寻址方式( 基址变址寻址) 。

微机原理与接口技术(第三版)课本习题答案

第二章 8086体系结构与80x86CPU 1.8086CPU由哪两部分构成它们的主要功能是什么 答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处8086CPU内部的并行操作体现在哪里答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU 内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个逻辑地址呢答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。 6.8086系统中的存储器为什么要采用分段结构有什么好处 答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址

(完整版)微机原理及接口技术(习题答案)

范文范例学习指导 第1章微机运算基础 习题和思考题 1.请完成以下计算: 174.66D=(10101110.10101)B=(AE. A8)H 10101110101.01011B=(1397.344)D=(575.58)H 4BCH=(010*********)B=()BCD 2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值 是多少? 答:当X表示原码时,其真值为:+101010 当X表示补码时,其真值为:+101010 当X表示反码时,其真值为:+101010 当X表示无符号数数时,其真值为:00101010 3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出? 120+18 -33-37 -90-70 50+84 答:120+18 其补码形式分别为:(120)补=01111000 (18)补=00010010 01111000 + 00010010 10001010 由于C s=0 ,C p=1,因此有溢出,结果错误 -33-37 其补码形式为:(-33)补=11011111 (-37)补=11011011 11011111 +11011011 10111010 由于C s=1, C p=1,所以没有溢出,结果正确 -90-70 其补码形式为:(-90)补=10011100 (-70)补=10111010 10011100 +10111010 01010110 由于C s=1, C p=0,所以有溢出,结果错误 50+84

其补码形式为:(50)补=00110010 (84)补=01010100 00110010 +01010100 10000110 由于C s=0, C p=1,所以有溢出,结果错误 4.请写出下列字符串的ASCII码值。 My name is Zhang san. 4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E 第2章 80X86微机系统 习题与思考题 1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么? 答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。 各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据; 5、输出设备是CPU通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备; 2.微处理器的发展过程是什么? 答:微型计算机的发展过程是: 第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。 第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。 第三代(1965~1971)——采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。 第四代(1971~至今)——采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。 3.简述80486微处理器的基本结构。 书12页 4.80486微处理器的工作模式有几种?当CS内容为1000H,IP内容为7896H,求在实地址 模式下的物理地址为多少? 答:实模式和保护模式及虚拟8086模式。当CS内容为1000H,IP内容为7896H,在实地

寻址方式及指令系统习题与解答

寻址方式及指令系统习题与解答 计算机科学与工程学院黄洪波2012年3月 一、单项选择题 1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为()。 A.5000H B.5008H C.23008H D.32008H 2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为()。 A.13000H B.23000H C.33000H D.3000H 3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为()。 A.20200H B.30200H C.50200H D.200H 4.指令MOV MEM[BX],AX中的MEM是()。 A.原码B.反码C.补码D.移码 5.用来作为寄存器间接寻址的寄存器有()个。 A.8 B.6 C.5 D.4 6.指令MOV [BX+SI],AL中的目的操作数使用()段寄存器。 A.CS B.DS C.SS D.ES 7.指令MOV BX,[BP+5]中的源操作数使用()段寄存器。 A.CS B.DS C.SS D.ES 8.段内间接寻址只改变()中的内容。 A.CS B.IP C.CS和IP D.PSW 9.段间间接寻址只改变()中的内容。 A.CS B.IP C.CS和IP D.PSW 10.下述指令中不改变PSW的指令是()。 A.MOV AX,BX B.AND AL,0FH C.SHR BX,CL D.ADD AL,BL 11.下述指令中不影响CF的指令是()。 A.SHL AL,1 B.INC CX C.ADD [BX],AL D.SUB AX,BX 12.两个整数补码9CH和7AH相加运算后,会产生()。 A.无溢出且无进位B.无溢出但有进位

微机原理与接口技术(第二版) 清华大学出版社

习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存

放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.375)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111

微机原理与接口技术学习心得

本学期微机原理课程已经结束,关于微机课程的心得体会甚多。微机原理与接口技术作为一门专业课,虽然要求没有专业课那么高,但是却对自己今后的工作总会有一定的帮助。记得老师第一节课说学微机原理是为以后的单片机打基础,这就让我下定决心学好微机原理这门课程。 初学《微机原理与接口技术》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理与接口技术》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。 然而,事物总有两面性。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇

《微机原理与接口技术》参考答案

《微机原理与接口技术》参考答案 《微机原理与接口技术》习题参考答案习题 2 1. 为何说8086CPU是16位CPU?答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2. 8086CPU哪两个单元组成?其中,指令队列在哪个单元中,有何作用?答:总线接口单元和执行单元。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3. 8086CPU中8位寄存器和16位寄存器是什么关系?答:8086的通用寄存器包括数据寄存器、指

针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。4. 8086CPU中的IP寄存器有何用途?答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5. 在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是什么?答:有CF、PF、AF、ZF、SF、OF。它们的含义如下:CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数

微机原理与接口技术习题答案

《微机原理与接口技术》习题答案 一、单项选择题 1、80486CPU进行算术和逻辑运算时,可处理的信息的长度为( D )。 A、32位 B、16位 C、8位 D、都可以 2、在下面关于微处理器的叙述中,错误的是( C ) 。 A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片 B、一台计算机的CPU含有1个或多个微处理器 C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分 D、不同型号的CPU可能具有不同的机器指令 3、若用MB作为PC机主存容量的计量单位,1MB等于( B )字节。 A、210个字节 B、220个字节 C、230个字节 D、240个字节 4、运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为( D )。 A、两个整数相加,若最高位(符号位)有进位,则一定发生溢出 B、两个整数相加,若结果的符号位为0,则一定发生溢出 C、两个整数相加,若结果的符号位为1,则一定发生溢出 D、两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出 5、运算器的主要功能是( C )。 A、算术运算 B、逻辑运算 C、算术运算与逻辑运算 D、函数运算 6、指令ADD CX,55H[BP]的源操作数的寻址方式是(D )。 A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、寄存器相对寻址 7、设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=(A ) A、113AH B、114AH C、1144H D、1140H 8、若SI=0053H,BP=0054H,执行SUB SI,BP后,则( C)。 A、CF=0,OF=0 B、CF=0,OF=1 C、CF=1,OF=0 D、CF=1,OF=1 9、已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=(D ) 。 A、0102H B、0201H C、245AH D、5A24H 10、实模式下80486CPU对指令的寻址由(A )决定。 A、CS,IP B、DS,IP C、SS,IP D、ES,IP 11、使用80486汇编语言的伪操作指令定义: VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则

第六章_寻址方式和指令系统

1

第 6章 寻址方式和汇编指令 第6章
6.1、寻址方式 6.2、汇编语言指令集 6.3、汇编源程序

第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
▲ 汇编指令是可执行指令,每条指令对应一条机器 码,用以控制处理器中的执行部件进行各种操 作。 ▲ TMS320F281X系列的汇编指令有150多条。 ▲ 它们支持各种信号处理运算,同时也提供了应用 中所需要的多级处理和过程控制功能。 ▲ 寻址方式是指寻找指令中操作数地址的方式。

第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
TMS320C28x指令集采用7种存储器寻址方式: ▲ 直接寻址方式 ▲ 堆栈寻址方式 ▲ 间接寻址方式 ▲ 寄存器寻址方式 ▲ 数据/程序/IO空间立即寻址方式 ▲ 程序空间间接寻址 ▲ 字节寻址方式

第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
F2812 的大多数指令利用操作码中的8位字段来选择寻 址方式和对寻址方式进行修改.在 F2812 指令系统中,这个8 位字段用于以下寻址方式: (1)loc16 。 为16位数据访问选择直接/堆栈/间接/寄存器寻址方
式。
(2)loc32 。 为32位数据访问选择直接/堆栈/间接/寄存器寻址方
式。
以上7种寻址方式都与“loc16/loc32”组合起来使用。

第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
寻址方式选择位
由 于 F2812 提 供 了 多 种 寻 址 方 式 , 因 此 用 寻 址 方 式 选 择 位 ( AMODE )来选择8位字段( loc16/loc32 )的解码。该 位属于状态寄存器ST1。寻址方式可以大致归类如下: ▲ AMODE=0——该方式是复位后的默认方式,也是F2812的C/C++编译
器使用的方式。这种方式与C2xLP CPU的寻址方式不完全兼容。数据页指针 偏移量是6位(在C2xLP CPU中是7位),并且不支持所有的间接寻址方式。
▲ AMODE=1——该方式包括的寻址方式完全与C2xLP 器件的寻址方式
兼容。数据页指针的偏移量是7位并支持所有C2xLP 支持的间接寻址方式。
对与loc16或者loc32字段,其可用的寻址方式总结如P375所示

微机原理与接口技术期末考试试题及答案

微机原理与接口技术期末考试题库 1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。 2.什么是微机的总线,分为哪三组? 答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线。 3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什 么? 答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU 与存储器或IO设备之间的数据传送。执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接 口部件进行算术运算。 4.8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。 5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对 20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?

答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令 的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。 7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址 为多少? 答:偏移地址为54100H。(物理地址=段地址*16+偏移地址) 8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意 义各是什么? 答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。其意思是用来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的指令来设置的,以控制指令的操作方式。 9.8086CPU的AD0~AD15是什么引脚? 答:数据与地址引脚 10.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么?

微机原理与接口技术

第二章 8086系统结构 一、 8086CPU 的内部结构 1.总线接口部件BIU (Bus Interface Unit ) 组成:20位地址加法器,专用寄存器组,6字节指令队列,总线控制电路。 作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作 数送EU 单元去执行。 工作过程:由段寄存器与IP 形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。 *当指令队列有2个或2个以上的字节空余时,BIU 自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU 重新取新地址中的指令代码,送入指令队列。 *指令指针IP 由BIU 自动修改,IP 总是指向下一条将要执行指令的地址。 2.指令执行部件EU (Exection Unit) 组成:算术逻辑单元(ALU ),标志寄存器(FR ),通用寄存器,EU 控制系统等。 作用:负责指令的执行,完成指令的操作。 工作过程:从队列中取得指令,进行译码,根据指令要求向EU 内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O 端口,则EU 将操作数的偏移地址送给BIU ,由BIU 取得操作数送给EU 。 二、 8088/8086的寄存器结构 标志寄存器 ALU DI DH SP SI BP DL AL AH BL BH CL CH ES SS DS CS 内部暂存器输入 / 输出控制 电路1432EU 控制系 统20位16位8086总线指令 队列总线 接口单元执行 单元 6 516位 属第三代微处理器 运算能力: 数据总线:DB

微机原理与接口技术知识点总结整理

《微机原理与接口技术》复习参考资料 第一章概述 一、计算机中的数制 1、无符号数的表示方法: (1)十进制计数的表示法 特点:以十为底,逢十进一; 共有0-9十个数字符号。 (2)二进制计数表示方法: 特点:以2为底,逢2进位; 只有0和1两个符号。 (3)十六进制数的表示法: 特点:以16为底,逢16进位; 有0--9及A—F(表示10~15)共16个数字符号。 2、各种数制之间的转换 (1)非十进制数到十进制数的转换 按相应进位计数制的权表达式展开,再按十进制求和。(见书本1.2.3,1.2.4)(2)十进制数制转换为二进制数制 ●十进制→二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。 ●十进制→十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。 以小数点为起点求得整数和小数的各个位。 (3)二进制与十六进制数之间的转换 用4位二进制数表示1位十六进制数 3、无符号数二进制的运算(见教材P5) 4、二进制数的逻辑运算 特点:按位运算,无进借位 (1)与运算 只有A、B变量皆为1时,与运算的结果就是1 (2)或运算 A、B变量中,只要有一个为1,或运算的结果就是1 (3)非运算 (4)异或运算 A、B两个变量只要不同,异或运算的结果就是1 二、计算机中的码制 1、对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作[X]原,反码记作[X]反,补码记作[X]补。

注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。 (1)原码 定义: 符号位:0表示正,1表示负; 数值位:真值的绝对值。 注意:数0的原码不唯一 (2)反码 定义: 若X>0 ,则[X]反=[X]原 若X<0,则[X]反= 对应原码的符号位不变,数值部分按位求反 注意:数0的反码也不唯一 (3)补码 定义: 若X>0,则[X]补= [X]反= [X]原 若X<0,则[X]补= [X]反+1 注意:机器字长为8时,数0的补码唯一,同为00000000 2、8位二进制的表示范围: 原码:-127~+127 反码:-127~+127 补码:-128~+127 3、特殊数10000000 ●该数在原码中定义为:-0 ●在反码中定义为:-127 ●在补码中定义为:-128 ●对无符号数:(10000000)2= 128 三、信息的编码 1、十进制数的二进制数编码 用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。(1)压缩BCD码的每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数。 (2)非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的0000~1001表示0~9 2、字符的编码 计算机采用7位二进制代码对字符进行编码 (1)数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。

微机原理与接口技术试题库(含答案)汇总

一、问答题 1、下列字符表示成相应的ASCII码是多少? (1)换行0AH (2)字母“Q”51H (3)空格20H 2、下列各机器数所表示数的范围是多少? (1)8位二进制无符号定点整数; 0~255 (2)8位二进制无符号定点小数;0.996094 (3)16位二进制无符号定点整数;0~65535 (4)用补码表示的16位二进制有符号整数;-32768~32767 3、(111)X=273,基数X=?16 4、有一个二进制小数X=0.X1X2X3X4X5X6 (1)若使X≥1/2,则X1……X6应满足什么条件? X1=1 若使X>1/8,则X1……X6应满足什么条件?X1∨X2 ∨X3=1 (2) 5、有两个二进制数X=01101010,Y=10001100,试比较它们的大小。 (1)X和Y两个数均为无符号数;X>Y (2)X和Y两个数均为有符号的补码数。X

寻址方式和指令系统

《微机原理》复习思考题第3章 8086的寻址方式和指令系统 3.1 8086汇编语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快? 3.2 直接寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如果要用某个段 寄存器指出段地址,指令中应如何表示? 3.3 在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么,段地址如何确定? 3.4 用寄存器间接寻址方式时,BX,BP,SI,DI分别针对什么情况来使用?这四个寄存器组合 间接寻址时,地址是怎样计算的?举例进行说明。 3.5 设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下面两条指令所进行的具体操作: MOV BYTE PTR [BP], 2000 MOV WORD PTR [BX], 2000 3.6 使用堆栈操作指令时要注意什么问题?传送指令和交换指令在涉及内容操作数时分别要注 意什么问题? 3.7 下面这些指令中哪些是正确的?哪些是错误的?如果是错误的,请说明原因。 XCHG CS, AX MOV [BX], [1000] XCHG BX, IP PUSH CS POP CS IN BX, DX MOV BYTE[BX], 1000 MOV CS, [1000] 3.8 8086系统中,当对SS和SP寄存器的值进行修改时,有什么特殊规定?这样做的原因是什么?[解答] 凡是遇到给SS寄存器赋值的传送指令时,系统会自动禁止外部中断,等到本条指令和下条指令执行之后,又自动恢复对SS寄存器赋值前的中断开放情况。这样做是为了允许程序员连续用两条指令分别对SS和SP寄存器赋值,同时又防止堆栈空间变动过程中出现中断。 3.9 以下是格雷码的编码表 0——0000 1——0001 2——0011 3——0010 4——0110 5——0111 6——0101 7——0100 8——1100 9——1101 请用换码指令和其他指令设计一个程序段,实现格雷码往ASCII的转换。 3.10 用加法指令设计一个简单程序,实现两个16位十进制数的加法,结果放在被加数单元。 3.11 为什么用增量指令或减量指令设计程序时,在这类指令后面不用进位标志CF作为判断依 据?

微机原理与接口技术

微机原理及接口技术 第一部分客观题 一、单项选择题(每小题2分,共10分) 1. 寄存器ECX勺低16位部分可以用 ____________ 达。 A EX B CX C CH D CL 2. 8086处理器执行“ OUT DX,AL指令时,AL的数据出现在_____________ 输出给外设。 A控制总线B地址总线C电源和地线D 数据总线 3. 与DRAM目比,SRAM勺特点是___________ 。 A集成度高、存取周期长B集成度低、存取周期长 C集成度高、存取周期短D集成度低、存取周期短 4. 使用语句“ var dword 3721 ”定义的变量var在主存占用___________ 字节存储空间。 A 1 B 2 C 4 D 8 5. 用8K>8结构SRAM芯片构成64000H H6FFFFH地址范围的存储器,需要使用__________ 。 A 4 B 6 C 8 D 10 二、对错判断题(每小题2分,共10分)(说明:正确的选“ A ,错误选“ B” 6. IA-32 处理器设置的中断标志IF = 0是关中断,表示禁止内部中断和外部中断的所有中断请求。X

7. 已知var是一个变量,语句“ add esi,byte ptr var ”没有语法错误。X 8. DMA传输由DMA控制器控制,无需处理器执行I/O指令。V 9. 高性能计算机中常使用Cache (高速缓冲存储器)提高主存性能。V 10. 向某个I/O端口写入一个数据,一定可以从该I/O端口读回这个数据。V 第二部分主观题 一、填空题(每空2分,共10分) 1. 8086处理器引脚有3个最基本的读写控制信号,它们是M/IO*,—RD* __________ 和____ /R* ______ 。 2. 逻辑地址由—段基地址_________ 口偏移地址两部分组成。代码段中下一条要执行的指令由CS和 _____ 指针IP ____ 寄存器指示,后者在实地址模型中起作用 的仅有_____ 指针 ____ 寄存器部分。 二、问答题(每小题6分,共30分) 1. 什么是JMP指令的近(near)转移和远(far )转移? jmp指令的近转移是指在同一个段里面的转移,也叫做段内近转移,用汇编编码就是这样的jmp near ptr标号 jmp指令的远转移是指段与段之间的转移,就是说不在同一个段的转移,用汇编编码就是这样的jmp far ptr 标号 2. 什么是存储访问的局部性原理,它分成哪两个方面的局部性? 程序局部性原理:虚拟存储管理的效率与程序局部性程序有很大关系。根据统计,进程运行时,在一段时间内,其程序的执行往往呈现岀高度的局限性,包括时间局部性和空间局部性。 1、时间局部性:是指若一条指令被执行,则在不久的将来,它可能再被执行。 2、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。

《微机原理与接口技术》参考答案完整版

《微机原理与接口技术》习题参考答案 习题2 1.为何说8086CPU是16位CPU? 答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2.8086CPU由哪两个单元组成?其中,指令队列在哪个单元中,有何作用? 答:总线接口单元(Bus Interface Unit,BIU)和执行单元(Execution Unit,EU)。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3.8086CPU中8位寄存器和16位寄存器是什么关系? 答:8086的通用寄存器包括数据寄存器、指针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。 4.8086CPU中的IP寄存器有何用途? 答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5.在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是 什么? 答:有CF、PF、AF、ZF、SF、OF。它们的含义如下: CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。 PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数中“1”的个数为偶数时PF=1,否则PF=0。 AF:辅助进位标志。在字节运算时,由低半字节(字节的低4位)向高半字节有进位或借位时,AF=1,否则AF=0。 ZF:零标志。运算结果为零时ZF=1,否则ZF=0。 SF:符号标志。它记录运算结果的最高位,即由符号数的符号。 OF:溢出标志。在运算过程中,如果运算结果已经超出了机器能表示的数值范围(指有符号数)称为溢出,此时OF=1,否则OF=0。 6.分别完成下面的8位运算,并说明各主要标志位的状态,以及结果是否产生溢出(提 示:需要分为有符号数和无符号数两种情况)。

微机原理与接口技术复习资料(概念)

1、微处理器(CPU)由运算器、控制器、寄存器组三部分组成。 2、运算器由算术逻辑单元ALU、通用或专用寄存器组及内部总线三部分组成。 3、控制器的功能有指令控制、时序控制、操作控制,控制器内部由程序计数器PC、指令寄存器IR、指令译码器ID、时 序控制部件以及微操作控制部件(核心)组成。 4、8088与存储器和I/O接口进行数据传输的外部数据总线宽度为8位,而8086的数据总线空度为16位。除此之外,两 者几乎没有任何差别。 5、在程序执行过程中,CPU总是有规律的执行以下步骤:a从存储器中取出下一条指令b指令译码c如果指令需要,从 存储器中读取操作数d执行指令e如果需要,将结果写入存储器。 6、8088/8086将上述步骤分配给了两个独立的部件:执行单元EU、总线接口单元BIU。EU作用:负责分析指令(指令 译码)和执行指令、暂存中间运算结果并保留结果的特征,它由算数逻辑单元(运算器)ALU、通用寄存器、标志寄存器、EU控制电路组成。BIU作用:负责取指令、取操作、写结果,它由段寄存器、指令指针寄存器、指令队列、地址加法器、总线控制逻辑组成。 7、8088/8086CPU的内部结构都是16位的,即内部寄存器只能存放16位二进制码,内部总线也只能传送16位二进制码。 8、为了尽可能地提高系统管理(寻址)内存的能力,8088/8086采用了分段管理的方法,将内存地址空间分为了多个逻辑

段,每个逻辑段最大为64K个单元,段内每个单元的地址长度为16位。 9、8088/8086系统中,内存每个单元的地址都有两部分组成,即段地址和段内偏移地址。 10、8088/8086CPU都是具有40条引出线的集成电路芯片,采用双列直插式封装,当MN/MX=1时,8088/8086工作在最 小模式,当MN/MX=0时,8088/8086工作在最大模式。 11、8088/8086 CPU内部共有14个16位寄存器。按其功能可分为三大类,即通用寄存器(8个)、段寄存器(4个)、控制 寄存器(2个)。 12、8088/8086有20条地址线,可寻址的最大物理内存容量为1MB(2的20次幂),其中任何一个内存单元都有一个20 位的地址,称为物理地址。 13、逻辑地址指段基地址和段内偏移地址。物理地址=段基址*16+段内偏移地址 14、存储器可分为程序段和堆栈段两类。前者用来存放程序的指令代码,后者用来传递参数、保存数据和状态信息。 15、时序可分为两种不同的粒度:时钟周期和总线周期。 16、80386采用32位结构,能寻址的物理空间为4GB(2的32次幂)。最大数据传输率位32MB/s,具有自动切换数据总线 宽度的功能。具有3种工作方式:实地址方式、保护方式、虚拟8086方式。总线周期只有2个时钟。 17、80386内部结构由3部分组成:总线接口部件(BIU)、中央处理部件(CPU)、存储器管理部件(MMU)。其中CPU

微机原理与接口技术_期末考试试题

1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。2.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对20位地址的寻址?完成 逻辑地址到物理地址转换的部件是什么? 答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU 寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 3.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意义各是什么? 答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。其意思是用来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的指令来设置的,以控制指令的操作方式。 4.8086CPU的AD0~AD15是什么引脚?答:数据与地址引脚 5.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么? 答:INTR是可屏蔽请求信号,INTA中断响应信号,NMI是不可屏蔽中断请求信号,ALE 是地址锁存允许信号,HOLD总线请求信号,HLDA总线请求响应信号。 6.虚拟存储器有哪两部分组成?答:有主存储器和辅助存储器。 7.在80x86中,什么是逻辑地址、线性地址、物理地址?答:线性地址是连续的不分段的 地址;逻辑地址是由程序提供的地址;物理地址是内存单元的实际地址。 8.若用4K*1位的RAM芯片组成8K*8为的存储器,需要多少芯片?A19—A0地址线 中哪些参与片内寻址,哪些用做芯片组的片选信号? 答:需要16片芯片;其中A11-A0参与片内寻址;A12做芯片组的片选信号。 9.若系统分别使用512K*8、1K*4、16K*8、64K*1的RAM,各需要多少条地 址线进行寻址,各需要多少条数据线? 答:512K*8需要19条地址线,8条数据线。1K*4需要10条地址线,4条数据线。16K*8需要14条地址线,8条数据线。64K*1需要14条地址线,1条数据线。 10.一般的I/O接口电路有哪四种寄存器,它们各自的作用是什么? 答:数据输入寄存器,数据输入寄存器,状态寄存器和控制寄存器。数据端口能对传送数据提供缓冲,隔离,寄存的作用;状态寄存器用来保存外设或接口的状态;控制寄存器用来寄存CPU通过数据总线发来的命令。 11.8086最多可有多少级中断?按照产生中断的方法分为哪两大类?答:有8级;按照产生中 断的方法可分为硬件中断和软件中断。 12.什么是中断?什么是中断向量?中断向量表的地址范围? 13.答:中断就是CPU在执行当前程序时由于内外部事件引起CPU暂时停止当前正在执行 的程序而转向执行请求CPU暂时停止的内外部事件的服务程序,该程序处理完后又返回继续执行被停止的程序;中断向量是中断处理子程序的入口地址;地址范围是 00000H-003FFH。 14.中断向量表的功能是什么?若中断向量号分别为1AH和20H,则它们的中断向量在中断 向量表的什么位置上?答:中断向量表的功能是当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入相应的中断服务子程序。1AH在中断向量表的位置是1AH*4=68H在中断向量表0000:0068处;20H在中断向量表的位置是80H在中断向量表0000:0080处。 15.通常,解决中断优先级的方法有哪几种?答:3种,软件查询确定优先级,硬件优先级排队电路确定优先级,具体中断屏蔽的接口电路。 16.简述中断控制器8259A的内部结构和主要功能。

相关文档
相关文档 最新文档