2.《汇编语言》-王爽第三版学习笔记 寄存器

  1. CPU中:
  • 运算器进行信息处理
  • 寄存器进行信息存储
  • 控制器控制各种器件进行工作
  • 内部总线连接各种器件,在它们之间进行数据传输。
  1. 8086CPU 14个寄存器,所有的寄存器都是16位的,可以存放两个字节:
    AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW

  2. 通用寄存器:AX,BX,CX,DX


    13571773-6A15-4A05-867F-950BEC4B28A1.png

4.8086CPU可以一次性处理一下两种尺寸的数据:

  • 字节:byte,一个字节有8bit组成,存在8位寄存器中。
  • 字:word,一个字有两个字节组成。


    B81FD4EC-AA7D-46ED-B014-D49DF6ED83AE.png

5.简单的汇编指令:


613B66E4-301A-4572-969E-263CF930B023.png
  • 汇编指令和寄存器名称不区分大小写。如 mov ax,18 和 MOV AX,18 同等含义
  1. 进行数据传送和运算时,要注意指令的两个操作对象的位数应当是一致的。


    3AAEDE6E-B7F7-4594-B1B1-67A4E73B374E.png
  2. 练习


    82DC3741-877D-46A5-A0D9-3FA75712EB7E.png

解:

D02F1D8F-0B02-44F3-9B5C-035190C340FD.png

mov ax,2
add ax,ax
add ax,ax
add ax,ax

8.物理地址
所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间都有唯一的地址。

  1. 8086 16位结构的CPU特性:
  • 运算器一次最多可以处理16位的数据。
  • 寄存器最大的宽度为16位。
  • 寄存器和运算器之间的通路位16位。
  1. 8086物理地址计算方法:
    8086CPU是16位结构但是有20位地址总线。所以内部使用了两个16位地址合成的方法来形成一个20位的物理地址。


    4C6D1A51-C33A-425B-8145-95A13B957071.png

    FB9A54E4-6CF6-4504-9C24-E24BA5B8C055.png
  2. “段地址16+偏移地址=物理地址”的本质含义:
    CPU在访问内存时,用一个基础地址(段地址
    16)和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址。

  3. 段的概念:
    物理地址 = SA*16 + EA

  • SA*16必定是16的倍数,所以一个段的其实地址也一定是16的倍数
  • 偏移地址为16位,16位地址的寻址能力为64KB,所以一个段的最大长度为64KB
  1. 练习


    149113B9-274F-44F5-8146-2A1CFDF8ED27.png

    解:
    (1)物理地址 = 0001H (SA) * 16 + EA
    EA 的取值范围为 0 - FFFF
    所以 CPU的寻址范围为: 0010H ~ 1000FH
    (2) 20000H = SA * 16 + EA (EA 为 0 ~ FFFFH)
    当 EA = FFFFH时最小,SA最小 1001H
    当 EA = 0时 SA最大 2000H

  2. 段寄存器
    8086CPU 有4个段寄存器: CS,DS,SS,ES。 当8086CPU要访问内存时,由这4个段寄存器提供内存单元的段地址。

  3. CS && IP
    CS 为段寄存器, IP 为指令指针寄存器。
    在8086CPU中,任意时刻,假设CS中的内容为 M, IP中的内容为 N,则 8086CPU将从内存 M*16 + N 单元开始,读取一条指令并执行。也就是说 8086CPU 任意时刻,将 CS:IP内容当做指令执行。


    A2F5D123-0F17-448D-8650-00CDBEF39166.png

工作过程简述如下:
(1)从 CS:IP 指向的内存单元读取指令,读取的指令进入指令缓冲器;
(2)IP = IP+所读取的指令长度,从而指向下一条指令;
(3)执行指令。转到步骤1,重复这个过程。

  1. 修改 CS,IP的指令:
  • mov 指令不能用于设置CS,IP的值
  • jmp 段地址:偏移地址 (用纸令中给出的段地址修改CS,偏移地址修改IP)
    例: jmp 2AE3:3 执行后:CS=2AE3H, IP=0003H, CPU将从2AE33H处读取指令
  • 若想仅仅修改IP的内容, 可用“ jmp 某一合法寄存器 ”的指令完成
    例: jmp ax
    指令执行前: ax=1000H CS=2000H IP=0003H
    指令执行后: ax=1000H CS=2000H IP=1000H
    jmp bx
    指令执行前: bx=1233H CS=2000H IP=0003H
    指令执行后: bx=1233H CS=2000H IP=1233H
    jmp 某一合法寄存器: 用寄存器的值修改IP
  1. 代码段
    存放代码的内存区域,长度N<=64KB,起始地址为16倍数的连续地址段。
    想要执行这段代码,则需要将 CS:IP指向内存单元中的内容指令。

  2. 小结:

  • 段地址在 8086CPU的段寄存器中存放。 当8086CPU要访问内存时,由段寄存器提供内存单元地址。 8086有4个段寄存器 CS,DS,SS,ES。其中CS存放指令的段地址
  • CS存放指令的段地址,IP存放指令的偏移地址。
    8086中,任意时刻,CPU将 CS:IP 指向的内容当做指令执行
  • 8086CPU工作过程:
    (1)从 CS:IP 指向的内存单元读取指令,读取的指令进入指令缓冲器;
    (2)IP = IP+所读取的指令长度,从而指向下一条指令;
    (3)执行指令。转到步骤1,重复这个过程。
  • 8086CPU提供转移指令修改CS,IP的内容。
  1. 练习


    3AC24495-BFF5-43E7-B0B3-21F947E65026.png

    解:


    F6384F84-E824-4797-8B8E-9DAA36A94D32.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容