随笔 - 13, 文章 - 0, 评论 - 0, 引用 - 0
数据加载中……

汇编语言学习笔记——第二章 寄存器


在CPU中:
   运算器进行信息处理;
   寄存器进行信息存储;
   控制器控制各种器件进行工作;
   内部总线连接各种器件,在它们之间进行数据传送。

8086CPU有14个寄存器:(8086所有寄存器16位)
   AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW

2.1 通用寄存器——
   通用寄存器:AX、BX、CX、DX;
   16位可分两个独立使用的8位寄存器:
   AX=AH+AL;BX=BH+BL;CX=CH+CL;DX=DH+DL。
   AX的低8位构成AL,高8位构成AH寄存器。

2.2 字在寄存器中的存储——
   字节:byte,8个bit;
   字:两个字节,为高位字节和低位字节。

2.3 几个汇编指令——
   写汇编指令或寄存器名称时不分大小写。
   数据传送或运算时,指令的两个操作对象的位数应当一致。

2.4 物理地址
2.5 16位结构的CPU——
   16位结构描述了一个CPU具有的结构特性:
   (1)运算器一次最多可以处理16位的数据;
   (2)寄存器的最大宽度为16位;
   (3)寄存器和运算器之间的通路为16位。

2.6 8086CPU给出物理地址的方法——
   地址加法器:物理地址=段地址*16+偏移地址;
   简捷算法:段地址*16 即 左移4位。

2.7 “段地址*16+偏移地址=物理地址”的本质含义——
   本质含义:CPU在访问内存时,用一个基础地址(段地址*16)和一个相对于基础地址的偏移地址相加,给出 内存单元的物理地址。
   基础地址+偏移地址=物理地址。

2.8 段的概念——
   段地址*16:定位段的起始地址(基础地址)。
   偏移地址:定位段中的内存单元。
   一个段的最大长度为64KB。

2.9 段寄存器——
   8086CPU有4个段寄存器:CS、DS、SS、ES。

2.10CS和IP——
   CS:代码段寄存器。
   IP:指令指针寄存器。
   8086机中,任意时刻,CPU将CS:IP指向的内容当作指令执行。

2.11修改CS、IP的指令——
   jmp指令:jmp 段地址:偏移地址
   用指令中给出的段地址修改CS,偏移地址修改IP。
   “jmp 某一合法寄存器”:用寄存器中的值修改IP。

2.12代码段

实验1 查看CPU和内存,用机器指令和汇编指令编程
   略。

END
2012年01月01日

posted on 2012-01-03 18:33 龙傲天下 阅读(185) 评论(0)  编辑 收藏 引用 所属分类: 汇编语言学习笔记


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理