2021年汇编笔试知识点.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一.汇编基本 机器语言与汇编语言区别: 机器语言是由机器指令构成CPU可以直接辨认并执行指令,而汇编语言由汇编指令集,伪指令集及其使用规则统称 编译型语言和解释型语言: 编译型语言是解释完程序之后生成可执行程序后,运营后不需要编译程序在场,例如C语言而解释性语言是边解释边执行,例如BASIC和脚本语言,java等 汇编语言特点: 占用空间少 执行速度快 直接控制硬件能力强 开发周边长,可移植性差,不易掌握 效率更高,速度更快 减小对存储空间需求 冯.诺伊曼构造:运算器,存储器,控制器,输入设备,输出设备。详细:数据和程序都以二进制形式不加区别放在存储器中,存储位置由地址决定,地址码也是二进制形式 计算机构成:硬件+软。硬件构成:CPU,总线,输入输出设备,存储器;软件构成:系统软件,顾客软件 8086微解决器构造图,理解掌握 这里要解决20位总线和16位寄存器冲突,办法是物理地址求和,段基址与偏移地址组合 寄存器定义:寄存器是CPU内存储操作数地方,它操作速度比内存操作数快 BP和SP,指针寄存器,重要来访问堆栈内存储单元;BP,可直接存取堆栈中数据,SP只能访问栈顶 内存管理模式: 一种字内容是该地址指向字节单元与下一种单元拼接而成 一种双子内容是该地址指向单元及其背面3个单元拼接而成 拼接原则:高地址存储高位内容,低地址存储低位内容 段寄存器和指针寄存器配对使用:CS与IP取指令所用段寄存器和偏移量,串操作中目的操作数段寄存器和偏移量一定是ES和DI,堆栈操作中段寄存器和偏移量一定是SS和SP 标志寄存器就一种FLAG,6个状态标志,3个控制标志,7位保存, 控制标志: IF,中断标志,IF=1则开中断,IF=0,关中断 TF,陷阱标志,TF=1则单步中断 DF,方向标志,在串操作数指令操作中,DF=1则自减,DF=0则自增 数据表达:,二进制在背面跟B,八进制跟Q,十六进制跟H,十进制跟D,十六进制如果第一种是字母话必要在前面加0 BCD码,分为压缩和非压缩BCD码 非压缩BCD码是用一种字节表达一位十进制数,高四位为0000,低四位表达0-9 压缩BCD码是用一种字节表达两位十进制数,高四位表达十位数字,低四位表达个位数字 补码扩展问题: 正数符号扩展应当添0补足,负数应当用1补足,n位二进制数补码表达数范畴是-2^n-1<=n<=2^n-1 -1 浮点数表达办法 二.指令系统 关于操作数 单操作数指令操作数只能是寄存器操作数或者内存操作数 双操作数指令目的操作数只能是寄存器操作数或内存操作数,而源操作数可以使三种操作数,但是2种操作数不能同步是内存操作数 内存操作数核心是找到其所在地址,即必要找到所在段和相对段首偏移地址即EA,然后求和得到物理地址 寻址方式是重点 直接寻址中,可以用变量符号代替数值地址 寄存器间接寻址,依然是运用物理地址寻址,只但是地址存在寄存器里面,例如BX,SI,DI 寄存器相对寻址是前2者最普通状况, 基址变址寻址方式,BX与DI,SI,BP与SI,DI 相对基址变址就是多一种及时数偏移量 指令系统中所关怀有3点: 某些指令执行时间,算术运算中IDIV是最多,另一方面是乘法IMUL,最快是mov和移位指令,另一方面是ADD;加法指令执行时间,最慢是及时数到存储器,另一方面是寄存器到存储器,最快是寄存器到寄存器;各种寻址方式里面,最快是寄存器间接寻址,最慢是相对基址变址 MOV指令注意事项 MOV指令时使用最频繁指令 2种操作数不能同步是存储器,段寄存器 目的操作数不能是及时数,不能是CS 不能直接给段寄存器赋值,必要要通过寄存器来赋值 IP不能是MOV操作数 MOV不变化FLAG中值 堆栈操作POP和PUSH PUSH CS 合法但是POP CS不合法 PUSH 和POP操作数都不能是及时数 PUSH和POP只能按字来访问堆栈,依然遵守高高低低原则,不能按字节来访问 PUSH和POP不影响标志位 XCHG命令 XCHG不影响标志位 操作数不涉及段寄存器,也不能是及时数 2个操作数不能同步是存储器 XLAT(查表转换指令) 有2个隐藏操作数,功能:表首是由DS:BX决定,偏移量为AL,然后取出相应字节数据放到AL中 IN和OUT LAHF,将标志寄存器状态标志SF,AF,CF,PF,ZF转送到AH相应位置,若没有则AH位不变;相反SAHF,是将AH相应位值给标志位。注意,这2种操作不影响FLAG高位,例如OF,TF,IF,DF PUSHF将整个FLAG寄存器中内容压入栈且不影响标志寄存器,POPF是将堆栈中内容传送到标志寄存器中,执行命令后悔使标志位发生变化 LEA,取有效地址,功能普通是对BX,SI,DI赋初始值,它源操作数是必要是16位存储器,且不影响标志位;相应LDS/LES,则是取段寄存

文档评论(0)

181****8523 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档