【8085程序查找数字的平方根】问题–在8085微处理器中编写汇编语言程序以查找数字的平方根。
示例–
文章图片
假设–
我们需要查找其平方根的Number存储在存储位置2050中, 并将最终结果存储在存储位置3050中。
算法–
- 分配01到寄存器D和E
- 加载存储在累加器A中存储位置2050的值
- 从寄存器D中减去存储在累加器A中的值
- 检查累加器是否保持为0, 如果为true, 则跳至步骤8
- 寄存器D的值增加2
- 寄存器E的值增加1
- 跳至步骤3
- 移动存储在寄存器E中的值
- 将A的值存储在内存位置3050
内存地址 | 记忆 | 注释 |
---|---|---|
2000 | MVI D, 01 | D < -01 |
2002 | MVI E, 01 | E < -01 |
2004 | LDA 2050 | A < -M [2050] |
2007 | SUB D | A < -A – D |
2008 | JZ 2011 | 如果ZF = 0则跳转到内存位置2011 |
200B | 印度卢比 | D < -D + 1 |
200度 | 印度卢比 | D < -D + 1 |
200D | 印度卢比 | E < -E + 1 |
200E | JMP 2007 | 跳转到内存位置2007 |
2011 | MOV A, E | A < -E |
2012 | STA 3050 | A-> M [3050] |
2015 | HLT | 结束 |
- MVI D, 01 –用01初始化寄存器D
- MVI E, 01 –用01初始化寄存器E
- LDA 2050 –将存储单元2050中的内容加载到累加器A中
- SUB D –从A减去D的值
- 2011年JZ –如果设置了零标志, 则跳转到内存位置2011
- INR D –将寄存器D的值加1。由于已使用两次, 因此D的值将加2。
- 印度卢比–将寄存器E的值加1
- JMP 2007 –跳转到内存位置2007
- MOV A, E –移动累加器A中寄存器E的值
- STA 3050 –在3050中存储A的值
- HLT –停止执行程序并停止任何进一步的执行
推荐阅读
- PHP gethostbyaddr()函数用法介绍
- CSS calc()函数用法介绍
- JavaScript 常见错误介绍和代码示例
- jQuery slideDown()方法用法示例
- Java中的异常类型与示例
- jQuery Image ProgressBars插件用法介绍
- Python中的文件处理指南(代码示例)
- 以X格式打印奇数长度的字符串
- JavaScript Math min()方法用法介绍