我在x86程序集中编写程序,计算四个等级的平均值.我目前使用的4个寄存器(RAX,RBX,RCX和RDX)举行四个等级,这在我的声明.data部分.我也有quot,rem,total,并ans全部初始化为0.
我的一般方法是将四个寄存器一起添加并将总数存储在total变量中.我原本只打算保持总RAX,可是转念一想将其存储在一个变量,这样我可以重用RAX和RDX.
这是一个好主意还是我为自己生成更多代码?我重置RAX并RDX注册为0,以便我可以将它们用于我的除法计算(总计/ 4).我正在关注的书正在使用RAX和RDX注册,所以我认为这就是我应该做的.
代码未完成,因此忽略IDIV了最后一行.
segment .data
a dq 100
b dq 57
c dq 74
d dq 23
quot dq 0
rem dq 0
total dq 0
ans dq 0
segment .text
global main
main:
mov rax, [a]
mov rbx, [b]
mov …Run Code Online (Sandbox Code Playgroud)