0

我必须编写一个程序来计算 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                             
4

1 回答 1

0

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

此外,由于 PEP8 没有除法指令,因此您也必须自己编写。我认为对于这个练习来说,一个简单的减法循环应该没问题。

于 2013-05-27T15:55:59.533 回答