请登录
四川成人和教育管理有限公司 - 笔记串讲 - 工学类 - 2241工业用微型计算机 - 浏览文章

2241工业用微型计算机串讲资料2

2016/5/30 9:50:220人浏览0评论

第二章 8086/8088微处理器的指令系统

    本章主要介绍了微型计算机指令系统中的寻址方式,各类指令格式,应用DEBUG调试简单的应用程序,通过对常见指令的分析和学习,能熟悉利用DEBUG调试程序上机,编写程序段和运行该程序段,查看标志的变化,存储器和各寄存器的内容变化,进而理解微处理器的工作原理和工作过程。

    一、重点提示   

    本章的重点是理解每种寻址方式的操作数所在的位置,不同指令使用的操作数形式的差异,对堆栈操作指令的理解以及堆栈的操作过程,能够判断一条指令的寻址方式,典型指令的实际应用。

    数据的寻址方式:

    1.立即寻址

    操作数直接在指令中给出。例:MOV AL,50

    2.寄存器寻址

    指令的操作码是一个寄存器,操作数在这个寄存器中。例:ADD AX,BX,将AX中的内容和BX中的内容相加后,结果送AX。

    3.直接寻址

    操作数在存储器中的地址在指令中直接给出。例:ADD AX,-I000H],将存储单元1000H中的内容和AX中的内容相加后,结果送AX。

    4.寄存器间接寻址

    操作数的地址在寄存器中,其寄存器在指令中给出。例:MOV AX,[SI],将寄存器SI中的内容作为访问存储器的某个单元的地址,然后取出地址中的操作数送入AX。

    5.变址寻址

    是由指令提供基地址、变址寄存器提供偏移爨,此寻址方式面向用户,常用于访问字符串、向量数据结构和循环程序设计。

    6.基址寻址

    是由基址寄存器提供基准地址、指令提供偏移量;此寻址方式面向系统,由逻辑地址空间到物理地址空间的变换提供支持,用以解决程序在存储器中再定位和扩大寻址空间。等问题。

    7.基址一变址寻址

    操作数的地址是程序计数器PC的值加上偏移量形成的,这个偏移量在指令中给出。是一种特殊的变址寻址方式,偏移量用补码表示,可正可负。相对寻址可用较短的地址码访问内存。

    二、难点提示

    1.操作码和操作数的实质

    2.寻址方式的判断

    3.指令的执行过程

    4.堆栈操作的过程

    5.指令执行结果的分析

1.寻址方式

(1)指令格式

(2)立即数寻址

(3)寄存器操作数寻址

(4)存储器操作数寻址:直接寻址,寄存器寻址,变址寻址,基址-变址寻址

2.8088/8086指令系统

(1)数据传送指令

(2)算术运算指令

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

(4)串操作指令

(5)控制转移指令

(6)位处理器控制指令

3.DEBUG调试程序的简单应用

表2-1数据传送指令

助记符

功能

通用数据传送指令

MOV

传送字节或字

PUSH

字人栈

POP

字出栈

XCHG

交换字节或字

XLAT

字节转换

地址目标传送指令

LEA

装入有效地址

LDS

将指针变量装入寄存器及DS

LES

将指针变量装入寄存器及ES

标志传送指令

LAHF

标志寄存器低字节送AH

SAHF

AH值送标志寄存器低字节

PUSHF

标志寄存器内容进栈

POPF

标志寄存器内容出栈

I/O指令

IN

输入字节或字

OUT

输出字节或字

表2-2算术运算指令

助记符

功能

加法指令

ADD

加法

ADC

带进位的加法

INC

增量(加1)

AAA

加法的ASCII修正

DAA

加法的十进制修正

减法指令

SUB

减法

SBB

带借位的减法、

DEC

减量(减1)

NEG

求补(变负)

CMP

比较

AAS

减法的ASCII修正

DAS

减法的十进制修正

乘法指令

MUL

无符号数乘法

IMUI

整数乘法

AAM

乘法的ASCII修正

除法指令

DIV

无符号数除法

IDIV

整数除法

AAD

除法的ASCII修正

转    换

CBW

字节转换为字

CWD

字转换为双字






表2-3位处理指令

助记符

功能

逻辑运算符

AND

逻辑“与”

0R

逻辑“或”

NOT

逻辑“非”

XOR

逻辑“异或”

TEST

测试

移位指令

SHL

逻辑左移

SAL

算术左移

SHR

逻辑右移

SAR

算术右移

循环移位指令

ROL

循环左移

ROR

循环右移

RCL

通过CF循环左移

RCR

通过CF循环右移

表2-4  串操作指令

助记符

功    能

串操作指令

MOVS( MOVSB, MOVSW)

串传送(字节传送,字传送)

CMPS(CMPSB, CMPSW)

串比较(字节比较,字比较)

STOS(STOSB, STOSW)

存入串(存入字节,存入字)

LODS(LODSB, LODSW)

取出串(取出字节,取出字)

SCAS (SCASB, SCASW)

扫描串(扫描字节,扫描字)

重复前缀

REP

重复操作

REPE/REPZ

等于/为零重复

REPNE/REPNZ

不等于/不为零重复

表2-5程序转移指令

助记符

功能

无条件转移指令

CALL

调用过程(子过程)

RET

从过程(子过程)返回

JMP

无条件转移

条件转移指令

JA/JNBE

高于/不低于等于,转移

JAE/JNB

高于等于/不低于,转移

JB/JNAE

低于/不高于等于,转移

JBE/JNA

低于等于/不高于,转移

JC

有进位(借位),转移

JE/JZ

等于/为零,转移

JG/JNLE

大于/不小于等于,转移

JGE/JNL

大于等于/不小于,转移

JL/JNGE

小于/不大于等于,转移

JLE/JNG

小于等于/不大于,转移

JNC

无进位(借位),转移

JNE/JNZ

不等于/不为零,转移

JNO

不溢出,转移

JNP/JPO

PF为“0"/奇状态,转移

JNS

SF为“O”,转移

J0

溢出,转移

JP/JPE

PF为“1”/偶状态,转移.

JS

SF为“1”,转移

JCXZ

寄存器CX=O,转移

重复控制指令

LOOP

循环

LOOPE/LOOPZ

等于/为零,循环

LOOPNE/LOOPNZ

不等于/不为零,循环

中断指令

INT

中断

INT3

断点中断

INTO

溢出中断

IRET

中断返回






表2-6处理器控制指令

助记符

功能

标志位操作

STC

进位标志置1

CLC

进位标志置O

CMC

进位标志取反

STD

方向标志置1

CLD

方向标志置O

STI

中断允许标志置1

CLI

中断允许标志置O

外同步

HLT

暂停直至中断或复位

WAIT

等待TEST信号有效

ESC

交权给外部处理机

LOCK

在下一条指令期间封锁总线

空操作

NOP

空操作

表2-7串操作指令中寄存器和标志位的用途

寄存器/标志

用途

SI

源字符串的变址值(偏移量)

DI

目的字符串的变址值(偏移量>

DS

源字符串的段基值

ES

目的字符串的段基值

CX

重复次数计数器

AL/AX

SCAS指令的扫描值

LODS指令的目的操作数

STOS指令的源操作数

ZF

扫描/比较结束标志

DF

DF=O.SI,DI自动增量

DF=1.SI,DI自动减量


关键字:
网友评论