问题–在8085微处理器中编写汇编语言程序, 以找到8位数字的平方。
示例–
文章图片
假设–输入数据和输出数据的地址分别为2050和3050。
【8085程序查找8位数字的平方】方法–合并寄存器H和L的内容, 结果内容可用于间接指向存储器位置, 并且该存储器位置由M指定。要查找任何数字的平方, 请继续在最初包含0的累加器A中添加该数字我们需要找到其平方的次数。
算法–
- 将20分配给寄存器H, 将50分配给寄存器L, 将00分配给累加器A
- 加载由寄存器B中的M指定的存储单元的内容
- 将累加器A中的M内容与B的减值相加01
- 检查B是否持有00, 如果为true, 则将A的值存储在内存位置3050中, 否则转到步骤3
内存地址 | 记忆 | 注释 |
---|---|---|
2000 | MVI H 20 | H < -20 |
2002 | MVI L 50 | L < -50 |
2004 | MVI A 00 | A < -00 |
2006 | MOV B, M | B < -M |
2007 | 添加M | A < -A + M |
2008 | DCR B | B < -B – 01 |
2009 | JNZ 2007 | 如果ZF = 0则跳转 |
200度 | STA 3050 | M [3050] < -A |
200楼 | HLT | 结束 |
- MVI H 20 –用20初始化寄存器H
- MVI L 50 –用50初始化寄存器L
- MVI A 00 –用00初始化累加器A
- MOV B, M –移动由寄存器B中的M间接指定的存储位置的内容
- 添加M –在累加器A中添加由M间接指定的存储位置的内容
- DCR B –将寄存器B的值减1
- JNZ 2007 –如果ZF = 0, 则跳转到存储器位置2007, 即寄存器B不包含0
- STA 3050 –在3050中存储A的值
- HLT –停止执行程序并停止任何进一步的执行
推荐阅读
- Python MongoDB – create_index查询用法详细示例
- PHP SplObjectStorage contains()函数用法详细介绍
- PHP date_default_timezone_get()函数用法介绍
- JavaScript基本语法指南(注释用法实例)
- U盘做系统,本文教您U盘做系统办法
- 笔记本u盘打开,本文教您联想笔记本u盘打开的办法
- u盘乱码,本文教您u盘出现乱码的处理办法
- u盘不显示怎样办,本文教您处理u盘不显示的办法
- u盘无法弹出,本文教您u盘无法弹出怎样办