zoukankan      html  css  js  c++  java
  • AVR 定点数运算程序设计及数制转换

    AVR 单片机有加法和减法指令,可以直接调用相关指令来达到目的。

    这里列出了16位加法、16位带立即数加法、

    16位减法、16位带立即数减法、

    16位比较、16位带立即数比较程序和16位取补程序。

     add16:  

      add       r16,r18 ;  r17:r16+r19:r18→r17:r16

      adc       r17,r19    

     addi16:

      subi  r16,low(-addi2) ; r17:r16+addi2→r17:r16

      sbci  r17,high(-addi2)    ;addi2为16位立即数

    sub16:  

      sub       r16,r18  ; r17:r16-r19:r18→r17:r16

      sbc       r17,r19

    subi16:

      subi  r16,low(subi2)     ; r17:r16-subi2→r17:r16

      sbci  r17,high(subi2)    ; subi2为16位立即数

    cp16:   

      cp        r16,r18                  ;  r17:r16与r19:r18相比较

      cpc              r17,r19                 

    cpi16:  

      cpi        r16,low(cp2)         ; r17:r16与16位立即数cp2相比较

      ldi         r18, high(cp2)

      cpc              r17,r18

    beg16:  

      com             r16                ;r17:r16取补并回存

      com              r17

      subi             r16,low(-1)

      sbci              r17,high(-1)

    ;32位运算与16位运算相似,例:32位加法程序和32位减法程序如下:

    ADD32:               ;32位加法程序

      ADD R16,R20

      ADC R17,R21

      ADC R18,R22

      ADC R19,R23

    SUB32:            ;32位减法程序

      SUB R16,R20

      SBC R17,R21

      SBC R18,R22

      SBC R19,R23

  • 相关阅读:
    autocare使用命令
    使用国内豆瓣源
    HCNA(二)以太网的帧结构
    HCNA(一)网络传输介质
    Python
    Python
    Python
    Delphi
    HCNP
    Python
  • 原文地址:https://www.cnblogs.com/shangdawei/p/3622237.html
Copyright © 2011-2022 走看看