微机原理复习:8086算术运算指令与寄存器应用

需积分: 1 4 下载量 132 浏览量 更新于2024-07-10 收藏 804KB PPT 举报
"算术运算指令举例-微机原理考试必备" 本文主要介绍微机原理中的算术运算指令,以及在微处理器,特别是8086中的应用。通过一个具体的程序段来阐述如何进行双字的算术相加,并回顾了微机系统的基础知识,包括微处理器、数制转换、数的表示法以及寄存器的作用。 首先,我们来看算术运算指令。在提供的程序段中,使用了`LEA`、`MOV`、`ADD`和`ADC`指令。`LEA`指令加载有效地址到寄存器,`MOV`用于数据传输,`ADD`执行加法操作,而`ADC`是带进位的加法,它会考虑进位标志CF来执行加法。这段程序用于计算`NUM1`和`NUM2`两个双字的和,存储结果到`SUM`中。 程序段步骤解析如下: 1. 使用`LEA SI, NUM1`将`NUM1`的地址加载到`SI`寄存器。 2. `MOV AX, [SI]`将`NUM1`的第一个双字加载到`AX`寄存器。 3. `ADD AX, 4[SI]`将`NUM1`的第二个双字加到`AX`,并更新标志位,包括进位标志CF。 4. `MOV 8[SI], AX`将加法结果存回内存地址`8[SI]`,这是`SUM`的第一个双字。 5. `ADD SI, 2`更新`SI`寄存器的值,指向`NUM2`的第一个双字。 6. `MOV AX, [SI]`加载`NUM2`的第一个双字到`AX`。 7. `ADC AX, 4[SI]`带进位地加上`NUM2`的第二个双字,`ADC`会考虑之前`ADD`操作的进位标志。 8. `MOV 8[SI], AX`将最终和存入`SUM`的第二个双字位置。 接着,回顾微机系统的基本概念。微处理器是微机的核心,例如8086,它包含各种寄存器,如累加器`AX`、基址寄存器`BP`、指针寄存器`SP`等。这些寄存器在数据处理和控制流程中扮演重要角色。数据类型和存储顺序影响着数据在内存中的存储方式。存储器地址的表示方法通常基于段和偏移地址,而堆栈是一种特殊的存储区域,用于保存函数调用的上下文。 数的表示法是微机原理中的基础,包括原码、反码和补码。原码直接表示数值,正数最高位为0,负数最高位为1。反码是正数不变,负数除符号位外各位取反。补码是正数不变,负数取反加1,用于无符号数的加减运算以及表示负数。例如,-5的16位补码表示为`1111111111111011B`。 在8086中,`FLAGS`标志寄存器存储了运算结果的状态,如进位标志`CF`、零标志`ZF`、符号标志`SF`等,这些标志用于控制后续的运算和判断条件。 这个例子展示了微机原理中的关键概念,包括算术运算指令的应用、微处理器的寄存器功能以及数的表示方法。这些知识对于理解和分析微机系统的行为至关重要,也是微机原理复习的重点内容。