网站大量收购独家精品文档,联系QQ:2885784924

[汇编1-3章.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[汇编1-3章

第1章? 汇编语言基础知识 汇编语言与高级语言的区别: 汇编语言是一种采用助记符表示相应机器指令的操作码和操作数,按照一定的格式书写的一种面向机器的程序设计语言。汇编语言指令与机器指令基本上是一一对应的,其指令只有经过翻译程序(称之为汇编程序)翻译后才能变成机器指令。 高级语言是一种与具体的计算机硬件无关、独立于机器的通用语言.高级语言采用接近自然语言的词汇,其程序的通用性强,易学易用,高级语言也要翻译成机器语言才能在机器上执行,? 它有两种翻译方式: 编译方式:先把高级语言程序翻译成机器语言程序,然后在机器上执行 。 解释方式:直接把高级语言程序在机器上运行,一边解释一边执行 汇编语言的特点: 1与机器关系密切 2效率高 3特殊的使用场合 数制转换 (1)十进制数转换成非十进制数 规则:将十进制数除以基数取余,直到商为0为止,最后从下往上取余数,即得到相应的非十进制数。 【例1-1】将十进制数107转换为二进制数、八进制数和十六进制数。 ?解:(107)10 ?=? (K6 K5 K4 K3 K2 K1 K0)2 ?=? (110 1011) 2 (2)非十进制数转换成十进制数 规则:将非十进制数加权展开写成如下的形式: ? ????? 然后按十进制的运算规则进行相加,就得到相应的十进制数。 (3)二进制转换为八进制、十六进制 规则:二进制数转换为八进制数可将二进制数自右向左每三位一组,转换为十六进制数可按四位一组分组,不够三位或四位用0补齐,每一组用对应八进制数或十六进制数相应的计数符号表示。 (4)八进制、十六进制转换为二进制 规则:八进制数转换成二进制数,从左到右只需将八进制数的1位用三位对应的二进制数表示即可。十六进制数转换成二进制数时,从左到右只需将十六进制数的1位用四位对应的二进制数表示即可。 三种编码的表示与转化 注:了解机器中为什么要使用补码来表示 1:0有唯一表示 2:便于加减运算 逻辑运算符:逻辑非NOT? 逻辑与AND? 逻辑或OR? 逻辑异或XOR 注意课后习题搞明白就行了 第二章计算机内部结构与寻址方式 80X86CPU由三部分组成:运算器,控制器和寄存器,这三大部件有系统总线(AB),数据总线(DB)和控制总线(CB)连成一个整体。 ?执行部件EU 寄存器组: 数据寄存器组【16位】AX 累加器,存放操作数或运算中间结果 BX, 基地址寄存器,用于在计算存储器地址是存放操作数的偏移地址 CX, 计数寄存器,用于在移位指令,循环指令和串操作指令作为计数控制 DX? 数据寄存器,做双字长运算时DX负责存放高位字,外设输入输出时,DX负责存放端口地址。 ??????????? 【8位】AH,AL,BH,BL,CH,CL,DH,DL 地址寄存器组SI DI BP SP (作用P15) 注:SP是专用的寄存器,不能作为数据寄存器使用。 标志寄存器OF,DF,IF,TF,SF,ZF,AF,PF,CF 作用:符号标志SF:结果为正SF=0,反之SF=1 零标志ZF:结果为0,ZF=1,反之ZF=0 溢出标志OF:若结果溢出,OF=1,反之OF=0 附加:判断溢出的方法,两个符号相同的数据相加(含两个符号不同的数据相减)若结果与原数据符号不同则溢出,其他情况则不会溢出 进位标志CF:运算产生进位或者借位时CF=1,反之CF=0 段寄存器组:CS,代码段 DS数据段 SS堆栈段 ES附加段 (注:表2-1) ?存储器组: 8086CPU地址总宽度为20位,而2^20=1MB,任一存储单元的地址在00000H到0FFFFFH之间 逻辑地址和物理地址 物理地址PA=段地址SA*16+偏移地址EA 注:若段地址是16进制,则乘以10 CS:IP指CPU下一个段运行的指令是什么 DS:EA存取数据段中的数据 SS:SP操作堆栈顶的地址 ES:EA存取附加段的数据 堆栈 1、特点“先进后出”或者“后进先出”的操作原则 ?? 取数据时从低地址到高地址方向,存储数据时从高地址到低地址方向,SP作为指针,内容有堆栈段寄存器SS给出,SP的内容为栈顶相对于SS的偏移地址,空栈时,SP指向栈底*(画图下高上低) PUSH入栈指令,先移动指针,后存数,将高字节存放在高地址中,低字节存放在低地址中 POP出栈指,将栈顶元素弹出至某一寄存器,段寄存器(除CS)或存储器中 (令详见例2-3) ?寻址方式(不会判断是什么样的寻址方式,而是计算执行结果) (注:例2-5至2-14) 立即数寻址的作用:给“寄存器”或“存储单元”赋值。 小注:立即数只能作为“源操作数”,它不能作为“目的操作数”。? 立即数不能送往段寄存器

文档评论(0)

laideman + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档