如何在PEP / 8中使用CHARI将一个数字转到另一个数字

时间:2013-05-26 18:42:12

标签: assembly pep8-assembly

我必须编写一个程序来计算Pep / 8中/的几个数字的平均值。

我现在的主要问题是他没有让我们使用DECI而我们必须使用CHARI但我不能让它从数字变为数字,因为用户最多可以输入40在该行发出错误之前由该行上的空格分隔的字符。我需要从数字到数字然后添加它们然后除以有多少。数字从-53到48.此外,我们不能接受--40或类似的东西。

我该怎么做?

这是我迄今为止所拥有的部分。

 STRO    msgb,d      
 STRO    msg,d
 LDX     0,i       
 CHARI   number,x    
 LDA     0,i 
 LDBYTEA number,x    
 STA total,d
 ADDX    1,i
 LDBYTEA number,x
 ADDA    number,x    
 STA total,d
 DECO   total,d     
 STOP   

 caract:  .BYTE   0           
 msgb:    .ASCII  "Welcome"
 .BYTE   0           
 msg:     .ASCII  "\nPlease enter numbers here: "
 .BYTE   0           
 nombre:  .WORD   0           
 total:   .WORD   0           
 .END                             

1 个答案:

答案 0 :(得分:0)

然后,您应该编写一个与DECI具有相同功能的子例程,并在循环中调用它。子程序本身应首先检查可选的减号,然后读取数字,在每一步中将临时结果乘以10(您可能希望使用shift和add来实现)。

此外,由于PEP8没有分割指令,你也必须自己编写。我假设一个带减法的简单循环对于这个练习应该没问题。