期末复习-汇编语言各章总结

期末复习-汇编语言各章总结

ID:12843779

大小:108.50 KB

页数:20页

时间:2018-07-19

期末复习-汇编语言各章总结_第1页
期末复习-汇编语言各章总结_第2页
期末复习-汇编语言各章总结_第3页
期末复习-汇编语言各章总结_第4页
期末复习-汇编语言各章总结_第5页
资源描述:

《期末复习-汇编语言各章总结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、汇编语言学习笔记《汇编语言》--王爽前言学习汇编目的:充分获得底层编程体验;深刻理解机器运行程序的机理。原则:没有通过监测点不要向下学习;没有完成当前实验不要向下学习。第一章基础知识有三类指令组成汇编语言:汇编指令;伪指令;其他符号。8bit=1byte=一个存储单元有n根地址线,则可以寻址2的n次方个内存单元。1.1节--1.10节小结(1)汇编指令是机器指令的助记符,同机器指令一一对应。(2)每一种cpu都有自己的汇编指令集。(3)cpu可以直接使用的信息在存储器中存放。(4)在存储器中指令和数据没有任何区

2、别,都是二进制信息。(5)存储单元从零开始顺序编号。(6)一个存储单元可以存储8个bit,即八位二进制数。(7)每一个cpu芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。一个cpu可以引出的三种总线的宽度标志了这个cpu不同方面的性能。地址总线的宽度决定了cpu的寻址能力;数据总线的宽度决定了cpu与其他器件进行数据传送时的一次数据传送量;控制总线的宽度决定了cpu对系统中其他器件的控制能力。监测点:1KB的存储器有1024个存储单元?存储单元的编号从0到1023.内存地址空间:   最终运

3、行程序的是cpu,我们用汇编编程时,必须要从cpu的角度思考问题。对cpu来讲,系统中的所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受cpu寻址能力的限制。这个逻辑存储器即是我们所说的内存地址空间。第二章寄存器(cpu的工作原理)movax,2addax,axaddax,axaddax,ax(1)cpu中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址;(2)段地址和偏移地址通过内部总线送人一个称为地址加法器的部件;(3)地址加法器将两个16位地址合成为一个20位的物理地址;(

4、4)地址加法器通过内部总线将20位物理地址送人输入输出控制电路;(5)输入输出控制电路将20位物理地址送上地址总线;(6)20位物理地址被地址总线传送到存储器;段地址*16+偏移地址=物理地址的本质含义内存并没有分段,段的划分来自cpu。以后编程时可以根据需要,将若干地址连续的内存单元看做一个段,用段地址*16定位段的起始地址,用偏移地址定位段的内存单元。一个段的起始地址一定是16的倍数,一个段的最大长度为64kB。当然也没有办法定义一个起始地址不是16的倍数的段。cpu可以用不同的段地址和偏移地址形成同一物理

5、地址。在8086cpu加电启动或复位后cs和ip被设置为cs=f000h,ip=ffffh,即ffff0h单元中的指令是8086pc机开机后执行的第一条指令。(??应该是fffffh吧??)cpu将cs:ip指向的内存单元看做指令。在cpu中,程序员能够用指令读写的部件只有寄存器,程序员可以通过改变寄存器中的内容实现对cpu的控制。mov指令称为传送指令,cpu中大部分寄存器的值都可以通过mov指令改变。除了cs:ip8086没给他这样的功能。cs:ip可以用转移指令来改变。jmpjmpcs:ip用指令给出的段

6、地址修改cs,偏移地址修改ipjmp某一寄存器的功能为:用寄存器中的值修改ipjmpax含义类似于movip,ax段地址在8086pc机的段寄存器存放。当8086cpu要访问内存时,由段寄存器提供内存单元的段地址。8086cpu有四个段寄存器,其中cs用来存放指令的段地址。cs存放指令的段地址,ip存放指令的偏移地址。8086机中,任意时刻,cpu将cs:ip指向的内容当作指令执行。8086cpu的工作过程:1.从cs:ip指向内存单元读取指令,读取的指令进入指令缓冲器;2.ip指向下一条指令3.执行8086提

7、供转移指令修改cs:ip的内容debug的使用查看,修改cpu中寄存器的内容:r命令查看内存中的命令:d命令修改内存中的内容:e命令(可以写入数据,指令,在内存中,它们实际上没有区别)将内存中的命令解释为机器指令和相应的汇编指令:u命令执行cs:ip指向的内存单元处的命令:t命令以汇编指令的形式向内存中写入指令:a命令第三章寄存器(内存访问)3.1内存中字的存储高八位存放在高字节中,低八位存放在低字节中3.2DS和【address】3.3字传送3.4MOVADDSUB3.5数据段3.6栈栈是一种具有特殊的访问方

8、式的存储空间。它的特殊性就在于,最后进入这个空间的数据,最先出去。栈有两个基本的操作:入栈和出栈。栈的这种操作规则被称为:lifo(lastinfirstout,后进先出)。cpu如何知道10000H--1000fH这段空间被当作栈使用?pushpop指令在执行时必须知道哪个单元是栈顶单元,可是如何知道呢?栈顶的段地址存放在ss中,偏移地址存放在sp中。任意时刻,ss:sp指向栈顶单元

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。