@bintou
2017-11-15T22:43:01.000000Z
字数 540
阅读 1811
CSI
实例
汇编代码
用Pep/8汇编语言写满足这样功能的程序:键盘输入一个整数n,求1+2+...+ n的结果,并输出最终结果。
;答案不唯一,仅供参考
BR main; 跳过数据定义进入主程序
sum: .WORD 0x0000 ; 最终结果初始值为0
num: .BLOCK 2 ; Set up a two byte block for input value
;以上为数据定义
main: DECI num, d ; 输入一个正整数
loop: LDA num, d
ADDA sum, d
STA sum, d ; 以上三行完成sum = sum + num
LDA num, d
SUBA 1, i
STA num, d; 以上完成 num--
CPA 0, i; num与0比较
BREQ quit; goto quit if num equals 0
BR loop; repeat loop
quit: DECO sum, d; output sum
STOP
.END
存在以下问题:
- 对变量的定义概念含糊。
- 对程序运行的流程不够清晰,主要体现在死板地参考其他题的答案,又不能灵活地运用到新的程序中。
- 缺乏学习主动性。
- 胆子太小,轻易被稍微难(陌生)一点的知识点吓跑。
这里的答案给出一个用两个变量实现的例子,请问能否只用一个变量就可以完成计算?如果可以,应该如何做?如果不行,为什么?