UNIT TWO

Posted zc-de-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UNIT TWO相关的知识,希望对你有一定的参考价值。

声明

基于8086的寄存器共14个16位的,分别是

ax  bx  cx  dx  (通用寄存器)

si  di  bp  sp    (基址与变址寄存器)

cs  ss  ds  es   (段寄存器)

ip flags              (指令指针和标志寄存器)

常用的是第一排、第三排

附:

AX Accumulator Register
BX Base Register
CX Count Register
DX Data Register
CS Code Segment Register
IP Instruction Pointer Register

通用寄存器

如ax,bx,cx,dx寄存器,通常用于存放一般数据,称为通用寄存器。

为了与早期CPU操作兼容,这4个寄存器均可拆分成两个8位寄存器单独使用。

AX分为AH和AL
BX分为BH和BL
CX分为CH和CL
DX分为DH和DL

而AH和AL可以作为两个八位寄存器单独使用。 

字在寄存器中的存放

字节  内存划分的基本单位
字   两个字节
双字  四个字节
四字  八个字节

汇编指令mov add

技术分享图片

注意事项

1.在mov和add指令中,两个操作对象的位数应一致

2.运算时超出寄存器表示的位数时,进位大的1不显示

2的示例:

技术分享图片

8086表示物理地址的方法

段地址  × 16  + 偏移地址  =  物理地址

*根据需要,段的起始物理地址必须是16的倍数

CS与IP

CS: 代码段段寄存器,用于存放代码段的「段地址」
IP: 指令指针寄存器,用于存放CPU将要读取的指令在代码段中的偏移地址
CS:IP对应的物理地址存放的是CPU将要读取的指令。
(CS) × 16 + (IP) → 指令的物理地址

JMP指令:修改CS与IP

1.同时修改cs ip

jmp   段地址: 偏移地址

例:
jmp 2AE3:3 ; CS ← 2AE3H
IP ← 3H

 

2.只修改ip

jmp   某一合法寄存器

例:
jmp AX ; IP ← AX


















以上是关于UNIT TWO的主要内容,如果未能解决你的问题,请参考以下文章

专业英语(电子通信)单词集

Sass函数:unit()函数

unit13-unit15

Kotlin中,理解T.()->Unit 、 ()->Unit与(T) -> Unit

[Unit Test] Unit Test Brief Introduction

unit1--unit3单元文档