《汇编语言》王爽版 学习笔记(精辟的第十一章总结完毕).doc

 《汇编语言》王爽版 学习笔记(精辟的第十一章总结完毕).doc

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《汇编语言》王爽版 学习笔记(精辟的第十一章总结完毕) Nisy 总坛主 UID 2198 精华 69 威望 8662 在线时间 2615 小时 最后登录 2010-12-10 《汇编语言》王爽版 学习笔记(精辟的第十一章总结完毕) &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 前言: 汇编语言,这个东西我是自学的,所以理解上也是很皮毛,这里简单写下读书写得,文中如有出错之处,还望多多指正。我把这本书分成两部分:前11章为第一部分。后几章涉及到中断等16位操作系统的知识,这儿就不写了,我们只关心前一部分。 汇编语言。我是这样理解的:首先他是一套指令集,学习ASM可以站到一个“如何设计处理器、代码如何执行的角度”来看待这套指令集,或者说我们如何通过学习汇编语言来构建一个数据自己涉及的虚拟机平台;期中包括了寄存器的设置、如何将程序模块化==>堆栈思想的引用等等。 程序,就是内存中的一段数据 我们可以将其当做代码 也可以当做数据 也可以作堆栈来使用 所以内存的这些数据如何使用 决定权在我们如何去定义 我们如何让内存的数据与处理器产生联系 并去实现程序员的目的 作为要写一本教程, 首先要考虑如何将知识讲授给对方。这就是一个将知识系统化并条理化展开的一个过程。前言上有两句话:一个是循序渐进 后边的知识后边再讲。这句话很厉害 这个思想代表了作者的逻辑,第二句话是 编程的平台不是操作系统而是硬件。我们在16的单任务操作系统中可以更专注的了解汇编这门语言 解和对C语言的讲解中来尽量去深挖这本书更深层的东西。OK,旅程开始 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 正文: &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 前两章: 首先介绍了16位的程序如何寻址:段地址+偏移地址。可以找到内存数据后,我们的处理器就有事情来做了。处理器要做的工具就是处理内存的数据,如读取内存的数据、移动内存的数据、对内存的数据做相应的运算(如加减乘除、布尔运算、逻辑移位),我们知道CPU有一些寄存器,那如果不用这些通用寄存器,程序将变成怎样?比如实现一个加法的操作: int i=10,j=20; j+=i; 用ASM描述一下: ........................................................ ; ************** 描述性代码 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*** assume cs:code,ds:data data segment i dw 10 j dw 20 data ends code segment start: mov ds,data add j,i 执行返回代码 code ends end start ; ************** 描述性代码 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*** ........................................................ 首先,如果CPU内部没有暂时存储器,那我们所有的操作都将直接操作处理内存数据,如果直接操作内存数据,CPU的执行效率将降低,如从内存中COPY数 据到加法器中肯定没有从CPU内部传递效率高,资源上本身就是浪费。同时操作上即不方便也将对执行上造成紊乱,如果我们在CPU内部添加一个寄存器,作为 一个中间停放站,情况又将会怎样。 我们设置一个中间变量 ax 情况将变成这样: ........................................................ assume cs:code,ds:data data segment i dw 10 j dw 20 data ends code segment start: mov ax,data mov ds,ax mov ax,i add ax,j mov ax,4c00h int 21h code ends end start ........................................................ 0BD1:0000 B8D00B MOV AX,0

文档评论(0)

laoshang_m + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档