正在加载图片...
194的 China-pub.com 下载 假设A中是35h,寄存器B中是22h,当指令: 执行后,累加器中的结果为13h。 若A中的值为35h,寄存器H中的值为10h,L中的值为7Ch,存储器地址107Ch中的值为4A 则指令: 把累加器中的内容(35h)和通过寄存器对HL寻址得到的值(4Ah)相加,并把结果 (7Fh)保存到累加器中。 ADC和SBB指令允许8080加/减16位、24位、32位和更多位的数。例如,假设寄存器对BC 和DE都包含16位数,你想把它们相加,并把结果存到BC中。下面是具体做法: MOv A, C 低位字节 MOV C, A MovA,B:高位字节 MOV B, A 其中有两条加法指令,ADD指令用于低位字节相加,ADC指令用于高位字节相加。第 条加法指令的进位位包含在第二条加法指令中。因为只能利用累加器进行加法运算,所以在 这么短的代码中也需要至少4条MOⅤ指令。许多MOV指令常常出现在8080代码中 该是谈论8080标志位的时候了。在第17章的处理器中,已有进位标志位CF和零标志位ZF 8080还有3个标志位,即符号标志位SF、奇偶标志位PF和辅助进位标志位AF。所有标志位都 保存在另一个叫作程序状态字(PSw: program status word)的8位寄存器中。像LDA、STA 和MOV这样的指令不影响标志位,而ADD、SUB、ADC和SBB指令却要影响标志位,影响的 方式如下: 当运算结果最高位为1时,符号标志位SF为1,表示结果为负 当结果为0时,零标志位ZF为1 当运算结果中“1”的个数为偶数时,奇偶标志位PF=1:当运算结果中“1”的个数为 奇数时,奇偶标志位PF=0。PF有时用来粗略地检测错误,此标志位在8080程序中不常 用 ·当ADD或ADC运算产生进位或SUB与SBB运算不发生借位时,进位标志位CF=1。(这点 不同于第17章中的计算机进位标志的实现。) ·当操作结果的低4位向高4位有进位时,辅助进位标志位AF=1。此标志位只用在DAA (十进制调整累加器)指令中 有两条指令直接影响进位标志位CF 操作码 含义 置CF为1 CMC 第17章中的计算机可执行ADD、ADC、SUB和SBB指令(尽管没什么灵活性),但8080还 可以进行逻辑运算AND(与)、OR(或)和ⅹOR(异或)。算术运算和逻辑运算都可通过处理 器的算术逻辑单元(ALU)来执行194 编码的奥秘 下载 假设A中是3 5 h ,寄存器B中是2 2 h ,当指令: SUB A,B 执行后,累加器中的结果为 1 3 h。 若A中的值为3 5 h ,寄存器H中的值为1 0 h,L中的值为7 C h,存储器地址1 0 7 C h中的值为4 A h,则指令: ADD A,[HL] 把累加器中的内容( 3 5 h)和通过寄存器对 H L寻址得到的值( 4 A h)相加,并把结果 (7 F h)保存到累加器中。 A D C和S B B指令允许8 0 8 0加/减1 6位、2 4位、3 2位和更多位的数。例如,假设寄存器对 B C 和D E都包含1 6位数,你想把它们相加,并把结果存到 B C中。下面是具体做法: MOV A,C ;低位字节 ADD A,E MOV C,A MOV A,B ;高位字节 ADC A,D MOV B,A 其中有两条加法指令, A D D指令用于低位字节相加, A D C指令用于高位字节相加。第一 条加法指令的进位位包含在第二条加法指令中。因为只能利用累加器进行加法运算,所以在 这么短的代码中也需要至少 4条M O V指令。许多M O V指令常常出现在8 0 8 0代码中。 该是谈论8 0 8 0标志位的时候了。在第1 7章的处理器中,已有进位标志位C F和零标志位Z F。 8 0 8 0还有3个标志位,即符号标志位 S F、奇偶标志位P F和辅助进位标志位 A F。所有标志位都 保存在另一个叫作程序状态字( P S W:program status word)的8位寄存器中。像L D A、S TA 和M O V这样的指令不影响标志位,而 A D D、S U B、A D C和S B B指令却要影响标志位,影响的 方式如下: • 当运算结果最高位为1时,符号标志位S F为1,表示结果为负。 • 当结果为0时,零标志位Z F为1。 • 当运算结果中“ 1”的个数为偶数时,奇偶标志位 P F = 1;当运算结果中“ 1”的个数为 奇数时,奇偶标志位 P F = 0。P F有时用来粗略地检测错误,此标志位在 8 0 8 0程序中不常 用。 • 当A D D或A D C运算产生进位或S U B与S B B运算不发生借位时,进位标志位 C F = 1。(这点 不同于第1 7章中的计算机进位标志的实现。) • 当操作结果的低 4位向高4位有进位时,辅助进位标志位 A F = 1。此标志位只用在 D A A (十进制调整累加器)指令中。 有两条指令直接影响进位标志位 C F: 操作码 指令 含义 3 7 S T C 置C F为1 3 F C M C C F取反 第1 7章中的计算机可执行A D D、A D C、S U B和S B B指令(尽管没什么灵活性),但8 0 8 0还 可以进行逻辑运算A N D(与)、O R(或)和X O R(异或)。算术运算和逻辑运算都可通过处理 器的算术逻辑单元(A L U)来执行:
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有