使用Arduino,我必须在Atmel AVR Assembly中为我的计算机科学类编写一个函数,将有符号的8位字节转换为带符号的16位整数.我不允许使用任何分支指令(但跳过很好).
我知道这是错的,但这是我到目前为止所得到的:
.global byteToInt
byteToInt:
sbrc r24, 7
ldi r25, 1
asr r25
ret
Run Code Online (Sandbox Code Playgroud)
有谁知道我将如何使这个功能工作?任何帮助将非常感激!
使用Arduino,我必须在Atmel AVR Assembly中为我的计算机科学类编写一个函数,用于计算汇编中两个8位值的8位平均值.我不允许使用任何分支指令(但跳过很好).
这是我到目前为止:
.global average
average:
add r24, r22
asr r24
ret
Run Code Online (Sandbox Code Playgroud)
对于我的程序中我必须计算69和60的平均值的部分,它返回-64而不是64.有谁知道我将如何使这个功能工作?任何帮助将非常感激.