先决条件–
8086程序找到一个数字的平方根
问题–
编写程序以找到一个理想数字的平方根, 其中代码的起始地址为
2000
号码存储在
3000
内存地址并将结果存储到
3002
内存地址。
示例–
算法–
- 移动0000立即注册CX
- 将存储器3000的值移入寄存器BX
- 将CX移到AX中
- 累加器的值乘以CX
- 比较AX与BX
- 如果为零则跳转
- 将CX寄存器增加1
- 如果没有零, 则跳至步骤3
- 将寄存器CX的内容移入存储器3002
- 停止
程序–
记忆 | 助记符 | 操作数 | 注释 |
---|---|---|---|
2000 | MOV | CX, 0000 | [CX] <-0000 |
2003 | MOV | BX, [3000] | [BX] <-[3000] |
2007 | MOV | AX, CX | [AX] <-[CX] |
2009 | UL | CX | [AX] <-[AX] * [CX] |
200B | CMP | AX, BX | [AX] – [BX] |
200D | JZ | 2015 | 如果为零则跳转 |
2010 | INC | CX | [CX] <-[CX] + 1 |
2012 | JNZ | 2007 | 如果不为零则跳转 |
2015 | MOV | [3002], CX | [3002] <-CX |
2019 | HLT | 停止 |
说明–寄存器AX, BX, CX用于通用。
- 影片用于传输数据
- INC用于将给定寄存器增加1
- JNZ如果它们不为零, 则用于跳转到给定的步骤
- JZ如果它们为零, 则用于跳转到给定的步骤
- UL用于将AX的值与给定的寄存器相乘
- CMP用于比较两个寄存器的值
- HLT用于暂停程序