汇编语言知识大全.docx

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

文档评论(0)

梦幻飞迷0411 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档