Assembly 如何在PEP/8中使用CHARI将一个号码转到另一个号码
我必须编写一个程序,用Pep/8计算几个数字的平均值 我现在的主要问题是,他不允许我们使用Assembly 如何在PEP/8中使用CHARI将一个号码转到另一个号码,assembly,pep8-assembly,Assembly,Pep8 Assembly,我必须编写一个程序,用Pep/8计算几个数字的平均值 我现在的主要问题是,他不允许我们使用DECI,我们必须使用CHARI,但我不能让它从一个数字到另一个数字,因为用户可以在那一行上输入多达40个由空格分隔的字符,然后它就会发出错误。我需要从一个数字到另一个数字,把它们相加,然后除以有多少。数字从-53到48。而且,我们不能接受40或类似的东西 我该怎么做 这就是我到目前为止对这部分的理解 STRO msgb,d STRO msg,d LDX 0,i
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
然后,您应该编写一个与
DECI
具有相同功能的子例程,并在循环中调用它。子例程本身应该首先检查可选的减号,然后读取数字,在每个步骤中将临时结果乘以10(您可能希望使用shift和add实现)
此外,由于PEP8没有除法指令,您也必须自己编写。我假设一个简单的带减法的循环应该适合这个练习