Class-2

作业第一部分
明天早上八点之前完成第一章和第二章的所有作业(好多)
作业可以直接在word上编辑来完成,也可以东莞哟手写和扫描
但最后需要转换成pdf文件


class2-1

主要技术数据

  1. 字长
  2. 主屏
  3. 层次结构

3种工作模式
实模式
保护模式
v8086模式

上一节的图再用一下

地址加法器:
= CS*16+IP(20位)
或者CS<<4+IP
之后取对应的地址,然后将地址对应的代码执行

程序员课件的寄存器
通用寄存器
段寄存器
控制/专用寄存器


寄存器

通用寄存器

AX = AH + AL (相当于拆开)

H = high L = low

8个通用寄存器可以分为4个数据寄存器和四个地址寄存器
一般来说,前面4个存储数据,后面四个存储地址

AX:通用寄存器中数据最快的,称为累加器
使用累加器可以使指令的机器代码更短,EAX,AL同
BX 用于只是存储器地址
CX:常用于循环或者串指令的隐含技术
DX :用于存放高位双字或者IO中的端口地址
EDX则用于4字长运算的高位双字 (386和之后)


地址寄存器

堆栈:就是栈
IP EIP
与CS一起只想下一个指令。程序员一般不能使用该寄存器
FLAGS,EFLAGS


FLAGS

OF:溢出
SF:符号(为零则结果为负)
ZF:0标志运算结果为0时
CF:carry flag,进位/借位标志
AF:辅助进位标志(AUX CARRY FLAG)低四位向高四位有进位或者借位的时候被置为1.
PF:奇偶标志计算结果为偶的时候被置为1

TF:跟踪标志TF=1时用于调试程序(单步工作)


image.png

Debug模式下的八位标志

标志位

OV = overflow
NV = not overflow

NG = negative
PL = positive

ZR = zero
NZ = not zero

CF = Carried
NC = not carried

AC = assisted carried
NA = not assisted carried

PF = parity even
PO = parity odd


8086的存储器和物理组织

存储单位

在PC中,存储以字节为基本存储单位
从存储器读入或者写出数据必须是字节的整数倍数

存储地址

  • 每个地址单元有位移的存储单元地址


    数据总线和地址总线

class2-2

存储器的物理组织
主存储器;
扩展主存储器
系统BIOS
显存,显卡BIOS
其他部件的BIOS


按字节存储的示意图

注意:8086是小端的。即,数据的最低字节存储在逻辑的最低字节中,并且从最低字节开始读取

分段

分段是为了按段管理,提高运行速度以及便于进行20位寻址
物理地址(20位地址),逻辑地址(短地址加偏移地址)
I/O地址空间
IO地址是16位地址,通过规定的端口号进行数据读取
信息交换方式:

  1. 通过IN , OUT
  2. 通过DOS处理程序
  3. 通过BIOS中断程序调用

class2-3

寻址方式和指令系统

操作数:

立即寻址,寄存器寻址,内存寻址,端口寻址

寻址方式

立即寻址:

操作数放在指令中,紧跟在操作码之后,与操作码一起存放咋爱代码段中
可以是字WORD、字节,双字
立即寻址只能用于源操作数,不能用于目的操作数
例如

MOV AL, 5

操作码
也是一个十六进制数

386Z之后有比例因子
EA = 基址+(变地址x比例因子)+位移量


image.png

直接寻址

MOV AX,[2000H]
加中括号的版本这个是一个地址

段地址默认为使用DS数据段

寄存器间接寻址

image.png

MOV AX,[BX],段地址默认为CS
如果是BP,则默认为SS
不能使用SP。
也可以指定使用段超越:
MOV AX EP:[BX]

寄存器相对寻址

MOV AX,3000H[SI]

基址变址寻址

MOV AX, [BX+DI]
或者
MOV AX,[BX][DI]

相对基址变址寻址

比例变址寻址

MOV EAX,COUNT[ESI4]
基址比例变址寻址
MOV ECX, [EBX][ESI
8]

image.png

段内寻址

转向的有效地址是当前IP寄存器的内容+指令中指定的8位或者16位位移量
JMP SHORT NEXT
SHORT是一个地址
转向的优先地址是一个寄存器或者存储单元的内容,并且取代IP寄存器的内容

段间直接寻址

指令中提供了转向的短地址和偏移地址,分别取代CS和IP
JMP FAR PTR NEXT
JMP DWORD PTR [INTER+]
JMP DWORD PTR [EDI]
I/O寻址

直接I/O寻址

只用于8位寻址
IN AL ,40H
OUT 42H,AL
注意,这里的40H是一个端口号而不是一个数据地址

间接I/O寻址

16位必须在DX中寻址
MOV DX,1F7H
IN AL,DX
OUT DX,AL
DX是一个端口号

指令

  • 指令

计算机执行的各种操作命令

  • 指令系统

计算机所能执行的全部指令

  • 向上兼容

  • 指令顺序】

操作码

操作码 目的操作数,源操作数
例如
MOV AL, 34H; 立即数
ADD AL, DATA1; 操作数地址
MUL CL ;单操作数
隐含操作数指令:
例如AAA

指令系统

数据指令

数据传送指令

MOV 不印象操作位

将源操作数的数据给到目的操作数
MOV DST, SRC


数据传送可用表
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 指令系统概述 计算机程序 由一条条机器指令构成 完成不同的功能 机器指令 计算机唯一能够识别的语言 由若干个二进制...
    知向谁边阅读 986评论 0 0
  • 指令是使计算机执行某种特定操作的二进制编码。8086 CPU指令系统有133条指令,通常分为数据寻址方式和程序寻址...
    刀月水阅读 1,675评论 0 1
  • 数据寻址方式 一、立即数寻址 MOV AX,0102H; 指令代码:B8 02 01注意:按照低对低、高对高的小端...
    okcOu阅读 1,901评论 0 1
  • 王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...
    2c3ba901516f阅读 2,462评论 0 1
  • 计算机通过执行指令序列来使机器得以工作,所以对于每一系列的计算机都有指定的一组指令集供计算机使用,这组指令...
    未来科技工作室阅读 8,181评论 1 10