计算机原理第三章:汇编语言与程序设计

0 下载量 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位物理地址。在进行数据块操作时,需要计算出这两个地址来确保正确地定位和传输数据。 这些内容深入探讨了计算机程序的底层运作,对于理解计算机原理和汇编语言编程至关重要。学习这些概念有助于开发者更好地控制程序的执行流程和管理内存。