汇编语言知识大全.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 基础知识 : 一.机器码:1.计算机只认识 0,1 两种状态。而机器码只能由 0,1 组成。 故机器码相当难认,故产生了汇编语言。 2.其中汇编由三类指令形成:汇编指令(有机器码对应), 伪指令,其他符号(编译的时候有用)。 每一总 CPU 都有自己的指令集;注意学习的侧重点。 1 二.存储器:1.存储单元中数据和指令没任何差别。 存储单元:Eg:128 个储存单元(0~127)128byte。 //1 字节=1B=1byte=8bit 条件反射:1 存储单元=1B=8 个 2 进制;以后的 ax, cs 之类的占两个存储单元, ah 之类的占一个 CPU 对存储器的读写:地址信息+控制信息+数据信息 三.总线: 1.地址总线:寻址用,参数(宽度)为 N 根,则可以寻到 2^N 个内存单元。 //因为一根总线只能表示 0,1,N 根的话可以表示 2^N 数据总线:传送数据用,参数为 N 根,一次可以传送 N/8 个存储单元。 控制总线:cpu 对元器件的控制能力。越多控制力越强。 2 四.内存地址空间:1.由地址总线决定大小。 主板:cpu 和核心器件(或接口卡)用地址总线, 数据总线,控制总 线连接起来。 接口卡:由于 cpu 不能直接控制外设,需通过接 口卡间接控制。 各类存储器芯片:RAM,BIOS(主板,各芯片) 的 ROM,接卡槽的 RAM CPU 在操控他们的时候,把他们都当作内存来对待,把他们总的 看作一个由 若干个存储单元组成的逻辑存储器,即我们所说的内存地址空间。 自己的一点理解:CPU 对内存的操作是一样的,但是在 cpu,内存, 芯片之间的硬件本身所牵扯的线是不同的。所以一些地址的功能是对应 一些芯片的。 第二章 寄存器 引入:CPU 中含有运算器,寄存器,控制器(由内部总线连接)。而 寄存器是可以用来指令读写的部件。8086 有 14 个寄存器(都是 16 位, 2 个存储空间)。 一.通用寄存器(ax,bx,cx,dx),16 位,可以分为高低位 3 注意 1.范围:16 位的 2^16-1,8 位的 2^8-1 2.进行数据传送或运算时要注意位数对应,否则会报错 二.字:1. 1 个字==2 个字节。 2. 在寄存器中的存储:0x 高位字节低位字节 ;单元认定的是低 单元 数制,16 进制h,2 进制b 三.20 根数据总线的 16 位 cpu--8086 给出物理地址的方法: 1.20 根数据总线(稍外):寻址能力为 1M 2.16 位的 cpu(内部):一次能处理的数据位 2^16。 3.方法:物理地址=段地址*16+偏移地址 ;*16==左移四位 四.段: 1.段地址为 16 的倍数 2.一个段的长度最长为 64K;因为偏移地址为 16 位,寻址能力为 64K 五.回到寄存器--段寄存器(cs,ds,ss,es) cs(代码段寄存器),ip(指针指令寄存器);cs 为存放指令的 段地址 cpu 中 cs,p 的运作过程:先将两个 16 位的数通过地址加法器 变成一个 20 位的地址,通过输入输出控制电路,寻址并返回给 cpu 指 令。ip 自动增加。执行指令。next。。。 修改 cs;ip:mov 不行,jmp 行。形为:jmp cs:ip 或者 jmp ip(通用寄存器);转移指令修改 ip 六.代码段: 4 要小于 64K 存放后用 cs,ip 指向第一条指令的首地址。 第三章 还是寄存器 一.内存中字的存储:因为字(2 个存储单位)要存在两个字节当中。运 用 mov 等指令时,指向的是低字节。 二.DS 和[address] 1.[]中放的是偏移地址,默认段地址是 ds。 2.段地址的移入:要通过通用寄存器。 三.mov add sub(减) 指令 除了处理[]内存可以位数可以不对应,其他都要。 四.数据段 五.栈 概念:FILO,以字为单位。 栈顶的单元为低,栈底的单元较高。 ss(段寄存器):sp(寄存器):任意时刻指向栈顶。 push 进栈:sp-2 mov;pop 出栈:,mov sp+2 5.栈的最大容 量为 64K,超出覆盖 注意初始化的时候栈顶的指向是栈底+1。入出栈最易出错 5 第四章 第一个程序 一.源程序的架构: 开头:assume(假设)cs: xxx 中间:xxx segment(段) ………… 程序返回:mov ax,4c00h int 21h xxx ends 结束:end 二.从码字到.exew 下载 masm,运行 cmd,找到目录,masm 文件名,link 文件名,文 件名 。 第五章 [bx]和 loop 一.[bx] 1.Q:为什么是bx,ax,cx,dx 行不行? A:不行 用debug 的a 指令试试看。(参考实验一) 可以理

文档评论(0)

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

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

1亿VIP精品文档

相关文档