• <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频|成人a站免费|日本黄色片|久久久久无码AV

    技術(shù)熱線: 4007-888-234
    設(shè)計開發(fā)

    專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

    開發(fā)工具

    提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

    技術(shù)支持

    從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

    新品推廣

    提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

    新聞中心

    提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

    PIC單片機無符號 BCD 減法

    更新時間: 2019-03-22
    閱讀量:3647

    單片機開發(fā)商深圳英銳恩分享PIC單片機無符號 BCD 減法。

    ;******************* 無符號 BCD 加法  ***************
    ;
    ;       This routine performs a 2 Digit Unsigned BCD Addition
    ; It is assumed that the two BCD numbers to be added are in
    ; locations Num_1 & Num_2. The result is the sum of Num_1+Num_2
    ; and is stored in location Num_2 and the overflow carry is returned
    ; in location Num_1
    ;
    ;   Performance :
    ;               Program Memory  :       25
    ;               Clock Cycles    :       17   ( worst case )
    ;

    ;*******************************************************************;
    ;
    Num_1   equ     8       ; 加數(shù)寄存器,加法和的高位寄存器。
    result  equ     8
    ;
    Num_2   equ     9       ; 加數(shù)寄存器,加法和的低位寄存器。
    O_flow  equ     9
    ; 其它的寄存器自己定義   
    ;
    BCDAdd
    movf    Num_1,W
    clrf    Num_1           ;clear num_1
    addwf   Num_2,1         ; do binary addition
    btfsc   STATUS,C        ;< 256 then skip
    goto    inc_n1n2        ;else inc all
    movlw   66              ;add 66
    addwf   Num_2,1         ;/
    btfss   STATUS,DC       ;half carry?
    goto    sub_06          ;no then subtract
    btfss   STATUS,C        ;full carry?
    goto    sub_60          ;yes then subtract
    inc_n1 
    incf    Num_1,1         ;inc it
      retlw   0               ;clr w
    sub_06

     btfss   STATUS,C        ;full carry
      goto    sub_66          ;yes subtract 66
      movlw   6               ;else subtract 6
      goto    sub_com         ;do common
    sub_66

      movlw   66             
    sub_com
    subwf   Num_2,1                  
      retlw   0
    sub_60
          movlw   60
      goto    sub_com
    inc_n1n2
      movlw   66
      addwf   Num_2,1
      goto    inc_n1
    ;
    ;********************************************************************
    ;               測試程序(注意它怎樣使用該子程序)
    ;*********************************************************************

    main  
    movlw   99
    movwf   Num_1      ; Set Num_1 = 99 ( max BCD digit )
    movlw   99
    movwf   Num_2      ; Set Num_2 = 99
    ;
    call    BCDAdd     ; After addition, Num_2 = 98
    ;                          ;  and Num_1 = 01 ( 99+99 = 198 -> max number )
    ;
    self    goto    self     ;如不是測試程序,這句無用
    ;
    ;
    org     1FF
    goto    main
    ;
    END

    久久黄色 视频|我草AV|AV在线网站导航|色色97激情|无码人妻一区二区有奶水|日韩精品|大香蕉97视频
  • <tbody id="w8jhq"><dfn id="w8jhq"><pre id="w8jhq"></pre></dfn></tbody>
  • <fieldset id="w8jhq"><pre id="w8jhq"></pre></fieldset>