AVR 汇编器标志 V

问题描述

我需要有关汇编程序的建议 (AVR ATMega169)。我必须创建代码来计算这个表达式。

R20 = (4 * R16 + 3 * R17 - R18) / 8

我尝试计算代码中的算术表达式并始终检查溢出指令但它无法正常工作

  .org 0
start:
    ldi r16,10
    ldi r17,20
    ldi r18,10
        
    lsl r16
    brvs OVERFLOW

    lsl r16
    brvs OVERFLOW

    mov r20,r17
    brvs OVERFLOW

    lsl r20
    brvs OVERFLOW

    add r20,r17
    brvs OVERFLOW

    add r20,r16
    brvs OVERFLOW

    sub r20,r18
    brvs OVERFLOW

    asr r20
    brvs OVERFLOW

    asr r20
    brvs OVERFLOW

    asr r20
    brvs OVERFLOW
    
    
    brvc OK

    OVERFLOW:
    ldi r30,0x11

    OK:
    ldi r30,0x11
konec:
    rjmp konec

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)