汇编语言基础

寄存器

寄存器是处理器内部的高速缓冲区,用于暂时存放数据。
寄存器的分类:
透明寄存器:这类寄存器不需要程序员进行操作。
可编程的寄存器:这是我们程序员需要学习的这类寄存器又分为通用寄存器和专用寄存器

32位通用寄存器:eax ebx ecx edx edi esi ebp esp
16位通用寄存器:ax bx cx dx di si bp sp
8位通用寄存器:al ah bl bh cl ch dl dh

专用寄存器的种类
标志寄存器:eflags
指令指针寄存器:eip
段寄存器:cs ds ss es gs fs

我们可以看到通用寄存器有8位16位和32位的,这是发展的结果,比如在一个32的系统中eax寄存器包含32个位,其中al是eax的最后8位,ax是eax的最后16位,因此ax也是包含al和ah的。
下面是一个图来表示各种寄存器关系


寄存器.png

寄存器结构.png

下面是我们通常使用的通用寄存器名称


通用寄存器.png

计算机存储器的分级

按照读取速度进行分等级
硬盘->内存->缓存->寄存器
这个顺序表示存取速度依次递增的顺序进行排序的并且存储器的大小是依次递减的但是价格是依次递增的,通常也是数据传递顺序,一个程序的运行首先从硬盘读入内存,然后将程序的代码按照顺序取指执行进行操作。

内存

内存又称主存储器,现在的内存通常是很大的,根据规定将主存储器分为很多的存储单元,每个存储单元占一个字节,按照存储单元进行编址,从0开始进行编址,这样每个存储单元都有一个唯一的地址,来标志这个存储单元,像这样的地址我们称之为物理地址。


物理地址.png

程序的寻址并不是按照物理地址进行寻址,IA-32处理器有三种存储模型,用于程序访问存储器。

  • 平展存储模型
  • 段式存储模型
  • 实地址存储模型

我们现在主要使用的是段式存储模型,我们现在了解下这种存储模型。
代码段:表示存放代码的即处理器需要执行的指令
数据段:表示存放数据的比如全局变量
堆栈段:用来存放临时地址和临时变量的
这三个段每个都可以达到最大内存

处理器内部和程序员编程时使用的是逻辑地址
逻辑地址=段基地址:偏移地址
段基地址:表示在主存中的起始位置
偏移地址:表示距离段基地址的位偏移量

专用寄存器

指令指针寄存器eip:保存程序执行到的位置顺序执行时进行自增,时刻指向指令执行到的位置.

代码段:段基地址cs,偏移地址eip
堆栈段:段基地址ss,偏移地址esp
数据段:段基地址ds,偏移地址

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

推荐阅读更多精彩内容

  • 1.地址总线,数据总线,控制总线在哪里,它们有什么作用?答:它们都是cpu连接外部组件的线路。地址总线:地址总线A...
    MagicalGuy阅读 1,456评论 0 1
  • 汇编基础教程 16位和32位的80x86汇编语言的区别 需要注意的是汇编不是一种语言,不同平台有不同的汇编语言对应...
    inwunwe阅读 9,500评论 2 19
  • 计算机通过执行指令序列来使机器得以工作,所以对于每一系列的计算机都有指定的一组指令集供计算机使用,这组指令...
    未来科技工作室阅读 7,994评论 1 10
  • 1. 堆栈操作 1). 运行时栈 PUSH 操作 作用:32位PUSH操作将堆栈指针递减4并将值复制到该位置堆栈指...
    _凌浩雨阅读 2,332评论 0 5
  • 一篇前言 这是一系列的汇编语言学习的读书笔记,以及一些自己的理解系列文章。我想我会在循序渐进的学习中,写下对汇编的...
    华落阅读 5,058评论 0 7