8085程序查找带进位的二进制补码 | 集2
在这里,我们将了解如何查找带进位的二进制补码。
问题陈述
编写 8085 汇编语言程序,查找存储在 F100 中的数字的二进制补码(带进位),并将结果存储在 F150 和 F151 中。
讨论
在 8085 中,可以使用 CMA 指令对数字进行取反。然后,我们可以加上 01 来使其成为二进制补码。当加上 01 时,可能会产生进位。我们将把它存储到 F151,实际的补码值将存储在 F150 中。
输入
地址 | 数据 |
---|---|
… | … |
F100 | 08 |
… | … |
流程图
程序
地址 | 十六进制代码 | 标签 | 助记符 | 注释 |
---|---|---|---|---|
F000 | 3A, 00, F1 | | LDA F100H | 将内存中的数字加载到 A 寄存器 |
F003 | 2F | | CMA | 获取反码 |
F004 | C6, 01 | | ADI 01 | 加 1 |
F006 | 6F | | MOV L,A | 将 A 寄存器存储到 L 寄存器 |
F007 | 3E, 00 | | MVI A,00H | 清零累加器 |
F009 | 8F | | ADC A | 将 A + A + 进位相加 |
F00A | 67 | | MOV H,A | 将 A 寄存器加载到 H 寄存器 |
F00B | 22, 50, F1 | | SHLD F150 | 将 HL 寄存器对存储到内存 |
F00E | 76 | | HLT | 终止程序 |
输出
地址 | 数据 |
---|---|
… | … |
F150 | F8 |
F151 | 00 |
… | … |
广告