小编Oni*_*zou的帖子

使用尽可能少的寄存器通常是个好主意吗?

这是我的代码.

我在x86程序集中编写程序,计算四个等级的平均值.我目前使用的4个寄存器(RAX,RBX,RCXRDX)举行四个等级,这在我的声明.data部分.我也有quot,rem,total,并ans全部初始化为0.

我的一般方法是将四个寄存器一起添加并将总数存储在total变量中.我原本只打算保持总RAX,可是转念一想将其存储在一个变量,这样我可以重用RAXRDX.

这是一个好主意还是我为自己生成更多代码?我重置RAXRDX注册为0,以便我可以将它们用于我的除法计算(总计/ 4).我正在关注的书正在使用RAXRDX注册,所以我认为这就是我应该做的.

代码未完成,因此忽略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)

x86 assembly x86-64

1
推荐指数
1
解决办法
70
查看次数

标签 统计

assembly ×1

x86 ×1

x86-64 ×1