8086汇编语言教程笔记:CPU与内存寻址
需积分: 7 65 浏览量
更新于2024-09-11
收藏 45KB DOC 举报
"这是一份关于汇编语言的教程笔记,主要涵盖了汇编语言的基础知识、CPU工作原理以及内存访问等内容。笔记基于清华大学王爽的《汇编语言》教材,详细解析了汇编语言的组成、CPU的地址线宽度、内存单位的换算,以及8086CPU的寄存器结构和寻址方式。此外,还讨论了段寄存器的作用,特别是CS和IP在指令执行中的角色,以及如何通过JMP指令改变它们的值。在内存访问部分,讲解了数据段寄存器DS、字存储的规则、栈操作以及PUSH和POP指令的应用。"
汇编语言是计算机科学中的基本编程语言之一,它与机器语言密切相关,但比机器语言更易读和编写。本教程笔记首先介绍了汇编语言的三个基本组成部分:汇编指令、伪指令和其他符号。汇编指令是机器码的助记符形式,可以直接被CPU执行;伪指令则由编译器处理,不直接对应机器码;其他符号,如算术运算符,由编译器识别和处理。
在CPU的地址线宽度部分,笔记指出地址线数量决定了CPU可寻址的内存单元数量。例如,8086CPU有20根地址线,能寻址的范围是00000H到FFFFFH,总计1MB的内存空间。其中,地址00000H至9FFFFH用于主存储器,A0000H至BFFFFH为显存,C0000H至FFFFFH则是各种ROM。
在8086CPU的寄存器结构中,强调了其16位结构的特点,包括16位的运算器、寄存器和数据通路。物理地址的计算方式是段地址乘以16再加上偏移地址,这种设计允许8086达到1MB的寻址能力。段寄存器(CS、DS、SS和ES)在内存访问中扮演重要角色,其中CS与IP结合确定了指令的执行位置。由于不能直接通过MOV指令修改CS和IP,因此需要使用JMP指令来改变程序执行流程。
在内存访问章节,笔记详细解释了DS数据段寄存器的用途,并指出不能直接将数据写入段寄存器。字数据在存储时占用两个连续的内存单元,低位存储在低地址,高位存储在高地址。此外,栈操作的PUSH和POP指令以及它们对栈顶指针SP的影响也被详细阐述。PUSH用于将数据压入栈,POP则用于从栈中弹出数据,这些操作在处理函数调用和保护现场时非常关键。
通过这份教程笔记,读者可以深入理解汇编语言的基本概念,8086CPU的工作原理,以及如何有效地访问和操作内存。这对于学习计算机底层原理和进行系统级编程至关重要。
2019-05-29 上传
2012-12-13 上传
2012-02-12 上传
2021-10-11 上传
2012-06-09 上传
2021-09-30 上传
2012-11-30 上传
2024-03-23 上传
2014-08-07 上传
1044763750
- 粉丝: 0
- 资源: 1
最新资源
- 探索AVL树算法:以Faculdade Senac Porto Alegre实践为例
- 小学语文教学新工具:创新黑板设计解析
- Minecraft服务器管理新插件ServerForms发布
- MATLAB基因网络模型代码实现及开源分享
- 全方位技术项目源码合集:***报名系统
- Phalcon框架实战案例分析
- MATLAB与Python结合实现短期电力负荷预测的DAT300项目解析
- 市场营销教学专用查询装置设计方案
- 随身WiFi高通210 MS8909设备的Root引导文件破解攻略
- 实现服务器端级联:modella与leveldb适配器的应用
- Oracle Linux安装必备依赖包清单与步骤
- Shyer项目:寻找喜欢的聊天伙伴
- MEAN堆栈入门项目: postings-app
- 在线WPS办公功能全接触及应用示例
- 新型带储订盒订书机设计文档
- VB多媒体教学演示系统源代码及技术项目资源大全