中国顶尖教育网
心肺复苏(cpr训练) 网址导航
2006年职业培训新鲜出炉
职业考试培训 中国顶尖在线 职业资格考试书籍
网站首页 考试书店 网络课堂 招生黄页 资格考试 专升本科 IT类考试 外语考试 就业指导 自学考试 网站服务
Linu 华为认证 计算机基 甲骨文认 全国计算 全国计算 全国少儿 软件水平 上海计算 思科认证 微软认证
职业资格考试
汇编语言教程之二_2006年计算机等级考试(IT类考试,全国计算机等级考试)

汇编语言教程之二_2006年计算机等级考试

『更新时间:2006-5-26 16:51:31』『推荐』『报错』『咨询『编辑:Jack Chen』『来源:新华网』
第二章 认识处理器                                                                         ----献给教PC技术的朋友! 中央处理器(CPU)在微机系统处于“领导核心”的地位。汇编语言被编译成机器语言之后,将由处理器来执行。那么,首先让我们来了解一下处理器的主要作用,这将帮助你更好地驾驭它。 典型的处理器的主要任务包括 从内存中获取机器语言指令,译码,执行 根据指令代码管理它自己的寄存器 根据指令或自己的的需要修改内存的内容 响应其他硬件的中断请求 一般说来,处理器拥有对整个系统的所有总线的控制权。对于Intel平台而言,处理器拥有对数据、内存和控制总线的控制权,根据指令控制整个计算机的运行。在以后的章节中,我们还将讨论系统中同时存在多个处理器的情况。 处理器中有一些寄存器,这些寄存器可以保存特定长度的数据。某些寄存器中保存的数据对于系统的运行有特殊的意义。 新的处理器往往拥有更多、具有更大字长的寄存器,提供更灵活的取指、寻址方式。 寄存器 如前所述,处理器中有一些可以保存数据的地方被称作寄存器。 寄存器可以被装入数据,你也可以在不同的寄存器之间移动这些数据,或者做类似的事情。基本上,像四则运算、位运算等这些计算操作,都主要是针对寄存器进行的。 首先让我来介绍一下80386上最常用的4个通用寄存器。先瞧瞧下面的图形,试着理解一下: 上图中,数字表示的是位。我们可以看出,EAX是一个32-bit寄存器。同时,它的低16-bit又可以通过AX这个名字来访问;AX又被分为高、低8bit两部分,分别由AH和AL来表示。 对于EAX、AX、AH、AL的改变同时也会影响与被修改的那些寄存器的值。从而事实上只存在一个32-bit的寄存器EAX,而它可以通过4种不同的途径访问。 也许通过名字能够更容易地理解这些寄存器之间的关系。EAX中的E的意思是“扩展的”,整个EAX的意思是扩展的AX。X的意思Intel没有明示,我个人认为表示它是一个可变的量 。而AH、AL中的H和L分别代表高和低 。 为什么要这么做呢?主要由于历史原因。早期的计算机是8位的,8086是第一个16位处理器,其通用寄存器的名字是AX,BX等等;80386是Intel推出的第一款IA-32系列处理器,所有的寄存器都被扩充为32位。为了能够兼容以前的16位应用程序,80386不能将这些寄存器依旧命名为AX、BX,并且简单地将他们扩充为32位——这将增加处理器在处理指令方面的成本。 Intel微处理器的寄存器列表(在本章先只介绍80386的寄存器,MMX寄存器以及其他新一代处理器的新寄存器将在以后的章节介绍) 通用寄存器 下面介绍通用寄存器及其习惯用法。顾名思义,通用寄存器是那些你可以根据自己的意愿使用的寄存器,修改他们的值通常不会对计算机的运行造成很大的影响。通用寄存器最多的用途是计算。 EAX 32-bit宽 通用寄存器。相对其他寄存器,在进行运算方面比较常用。在保护模式中,也可以作为内存偏移指针(此时,DS作为段 寄存器或选择器) EBX 32-bit宽 通用寄存器。通常作为内存偏移指针使用(相对于EAX、ECX、EDX),DS是默认的段寄存器或选择器。在保护模式中,同样可以起这个作用。 ECX 32-bit宽 通用寄存器。通常用于特定指令的计数。在保护模式中,也可以作为内存偏移指针(此时,DS作为 寄存器或段选择器)。 EDX 32-bit宽 通用寄存器。在某些运算中作为EAX的溢出寄存器(例如乘、除)。在保护模式中,也可以作为内存偏移指针(此时,DS作为段 寄存器或选择器)。 上述寄存器同EAX一样包括对应的16-bit和8-bit分组。 用作内存指针的特殊寄存器 ESI 32-bit宽 通常在内存操作指令中作为“源地址指针”使用。当然,ESI可以被装入任意的数值,但通常没有人把它当作通用寄存器来用。DS是默认段寄存器或选择器。 EDI 32-bit宽 通常在内存操作指令中作为“目的地址指针”使用。当然,EDI也可以被装入任意的数值,但通常没有人把它当作通用寄存器来用。DS是默认段寄存器或选择器。 EBP 32-bit宽 这也是一个作为指针的寄存器。通常,它被高级语言编译器用以建造‘堆栈帧’来保存函数或过程的局部变量,不过,还是那句话,你可以在其中保存你希望的任何数据。SS是它的默认段寄存器或选择器。 注意,这三个寄存器没有对应的8-bit分组。换言之,你可以通过SI、DI、BP作为别名访问他们的低16位,却没有办法直接访问他们的低8位。 段寄存器和选择器 实模式下的段寄存器到保护模式下摇身一变就成了选择器。不同的是,实模式下的“段寄存器”是16-bit的,而保护模式下的选择器是32-bit的。 CS 代码段,或代码选择器。同IP寄存器(稍后介绍)一同指向当前正在执行的那个地址。处理器执行时从这个寄存器指向的段(实模式)或内存(保护模式)中获取指令。除了跳转或其他分支指令之外,你无法修改这个寄存器的内容。 DS 数据段,或数据选择器。这个寄存器的低16 bit连同ESI一同指向的指令将要处理的内存。同时,所有的内存操作指令 默认情况下都用它指定操作段(实模式)或内存(作为选择器,在保护模式。这个寄存器可以被装入任意数值,然而在这么做的时候需要小心一些。方法是,首先把数据送给AX,然后再把它从AX传送给DS(当然,也可以通过堆栈来做). ES 附加段,或附加选择器。这个寄存器的低16 bit连同EDI一同指向的指令将要处理的内存。同样的,这个寄存器可以被装入任意数值,方法和DS类似。 FS F段或F选择器(推测F可能是Free?)。可以用这个寄存器作为默认段寄存器或选择器的一个替代品。它可以被装入任何数值,方法和DS类似。 GS G段或G选择器(G的意义和F一样,没有在Intel的文档中解释)。它和FS几乎完全一样。 SS 堆栈段或堆栈选择器。这个寄存器的低16 bit连同ESP一同指向下一次堆栈操作(push和pop)所要使用的堆栈地址。这个寄存器也可以被装入任意数值,你可以通过入栈和出栈操作来给他赋值,不过由于堆栈对于很多操作有很重要的意义,因此,不正确的修改有可能造成对堆栈的破坏。 * 注意 一定不要在初学汇编的阶段把这些寄存器弄混。他们非常重要,而一旦你掌握了他们,你就可以对他们做任意的操作了。段寄存器,或选择器,在没有指定的情况下都是使用默认的那个。这句话在现在看来可能有点稀里糊涂,不过你很快就会在后面知道如何去做。 特殊寄存器(指向到特定段或内存的偏移量): EIP 这个寄存器非常的重要。这是一个32位宽的寄存器 ,同CS一同指向即将执行的那条指令的地址。不能够直接修改这个寄存器的值,修改它的唯一方法是跳转或分支指令。(CS是默认的段或选择器) ESP 这个32位寄存器指向堆栈中即将被操作的那个地址。尽管可以修改它的值,然而并不提倡这样做,因为如果你不是非常明白自己在做什么,那么你可能造成堆栈的破坏。对于绝大多数情况而言,这对程序是致命的。(SS是默认的段或选择器) IP: Instruction Pointer, 指令指针 SP: Stack Pointer, 堆栈指针 好了,上面是最基本的寄存器。下面是一些其他的寄存器,你甚至可能没有听说过它们。(都是32位宽): CR0, CR2, CR3(控制寄存器)。举一个例子,CR0的作用是切换实模式和保护模式。 还有其他一些寄存器,D0, D1, D2, D3, D6和D7(调试寄存器)。他们可以作为调试器的硬件支持来设置条件断点。 TR3, TR4, TR5, TR6 和 TR? 寄存器(测试寄存器)用于某些条件测试。 最后我们要说的是一个在程序设计中起着非常关键的作用的寄存器:标志寄存器。
注册会计师资格考试,经济师资格考试
汇编语言教程之二_2006年计算机等级考试(IT类考试,全国计算机等级考试) 新闻动态更新 汇编语言教程之二_2006年计算机等级考试(IT类考试,全国计算机等级考试)
汇编语言教程之二_2006年计算机等级考试(IT类考试,全国计算机等级考试) 相关文章更新 汇编语言教程之二_2006年计算机等级考试(IT类考试,全国计算机等级考试)
·山东定陶县杜堂乡宣传预防艾滋病求实效
·河北今年高考招生录取7月8日开始 录取将分批次
·南开严把博士生“质”“量”关
·考研上海区纪律良好不设手机探测狗
·重庆:今年入学的大学新生将有心理档案
·全面理解“以人为本”的师德内涵
·北京中考查分系统提前开通 附各区县查分时间方
·长春一中学尝试取消班主任
·江苏专转本招生计划确定 毕业颁发办班院校文凭
·上海卫生局发文艾滋病防治 患者药费减免
·内蒙古贫困大学生可获财政贴息助学贷款
·远程教育乐坏农家娃
·青少年宫变培训宫 孩子的娱乐天堂在哪(组图)
·无病状不要常用眼药水 日常保健不时眨眼即可
·助患者驱除“糖魔” 中国糖尿病康复曙光行动启
·湖南一名女子确诊感染高致病性禽流感死亡
·1997年9月全国计算机等级考试二级FOXBASE笔试
·全国计算机等级二级FOX上机编程题题型_2006年
·2006年计算机等级考试二级Java样题(1)IT类考试
·三级网络技术复习笔记(第5-7章)_2006年计算
·如何准备计算机等级考试(2)IT类考试,全国计算
·05年计算机等级二级VB模拟卷(2)IT类考试,全国
·全国计算机等级考试三级网络技术感想_2006年计
·三级数据库应该怎样复习!_2006年计算机等级考
·06年等级考试VB考试大纲(1)IT类考试,全国计算
·二级公共基础知识考试要点:数据结构与算法_2
·江苏:合肥市2006计算机等级考试4月1日开考IT
·四级机试试题及答案一(3)IT类考试,全国计算机
·全国计算机等级考试一级模拟试题10(1)IT类考试
·全国计算机等极考试二级笔试试卷基础知识和C语
·2004年4月全国计算机等级考试二级VFP笔试试卷
·全国计算机等级考试一级模拟试题11(3)IT类考试
 
汇编语言教程之二_2006年计算机等级考试(IT类考试,全国计算机等级考试) 搜索引擎 汇编语言教程之二_2006年计算机等级考试(IT类考试,全国计算机等级考试)
汇编语言教程之二_2006年计算机等级考试(IT类考试,全国计算机等级考试) 网络课堂 汇编语言教程之二_2006年计算机等级考试(IT类考试,全国计算机等级考试)
工程类
·2006年安全评价师考前网上
·2006环境影响评价师网络远
·土地登记代理人网上辅导方
·2005一级建造师考试网上远
·2006房地产经纪人网络远程
·2006年质量专业技术资格考
财经类
·2006年会计职称考试辅导方
·2006年统计专业资格考试辅
·2006年会计从业资格(会计
·2006年注册会计师网上辅导
·2006年注册税务师执业资格
·2006年全国单证员资格考试
外语类
·2006年职称日语考试辅导方
·日语零起点远程课程辅导方
·零起点英语课程简介
·BEC商务英语网上辅导介绍
·2006年高等教育日语等级考
·2006年在职攻读硕士学位英
医药类
·2006年检验专业考试辅导方
·2006内科学主治医师网上辅
·2006年外科学主治医师网上
·2006年药学专业考试辅导方
·2006年护理学专业初级护士
·2006年护理学专业中级主管
自考类
·2006年高等教育自学考试网
汇编语言教程之二_2006年计算机等级考试(IT类考试,全国计算机等级考试) 新书推荐 汇编语言教程之二_2006年计算机等级考试(IT类考试,全国计算机等级考试)
·中国建筑工业出版社全国二级建造师执业资格考试用书
·东北财经大学出版社2005年CPA易考通--会计
·中国电力出版社全国注册安全工程师执业资格考试答疑
·北京大学出版社2005年CPA考试考前最后六套题(轻松过
·中国财政经济出版社2005年度注册会计师全国统一考试
·中国财政经济出版社2005年度注册会计师全国统一考试
·北京大学出版社2005年CPA考试考前最后六套题(轻松过
·中国广播影视音像出版中心出版社财务成本管理(30VC
·中国建筑工业出版社全国二级建造师执业资格考试用书
·东北财经大学出版社2005年CPA易考通--财务成本管理
·中国建筑工业出版社全国二级建造师执业资格考试大纲
·中国广播影视音像出版中心出版社税法(25VCD)--名
·东北财经大学出版社2005年CPA易考通--经济法
·中国广播影视音像出版中心出版社经济法(25VCD)--
·东北财经大学出版社2005年CPA易考通--税法
·东北财经大学出版社2005年CPA易考通--审计
公司简介 - 联系方法 - 招聘信息 - 付款方式 - 意见反馈 - 免责声明 - 广告服务 - 站点导航 - 网速测试
百度超级搜霸 门市地址:上海市邯郸路220号内右侧101室 邮编:200433 一搜工具条
营业时间:上午8:30~晚上21:00(节假日照常营业,全年无休)
  咨询电话:021-55059291-801分机 021-55059291-802分机
  业务传真:021-55059291-803分机
业务联系:info@cntopedu.cn 联系QQ:11710687(淘你喜)
通用网址 上海精端计算机科技有限公司
copyright@2003-2010
中国顶尖在线 厦门紫竹
厦门紫竹IDC数字网络空间——虚拟主机——托管出租——域名注册服务商
值得信赖的IDC品牌
>