请参阅本论文
我正在为AVR-8位构建小工具目录,但我有一些疑问。我将用下面的例子来问我的问题。
为了使v1=v1+v2;(v1和v2是变量),相应的程序集是:
ldi r17, #value
ldi r18, #value
add r18,r17;或
ldi r17, #value
mov r1, r17;
ldi r18, #value
add r18,r1;或
ldi r17, #value
ldi r18, #value
mov r1, r18;
add r1,r17;或
ldi r17, #value
mov r1, r17;
ldi r18, #value
mov r2, r18;
add r2,r1;这个小工具会是下面的吗?
ldi r#, #value;
ldi r#, value;
add r#, r#;
ret或者仅仅是与ldi r#,r#; ret和mov组合在一起的
add r#,r#;
ret发布于 2013-10-28 20:32:23
ldi正在加载一个常量,在运行时添加两个常量没有多大意义。因此,您的小工具将仅是add; ret,您希望通过使用其他小工具来确保这两个操作数在适当的寄存器中。
不过,在寄存器中添加常量的小工具可能是有意义的。
https://stackoverflow.com/questions/19640887
复制相似问题