8086/8088汇编语言:寄存器、存储器与寻址方式

需积分: 7 0 下载量 193 浏览量 更新于2024-08-17 收藏 410KB PPT 举报
"本资源是清华大学计算机系列教材《80x86汇编语言程序设计教程》的一部分,主要讲解了8086/8088处理器的存储单元内容、寻址方式、寄存器组以及指令系统。内容涵盖了存储器的逻辑地址和物理地址转换,通用寄存器的用途,段寄存器的功能,以及标志寄存器的各个标志位含义。通过实例展示了如何理解和使用这些概念进行程序设计。" 在汇编语言中,存储单元的内容是由其地址决定的。例如,地址(0004H)可能存储不同数值,如78H、5678H、12345678H、2F1EH等。这些数值可以是单一字节或双字节,取决于处理器的字长。存储器的内容可以取之不尽,意味着可以通过改变地址来访问不同的数据。 8086/8088处理器采用分段存储管理,逻辑地址由段地址和偏移地址组成,如1000:0000H、1000:0004H等。逻辑地址组合成物理地址时,段地址左移4位(相当于乘以16)后加上偏移地址,形成实际内存中的位置,如10000H、10004H等。 处理器的寄存器组包括通用寄存器、指针寄存器、控制寄存器等。通用寄存器如AX、BX、CX、DX可以被用于多种计算任务,它们可以被分为高8位和低8位,如AH、AL、BH、BL等。SP、BP、SI、DI分别作为堆栈指针、基址指针、源地址指针和目的地址指针。段寄存器如CS、DS、SS、ES则用于存储段地址,控制数据和代码的访问。IP寄存器保存下一条要执行指令的偏移地址,而FLAGS寄存器包含了各种标志位,如OF(溢出)、SF(符号)、ZF(零)、AF(辅助进位)、PF(奇偶)等,这些标志位在运算后根据结果自动设置,用于条件判断和流程控制。 举例来说,ADD AX, BX指令执行后,会根据运算结果更新标志寄存器。如果发生溢出,OF标志会被置1;如果结果为负,SF标志会被置1;如果结果为零,ZF标志会被置1;如果结果的低4位中有偶数个1,PF标志会被置1。这些标志位可以被用于条件分支和循环控制,使得程序能够根据计算结果动态调整执行路径。 这段内容详细介绍了8086/8088处理器的存储机制、寄存器功能和标志寄存器的使用,为理解和编写汇编语言程序提供了基础。