计算机原理第三章:汇编语言与程序设计
24 浏览量
更新于2024-06-28
收藏 1MB PPTX 举报
"计算机原理课件第三章汇编PPT资料.pptx"
这篇PPT资料详细介绍了计算机原理中的汇编语言编程以及程序执行过程,特别是涉及到DOS环境下的程序执行和数据传送。以下是其中的关键知识点:
1. **DOS下直接执行过程**:
- 在DOS环境下,程序执行涉及段地址和偏移地址的概念。`PUSHDS`指令将当前数据段寄存器DS的值压入栈,保存程序段前缀PSP(Program Segment Prefix)的段地址。
- 接着,使用`MOV AX, 0`将0压入栈作为偏移地址,这样栈顶就形成了一个返回地址,即CS:IP(代码段寄存器和指令指针寄存器)的组合。
- `RET`指令执行远返回,从栈顶取出CS和IP值,恢复执行流程。
2. **程序模块结构**:
- PPT提到了程序模块的典型结构,包括数据段(DATASEGMENT)、堆栈段(STACKSEGMENT)和代码段(CODESEGMENT)。每个段都有其特定的用途,如数据段存储常量、变量等,堆栈段存放函数调用时的局部变量和返回地址,代码段存放可执行指令。
3. **程序保护和结束返回DOS**:
- 在函数或过程开始时,通常会使用`PUSH DS`和`MOV AX, 0`及`PUSH AX`来保存当前的DS段地址和0偏移地址,以保护调用者的状态。在函数或过程结束时,使用`RET`指令返回到DOS。
4. **数据块传送**:
- 数据块传送是程序中常见的操作,涉及到源数据区和目标数据区。如果两者地址有重叠,必须小心处理,以避免在传送过程中破坏数据。通常,需要根据源数据和目标数据的位置,决定是从源的头部还是尾部开始传送。
5. **地址重叠问题**:
- 当源数据和目标数据区域有重叠时,应先判断哪一部分应该先传输。例如,如果源数据在目标数据之前,应该先传送源数据的尾部,反之则先传送头部。
6. **计算物理地址**:
- 数据区的起始地址由段地址的高16位和偏移地址的低4位组合而成,形成20位物理地址。在进行数据块操作时,需要计算出这两个地址来确保正确地定位和传输数据。
这些内容深入探讨了计算机程序的底层运作,对于理解计算机原理和汇编语言编程至关重要。学习这些概念有助于开发者更好地控制程序的执行流程和管理内存。
2021-10-07 上传
2021-10-09 上传
2021-10-09 上传
2021-10-12 上传
2021-10-08 上传
2021-10-09 上传
智慧安全方案
- 粉丝: 3812
- 资源: 59万+
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜