微机原理 第四章 微型计算机指令系统

合集下载

微型计算机原理-第4章(4)微机原理与接口技术(第三版)(王忠民)

微型计算机原理-第4章(4)微机原理与接口技术(第三版)(王忠民)

第四章 80x86 指令系统—累加器专用指令
⑴ 输入指令 ①直接寻址的输入指令 指令格式及操作:
IN acc, port ;(acc) ←(port)
②间接寻址的输入指令
指令格式及操作:
IN acc, DX
;(acc) ←((DX))
第四章 80x86 指令系统—累加器专用指令
⑵ 输出指令
①直接寻址的输出指令 指令格式及操作:
第四章 80x86 指令系统—通用数据传送指令
说明: *堆栈按后进先出原则组织。 *堆栈操作以字为单位进行。 *目的操作数dst不可以是CS。 *指令中的操作数不能是立即数。
第四章 80x86 指令系统—通用数据传送指令
例:已知(AX)=1234H,(BX)=5678H,分析下面程序段的执 行过程。
REG <=> REG/MEM • 段寄存器的内容不能参加交换
例: XCHG BX,[BP+SI]
第四章 80x86 指令系统—累加器专用指令
(二) 累加器专用指令 这类指令中的一个操作数必须是累加器。累加器操作数可以 是8位的,也可以是16位的。
第四章 80x86 指令系统—累加器专用指令 1.输入/输出指令
DI 1234H DS 4000H
DM
34H 2130H 12H 00H 2132H 40H
第四章 80x86 指令系统—地址传送指令
3. 地址指针装入ES指令 指令格式:
LES reg16, mem32 此指令的功能是将源操作数所对应的双字长的内存单元中的高 字内容(一般为16位段基址)送入ES,低字内容(一般为偏移地址) 送入指令所指定的寄存器中。例如:
LES DI, [2130H]
DI 1234H ES 4000H

微型计算机原理课后答案

微型计算机原理课后答案

微机原理第一章1.计算机按其使用的逻辑元件的不同被分为哪几代?微型计算机是哪一代计算机的分支?答:电子管计算机、晶体管计算机、集成电路计算机和大规模、超大规模集成电路计算机。

微型计算机属于第四代计算机的分支。

2. 简述冯·诺依曼计算机体系结构的基本思想。

答:冯·诺伊曼基本设计思想为:①以二进制形式表示指令和数据。

②程序和数据事先存放在存储器中,计算机在工作时能够高速地从存储器中取出指令并加以执行。

③由运算器、控制器、存储器、输入和输出设备等五大部件组成计算机系统。

3.微型计算机系统由哪几部分组成:答: 微机系统分硬件和软件,硬件包括CPU、存储器、输入输出设备和输入输出借口,软件包括软件系统和应用软件。

6.何谓总线?有哪几类?作用如何?答:总线是计算机中各功能部件间传送信息的公共通道。

根据所传送的信息的内容与作用不同,总线可分为三类:地址总线、数据总线、控制总线。

这三类总线作用为计算机各功能部件间传送地址、数据、控制信息的。

8.存储器读写操作的不同点?答:①读操作:由CPU发出的读命令控制。

写操作:由CPU发出的写命令控制。

②读操作:把数据从内存中读出来,放到DB上。

写操作:把DB上的内容,写入到存储器中。

第二章计算机中的数值和编码1、将十进制数转换为二进制和十六进制(1) 129.75=1000 0001.11B=81.CH(2) 218.8125=1101 1010.1101B=DA.DH(3) 15.625=1111.101B=F.AH(4) 47.15625=10 1111.0010 1B=2F.28 H2、将下列二进制数转换为十进制和十六进制(1) 111010 B=58 =3A H(2) 1011 1100.111B= 188.875= BC.E H(3) 0.1101 1B=0.84375 =0.D8H(4) 11110.01 B=30.25 =1E.4H3、完成下列二进制数的加减法运算(1) 1001.11+100.01=1110.00(2) 1101010110.1001-01100001.0011=01110101.0110(3) 00111101+10111011=11111000 (4) 01011101.0110-101101.1011=101111.10114、完成下列十六进制数的加减法运算(1) 745CH+56DFH=D14B H (2) ABF.8H-EF6.AH=9C28.E H(3) 12AB.F7+3CD.05=1678 .FC H(4) 6F01H-EFD8H=7F29 H5、计算下列表达式的值(1) 128.8125+10110101.1011B+1F.2H=101010101.1010B(2) 287.68-10101010.11H+8E.EH=103.CEH(3) 18.9+1010.1101B+12.6H-1011.1001=36.5256、选取字长n为8位和16位两种情况,求下列十进制数的补码。

第4章(1)微机原理与接口技术(第三版)(王忠民)

第4章(1)微机原理与接口技术(第三版)(王忠民)

第四章 80x86 指令系统—立即数寻址方式
MOV AX, 1234H
程序存储器
AH AL
12H 34H 操作码字节 指
34H 令
12H

第四章 80x86 指令系统—寄存器寻址方式
2)寄存器寻址方式 操作数存放在CPU的内部寄存器reg中:
8位寄存器r8: AH、AL、BH、BL、CH、CL、DH、DL 16位寄存器r16: AX、BX、CX、DX、SI、DI、BP、SP 4个段寄存器seg: CS、DS、SS、ES
微机原理与接口技术
西安邮电大学计算机学院 宁晓菊
第四章 80x86 指令系统(第一讲)
第一章 微型计算机系统导论(第一讲)
本章主要内容
1 80x86指令的寻址方式(3讲) 2 80x86指令系统(5讲)
第四章 80x86 指令系统(第一讲)
第一章 微型计算机系统导论(第一讲)
本讲主要内容
1 寻址方式概述 2 数据寻址方式之一:
80 21H
操作码

21H

AL

80
第四章 80x86 指令系统—I/O端口寻址方式
⑵ 间接端口寻址方式 MOV DX, 1234H OUT DX, AL
I/O接口 0001H
DX
12
34
0002H
……
AL
80 1234H
80
Thank you!
感谢
谢谢,精品课件 资料搜集
第四章 80x86 指令系统—立即数寻址方式
1)立即数寻址方式 指令中的操作数直接存放在机器代码中,紧跟在操
作码之后(操作数作为指令的一部分存放在操作码 之后的主存单元中)

微机原理第四章习题及答案

微机原理第四章习题及答案

第四章8086/8088指令系统一、选择题1、在数据传送指令中要注意:立即数只能作为( A )。

A.源操作数B.源操作数或目的操作数C.目的操作数D.源操作数和目的操作数2、对堆栈进行存取操作时需遵守的原则是( B )。

A.先进先出B.先进后出C.任意顺序D.以上都不对3、MOV AX,[BP+SI]指令源操作数隐含的段地址为( D )。

A.CS B.DS C.ES D.SS4、堆栈指针SP的作用是用来指示( C )。

A.栈底地址B.下一条要执行指令的地址C.栈顶地址D.上一条要执行指令的地址5、在指令MOV AX,0执行后,CPU状态标志位ZF的取值( D )。

A.为0 B.为1 C.不确定D.没影响6、下列寄存器组中,全部用于寄存器间接寻址方式中的为( C )。

A.AX,BX,CX,IP B.BX,BP,DS,SIC.BP,BX,SI,DI D.IP,SP,AX,BX7、若8086 CPU工作于最小方式,则执行指令OUT DX,AL时其引脚信号M /IO和DT/R的电平应是( B )。

A.低,低B.低,高C.高,低D.高,高8、执行指令MOV AX,DATA后,AX中值为变量DATA的( D )。

A.段值B.偏移量值C.数据类型值D.地址DATA单元中的值9、下列指令中,不正确的指令是。

( D )A.MOV AX,BX B.MOV AX,[BX]C.MOV AL,BL D.MOV AL,[BL]10、8086CPU在执行MOV AL,[BX]指令的总线周期内,若BX存放的内容为1010H,则BHE和A0的状态是( C )。

A.0,0 B.0,1C.1,0 D.1,111、若DF=1,执行串操作指令MOVSW时,地址指针变化方式是( D )。

A.SI=SI + 1,DI = DI + 1B.SI = SI + 2,DI = DI + 2C.SI = SI-1,DI = DI-1D.SI = SI-2,DI = DI-212、条件转移指令JNE的条件是( C )。

微机原理第04章(指令系统)3

微机原理第04章(指令系统)3

ASSUME CS:CODESG, DS:DATA SG START: …
CALL subp…Biblioteka RETMAINENDP
段内间接调用:
第4章:例4.17 求较大值
cmp ax,bx ;比较AX和BX jae next ;若AX≥BX,转移 xchg ax,bx ;若AX<BX,交换 next: mov wmax,ax
如果AX和BX存放的是有符号数, 则条件转移指令应采用JGE指令
第4章:例4.17 求较大值(另解)
cmp ax,bx ;比较AX和BX jae next mov wmax, bx ;若AX<BX,wmax←BX jmp done next: mov wmax,ax ;若AX≥BX,wmax←AX done: ……
相对寻址方式
用标号表达
指令代码中提供目的地址相对于当前IP的位移 量,转移到的目的地址(转移后的IP值)就是 当前IP值加上位移量
直接寻址方式
用标号表达
指令代码中提供目的逻辑地址,转移后的CS和 IP值直接来自指令操作码后的目的地址操作数
间接寻址方式
用寄存器或存储器操作数表达
指令代码中指示寄存器或存储单元,目的地址 从寄存器或存储单元中间接获得
inc di loop again
;循环条件判定:循环次数减1,不为0转移(循环)
第4章:例4.18 数据块传送(字)
mov cx,200h
;设置循环次数:1K÷2=200H
mov si,offset sbuf
;设置循环初值:SI指向数据段源缓冲区开始
mov di,offset dbuf again:
第4章:4.2.7.2 条件转移指令
条件转移指令Jcc根据指定的条件确定程序 是否发生转移。其通用格式为:

微型计算机指令系统

微型计算机指令系统

例:已知:(DS)=2100H,(DI)=2000H
指令: MOV AX,[DI] ;(AX)
物理地址=(DS) * 16 + (DI)
((DI))
=2100H * 16 + 2000H
=21000H + 2000H
=23000H
指令结果:将23000H单元内容送AL中,
将23001H单元内容送AH中。
3、1 8086/8088的寻址方式
本章主要介绍8086/8088的指令系统以及在指令中为 取得操作数地址所使用的寻址方式。
汇编指令:
操作码 操作数
操作码:指令操作类型; 操作数:指令所需操作数或操作数的地址;操作数可以 有一个,也可以有两个,一个源操作数,一个目的操作 数。 例: MOV AX,CX ;将CX的内容送入AX中。
5、相对基址变址寻址方式
操作数在存储器内,指令将基址寄存器(BX或BP)与 变址寄存器(SI或DI)的内容之和再加上位移量(8位 或16位),得到操作数所在单元的有效地址。
有效地址=
(BX)
(BP)
+
(SI)
DISP8
+
(DI)
DISP16
物理地址 = (DS)* 16 +(BX)产生的有效地址
物理地址 = (SS)* 16 +(BP)产生的有效地址
AA
AA 间接寻址 BB AX
0001
AH
AL
操作数在存储器中,指令中寄存器内容作为操作数所在 单元的有效地址。
(BX) 有效地址 =
(SI)
(DI)
段寄存器为DS 段寄存器为SS
(BP) 物理地址计算方法:
物理地址 = (DS)* 16 + (BX)或(SI)或(DI) 物理地址 = (SS)* 16 + (BP)

微机原理及接口技术-第4章-指令系统

微机原理及接口技术-第4章-指令系统

IN
AL, DX
第4章
指令系统
计算机原理与汇编语言程序设计
实验指导书 李志民编著
中南大学信息科学与工程学院自动化所
第4章
指令系统
指令的机器码(machine code)表示方法
一、机器语言指令的编码目的和特点 1、机器语言指令 汇编语言 流程序
用符号指令编写的程序
经过汇编 程序
相当于解释
机器语言 程序
D15~D10位: 6为操作码(规定说明指令的功能)
D9位(D位):规定数据的传送方向(direction)
D=1-数据传送到寄存器(或存储器)
D=0-数据从寄存器(或M单元)传出
第4章
D8位(W位):规定数据类型
W=1-数据为一个字
指令系统
W=0-数据是一个字节
第4章 指令系统 4.2.3 I/O端口寻址方式 I/O interface
addressing
8086CPU采用独立编址的I/O端口,可以最多访问64K个字节端口 或32K个字端口,用专门的IN指令和OUT指令访问。I/O端口寻址只用 于这两种指令中。寻址方式有如下两种。 1. 直接端口寻址 在指令中直接给出端口地址,端口地址一般采用2位十六进制数, 也可以用符号表示,这种寻址方式为直接端口寻址。因此,直接端口 寻址可访问的端口数为0~255个。 例如:IN AL,25H 2. 寄存器间接端口寻址 如果访问的端口地址值大于255,则必须用I/O端口的间接寻址方式。 所谓间接寻址,是指把I/O端口的地址先送到DX中,用DX作间接寻址 寄存器,而且只能用DX寄存器。 例如:MOV DX,378H
第4章
指令系统
第4章 8086 instruction system

80x86微机原理参考答案

80x86微机原理参考答案

80x86微机原理参考答案第一章计算机基础(P32)1-1电子管,晶体管,中小规模集成电路、大规模、超大规模集成电路。

1-2把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。

以微处理器为核心,配上由大规模集成电路制作的只读存储器(ROM)、读写存储器(RAM)、输入/输出、接口电路及系统总线等所组成的计算机,称为微型计算机。

微型计算机系统是微型计算机配置相应的系统软件,应用软件及外部设备等.1-3写出下列机器数的真值:(1)01101110 (2)10001101(3)01011001 (4)11001110答案:(1)+110 (2)-13(原码) -114(反码)-115(补码)(3)+89 (4)-78(原码)-49(反码)-50(补码)1-4写出下列二进制数的原码、反码和补码(设字长为8位):(1)+010111 (2)+101011(3)-101000 (4)-111111答案:(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011(3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000(4)[x]原=10111111 [x]反= 11000000 [x]补=110000011-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?(1)00001110 表示原码14,反码14,表示补码为14(2)11111111 表示原码-127,反码-0,表示补码为-1(3)10000000 表示原码-0,反码-127,表示补码为-128(4)10000001 表示原码-1,反码-126,表示补码为-1271-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例: 已知: DS=2000H; SI=1000H 指令: MOV [SI+disp],AX
青岛理工大学琴岛学院
寄存器间接相对寻址过程示意图
CPU
寄存器间接相对 SI=1000H
MOV [SI+20H] 程序 ,AX
CS 偏移1000H
DS
SS
ES
位移20H
青岛理工大学琴岛学院
寄存器相对寻址过程示意图
真正数据所在的地址
青岛理工大学琴岛学院
错误指令举例: 6)基址变址寻址: MOV [BX+CX],AX ; CX不能做变址寄存器 MOV [BX+BP],AX ; BP不能作为变址寄存器 操作数的有效地址 EA等于一个基址寄存器( BX或 MOV [BX+DI],ARRAY; BP)与一个变址寄存器( SI或DI)的内容之和;
总时间=基本执行时间+计算EA的时间+执行总线读/写周期的时间
指令的基本执行时间随指令类型的不同差异很大,访问存 储器既要执行总线的读/写周期,又要计算操作数的有效地址 EA,计算EA的时间又与指令的寻址方式有关。
青岛理工大学琴岛学院
4.2 8086/8088指令系统
数据传送类指令
算术运算类指令 位操作类指令 串操作类指令 控制转移类指令 处理器控制类指令
21000H 20 位 物 理 地 址 真正数据所在的地址 Memory DS … 20000H

78H 21000H 56H
青岛理工大学琴岛学院

4)寄存器间接寻址:
此方式的操作数存放在存储器单元中,指令给出的 16位寄存器值就是该操作数所在存储单元的EA。

例: 已知: (DS)=2100H,(DI)=2000H 指令: MOV AX,[DI] ;(AX) ((DI)) 注:使用BX、SI、DI,操作数在DS段;BP时在SS段 其中寄存器只能是BX、SI、DI、BP
DS
SS
ES
青岛理工大学琴岛学院
基址变址寻址过程示意图
MOV [BP] +[DI],AX
已知: SS=3000H; BP=2000H; DI=1000H
AH=12H AL=34H Memory SS … 30000H
+)
30000H(SS段首地址=SS内容左移4位) 2000H(BP内容) 1000H(DI内容) 33000H 20 位 物 理 地 址

青岛理工大学琴岛学院
本章结构
1. 8086/8088的指令编码 2. 8086 /8088的寻址方式
3. 8086 /8088指令系统 4. 简单汇编语言程序设计
青岛理工大学琴岛学院
4.1 8086/8088的指令格式及寻址方式
几个需要了解的基本概念:


微处理器能够执行的各种指令的集合就叫它 的指令系统(体现了微处理器的功能); 每条指令对应着一条基本的操作,该条操作 在设计该微处理器的时候就已经被确定了; 指令通常由操作码和操作数两部分组成;
其它等效写法:MOV [BX+DI]disp,CX 注:使用基址寄存器 时,段寄存器为 MOV BX disp[BX+DI] ,CX DS,使用 基址寄存器BP时,段寄存器为 SS。 MOV [BX][DI]disp ,CX MOV disp[BX][DI],CX
青岛理工大学琴岛学院Fra bibliotek基址变址相对寻址过程示意图
青岛理工大学琴岛学院
• MOV指令的两个操作数(源、目的)均可采用不同的寻址方
式,但是必须有一个为寄存器。
注意:
• MOV指令可以传送8位或16位的数据,但是必须与8位或16位
寄存器相对应。
数。
• 不允许把立即数作目的操作数,也不允许向段寄存器送立即
• 不允许在段寄存器之间、存储器单元之间传送数据。 • 不能把寄存器CS、IP用作目的操作数,不能随意改变他们的
MOV [DI+20H],AX
已知:DS=2000H; DI=1000H; disp=20H
AH=12H AL=34H Memory DS … 20000H
+)
20000H(DS段首地址=DS内容左移4位) 1000H(DI内容) 20H(disp内容) 21020H 20 位 物 理 地 址

34H 21020H 12H

34H 33000H 12H
真正数据所在的地址
青岛理工大学琴岛学院
7)相对基址变址寻址: 操作数的有效地址EA是由一个基址寄存器(BX或 BP)、一个变址寄存器(SI或DI)的内容之和,与一 个由指令中指定的位移量相加得到的。 操作数EA=BX或BP值+ SI或DI值+位移量。

例:
MOV [BX+DI+disp],CX
青岛理工大学琴岛学院
根据指令的格式分为三类
双操作数指令 指令中指定两个操作数: 源操作数(src)和目的操作数(dst); 单操作数指令 指令只需一个操作数, 该操作数既是源操作数也是目的操作数; 无操作数指令 指令本身未明确操作数 在哪里,仅隐含指明操作数存放的具体 位置;

青岛理工大学琴岛学院
青岛理工大学琴岛学院
操作数的种类:
根据指令系统中操作对象的不同把操作数分为两大类:

1.数据操作数:指令中操作的对象是数据;
①立即数操作数:指令中要操作的数据在指令中CS;
②寄存器操作数:指令中要操作的数据存放在指定的寄存
器中; ③存储器操作数:指令中要操作的数据存放在指定的存储 单元中; ④I/O操作数:指令中要操作的数据来自或送到I/O端口;

56H 23000H 34H
+) 2000H ( DI内容)
23000H 20 位 物 理 地 址 真正数据所在的地址
青岛理工大学琴岛学院


5)寄存器相对寻址:
操作数存放在存储单元中,有效地址EA等于一个由 指令规定的基址寄存器(BP、BX)或变址寄存器 (SI、DI)的内容与由指令中给定的8位或16位的相 对地址位移量disp(立即数)之和;
4.2.1 数据传送指令
数据传送类指令实现CPU与内部寄存器、存储器、 I/O端口间的数据传送。
1. 通用数据传送指令—(1)通用传送指令MOV 功能:将源操作数内容复制到目操作数中。 可使用的操作数类型组合举例:
MOV MOV MOV MOV MOV MOV AX, [2100H] DX,BP BL ,[2480H] SP,1800H AX,ES DS,[BX+DI] ;累加器 存储器 ;通用寄存器 通用寄存器 ;通用寄存器 存储器 ;通用寄存器 ←立即数 ;通用寄存器 段寄存器 ;段寄存器 存储器
青岛理工大学琴岛学院
4.1.2 8086/8088寻址方式
几个需要了解的基本概念:



指令中关于如何求出操作数的有效地址的方 法即为操作数的寻址方式; 计算机按照指令给出的寻址方式求出操作数 有效地址和存取操作数的过程被称为寻址操 作; 指令中可能直接给出操作数的值,或者给出 操作数存放的地址; 指令中被操作的对象即为操作数;
(DX)
注: 1、寄存器寻址方式的指令操作在CPU内部执行,不 执行总线周期,执行速度最快。 2、寄存器寻址方式既适用于指令的源操作数,也适 用于目的操作数,并且可同时用于源和目的操作数
青岛理工大学琴岛学院
CPU
EU
DX SI 指令队列 MOV SI,DX
BIU
青岛理工大学琴岛学院
3)直接寻址(存储器直接寻址) 操作数存放在存储器单元中,由指令直接给出该单 元的有效地址EA(即16位段内偏移量)也称偏移地 址,代表操作数所在存储单元距离段首地的字节数。
内容。
• 通用传送指令不影响标志位。
青岛理工大学琴岛学院
(2)堆栈操作指令
SS
堆栈顶部由堆栈指针SP指 向。 SP中始终保存着段基 址与栈顶之间的偏移量。
TOP
BOTTOM
X X X X X X
X X X X X X
SP
堆栈
(堆栈初始化时)
SP
青岛理工大学琴岛学院
(2)堆栈操作指令
格式 :PUSH POP src dst ;把src推入堆栈 ;把堆栈内容弹出到dst
第4章 微型计算机指令系统
青岛理工大学琴岛学院
第4章 指令系统
本章重点:寻址方式和各功能指令; 难点:指令编码的格式;学会用功能指 令编写的汇编程序怎样来阅读和理解; 学习方法:以前几章学习到的硬件知识 为基础,理解指令系统中各种功能指令 和寻址方式在机器中是怎样其作用的; 为学习汇编语言程序设计做基础;
直接寻址过程示意图
CPU
直接寻址
MOV AX, [1000H] 程序
CS 偏移1000H
DS
SS
ES
青岛理工大学琴岛学院
直接寻址过程示意图
AH AL
MOV AX,[1000H] 已知:DS=2000H
20000H(DS段首地址=DS内容左移4位) +) 1000H ( 0001 0000 0000 0000B)

2.转移地址操作数:指令中操作的对象不是数据, 而是要转移的目标地址;
青岛理工大学琴岛学院
4.1.2 寻址方式

1.数据的寻址方式:
1 )立即寻址:此方式中指令操作数部分直接给 注: 1 、立即数寻址方式只能用于源操作数,主要用于 出指令的操作数(总是和操作码一起被放入CPU 给寄存器赋值。 的指令列队,在指令执行时不需再访问存储器) 2 、立即数寻址方式不执行总线周期,执行速度快。 3 源操作数以 8位或 16位常数的形式直接出现在指 、立即数为 16位时,低位字节存放在存储器低地 令中。一般用于赋值。 址单元,高位字节存放在存储器高地址单元。
相关文档
最新文档