@Lin--
2017-11-16T09:35:37.000000Z
字数 842
阅读 455
用机器语言写满足这样功能的程序:键盘输入两个数,进行相加,然后输出结果。
0000 C0 00 00 ;把A寄存器清零0003 31 00 18 ;用键盘输入第一个数,存储该数到地址00180006 71 00 18 ;将地址0018中的操作数(即用键盘输入的第一个数)加入到寄存器A中0009 31 00 20 ;用键盘输入第二个数,存储该数到地址0020000C 71 00 20 ;将地址0019中的操作数(即用键盘输入的第二个数)加入到寄存器A中000E E1 00 22 ;存储A寄存器的数据(即两数之和)到地址00220013 39 00 22 ;在显示屏上显示地址0022中对应的数据(及两数之和)0016 zz ;停止操作
用汇编语言写满足这样功能的程序:键盘输入一个整数n,求1+2+...+ n的结果,并输出。
BR mainsum: .WORD 0X0000 ;设置sum为0num: .BLOCK 2 ;为num设置存储空间counter: .WORD 0x0000 ;设置counter为0main: DECI num,d ;从键盘上输入数字numloop: LDA sum,d ;将sum的值调入寄存器AADDA counter,d ;将counter的值加入寄存器ASTA sum,d ;存储数据sumLDA counter,d ;将counter的值调入寄存器AADDA 1,i ;将1加入到寄存器A中STA counter,d ;存储counter的值CPA num,d ;比较counter与num的值BREQ L1 ;若两值相同,执行L1操作BR loop ;若两值不同,继续循还执行上述循环后,sum的值是1+2+...+n-1,而此时counter的值与n相同,故需将counter加入sum中,使得sum=1+2+...+nL1: LDA sum,d ;将sum的值调入寄存器AADDA counter,d ;将counter的值加入寄存器ASTA sum,d ;存储数据sumquit: DECO sum,d ;在显示屏上显示sum的值STOP ;停止.END ;结束