问题–编写一个程序以在第一个数字位于时减去两个带借位或不借位的8位数字2500内存地址, 第二个数字在2501内存地址并将结果存储到2502借入2503内存地址。
示例–
 
算法–
- 将00加载到寄存器C中(用于借用)
 - 从内存中将两个8位数字加载到寄存器中
 - 将一个数字移到累加器
 - 用累加器减去第二个数字
 - 如果借位不等于1, 请转到步骤7
 - 借贷增量登记1
 - 将累加器内容存储在内存中
 - 将寄存器的内容移入累加器
 - 将累加器的内容存储在其他存储位置
 - 停止
 
程序–
| 内存 | 助记符 | 操作数 | 注释 | 
|---|---|---|---|
| 2000 | MVI | C, 00 | [C] <-00 | 
| 2002 | LHLD | 2500 | [H-L] <-[2500] | 
| 2005 | MOV | A, H | [A] <-[H] | 
| 2006 | SUB | L | [A] <-[A] – [L] | 
| 2007 | JNC | 200B | 如果没有借位就跳 | 
| 200A | INR | C | [C] <-[C] + 1 | 
| 200B | STA | 2502 | [A]-> [2502], 结果 | 
| 200E | MOV | A, C | [A] <-[C] | 
| 2010 | STA | 2503 | [A]-> [2503], 借用 | 
| 2013 | HLT | 停止 | 
说明–寄存器A, H, L, C用于一般用途:
- 影片用于将数据从存储器传输到累加器(1字节)
 - 低密度脂蛋白用于直接使用16位地址(3字节指令)加载寄存器对
 - MVI用于将数据立即移入任何寄存器(2字节)
 - STA用于将累加器的内容存储到内存中(3字节指令)
 - INR用于将寄存器增加1(1字节指令)
 - 联合会如果没有借位, 则用于跳转(3字节指令)
 - 潜艇用于减去两个数字, 其中一个数字在累加器中(1字节)
 - HLT用于暂停程序
 
请参阅:8086程序减去两个带有或不带有借位的16位数字

![从字法上最小长度N的排列,使得对于正好为K个索引,a[i] a[i]+1](https://www.lsbin.com/wp-content/themes/begin%20lts/img/loading.png)