亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 100個匯編范例.txt

?? 基于AVR的100個匯編范例
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
定點運算和定點數制轉換   
        ;范例1
LSDAA:  ADC     R16,R16      ;十進制數(在R16中)左移調整子程序
ADDAA:  IN      R6,SREG      ;bcd碼相加調整子程序,先保存相加后的
        LDI     R17,$66      ;狀態the old status
        ADD     R16,R17      ;再將和預加立即數$66
        IN      R17,SREG     ;輸入相加后新狀態(the new status)
        OR      R6,R17       ;新舊狀態相或
        SBRS    R6,0         ;相或后進位置位則跳行
        SUBI    R16,$60      ;否則減去$60(十位bcd不滿足調整條件)
        SBRS    R6,5         ;半進位置位則跳行
        SUBI    R16,6        ;否則減去$06(個位bcd不滿足調整條件)
        ROR     R6           ;向高位字節BCD返還進位位!
        RET
       ;范例2
       
SUDAA:  BRCC    SBD1         ;bcd碼減法調整子程序,差在R16中
        BRHC    SBD3         
        SUBI    R16,$66      ;進位半進位都置位,將差減去立即數$66
        SEC                  ;并恢復借位C
        RET                  ;ret. with seC
SBD1:   BRHC    SBD2         ;進位半進位都清位,返回
        SUBI    R16,6        ;進位清除而半進位置位,將差減去6
SBD2:   RET                  ;ret. with clC
SBD3:   SUBI    R16,$60      ;進位置位而半進位清除,將差減去$60
        SEC                  ;并恢復借位C
        RET                  ;ret. with seC

       ;范例3
RSDAA:  SBRC    R16,7        ;bcd碼(在R16中)右移調整子程序
        SUBI    R16,$30      ;十位BCD最高位為1(代表8),將其變為5(否則跳行)
        SBRC    R16,3         
        SUBI    R16,3        ;個位BCD最高位為1(代表8),將其變為5(否則跳行)
        RET
        
       ;范例4
ADBCD4: MOV     R16,R15      ;4字節壓縮bcd碼相加子程序
        ADD     R16,R11      ;R12,R13,R14,R15內為被加數,R8,R9,R10,R11內為加數
        RCALL   ADDAA        ;相加后調整
        MOV     R15,R16      ;并返還調整后結果
        MOV     R16,R14
        ADC     R16,R10
        RCALL   ADDAA
        MOV     R14,R16
        MOV     R16,R13
        ADC     R16,R9
        RCALL   ADDAA
        MOV     R13,R16
        MOV     R16,R12
        ADC     R16,R8        
        RCALL   ADDAA
        MOV     R12,R16
        RET
        
       ;范例5
ADBCD:  LDI     R16,4        ;多字節壓縮bcd碼相加子程序
        MOV     R7,R16       ;(r7):字節數
        CLC
ADLOP:  LD      R16,-X       ;X-1指向被加數;  
        LD      R6,-Y        ;Y-1指向加數
        ADC     R16,R6
        RCALL   ADDAA        ;相加后調整
        ST      X,R16        ;返還調整后結果
        DEC     R7          
        BRNE    ADLOP
        RET
        
       ;范例6
SUBCD4: MOV     R16,R15       ;4字節壓縮bcd碼減法子程序
        SUB     R16,R11       ;R12,R13,R14,R15內為被減數,R8,R9,R10,R11內為減數
        RCALL   SUDAA         ;相減后調整
        MOV     R15,R16       ;并返還調整后結果
        MOV     R16,R14
        SBC     R16,R10
        RCALL   SUDAA
        MOV     R14,r16
        MOV     R16,R13
        SBC     R16,R9
        RCALL   SUDAA
        MOV     R13,R16
        MOV     R16,R12
        SBC     R16,R8
        RCALL   SUDAA
        MOV     R12,R16
        RET
        
       ;范例7
SUBCD:  LDI     R16,4        ;多字節壓縮bcd碼相減子程序
        MOV     R7,R16       ;(r7):壓縮bcd碼字節數
        CLC
SUBLP:  LD      R16,-X       ;X-1指向被減數
        LD      R6,-Y        ;Y-1指向減數
        SBC     R16,R6
        RCALL   SUDAA        ;相減后調整
        ST      X,R16        ;返還調整后結果
        DEC     R7
        BRNE    SUBLP
        RET
       ;范例8                ;16位被乘數*16位乘數-->32位積
MUL16:  LDI     R16,17       ;(r10r11)*(r14r15)-->r12r13r14r15
        ClR     R12
        ClR     R13          ;積的高位字預清除
        CLC                  ;第1次只右移,不相加
MLOOP:  BRCC    MUL1         ;
        ADD     R13,R11      ;乘數右移移出位為1,將被乘數加入部分積
        ADC     R12,R10
MUL1:   ROR     R12
        ROR     R13
        ROR     R14
        ROR     R15          ;部分積連同乘數整體右移1位
        DEC     R16
        BRNE    MLOOP        ;17次右移后結束 
        RET
        
       ;范例9                ;16位整數被乘數*16位小數乘數-->16位整數積,精確到0.5
MUL165: RCALL   MUL16        ;先得到32位積
        SBRS    R14,7        ;積小數部分最高位為1,將整數部分加1
        RET                  ;否則返回
        LDI     R17,255
        SUB     R13,R17
        SBC     R12,R17      ;以減去-1($FFFF)替代加1
        RET
        
       ;范例10               ;32位被除數/16位除數-->16位商,精確到1
DIV16:  LDI     R16,16       ;(r12r13r14r15)/(r10r11)-->r14r15
DLOOP:  LSL     R15          
        ROL     R14
        ROL     R13
        ROL     R12          ;被除數左移1位
        BRCS    DI1
        SUB     R13,R11
        SBC     R12,R10      ;移出位為0,被除數高位字減去除數試商
        BRCC    DI2          ;夠減,本位商為1
        ADD     R13,R11
        ADC     R12,R10      ;否則恢復被除數
        RJMP    DI3          ;本位商0
DI1:    SUB     R13,R11
        SBC     R12,R10      ;移出位為1,被除數高位字減去除數
DI2:    INC     R15          ;本位商1
DI3:    DEC     R16
        BRNE    DLOOP
        RET
        
       ;范例11               ;32位被除數/16位除數-->16位商,精確到0.5 
                             ;可能產生溢出!例$7FFFC000/$8000=$FFFF.8->$10000!
DIV165: RCALL   DIV16        ;(r12r13r14r15)/(r10r11)-->r14r15
        LSL     R13          
        ROL     R12          ;余數乘2
        BRCS    D165         ;有進位,轉5入
        SUB     R13,R11
        SBC     R12,R10      ;否則,余數乘2減去除數
        BRCS    D164         ;不夠減,轉4舍
D165:   CLR     R13          ;否則將商增1
        SEC                  
        ADC     R15,R13
        ADC     R14,R13
        ADC     R13,R13      ;若有溢出,溢出位在R13中
        RET
D164:   CLR     R13
        RET
       ;范例12               ;32位整數/16位整數->16整數+16位小數->4字節浮點數
                             ;(r12r13r14r15)/(r10r11)-->r12r13r14r15
DIV16F: RCALL   DIV16        ;先做整數除法
        MOV     R9,r15       
        MOV     R8,r14       ;保存整數部分
        CLR     R15
        CLR     R14
        RCALL   DIV16        ;除得小數部分
        MOV     R11,R15
        MOV     R15,R14
        MOV     R13,R8
        MOV     R14,R9       ;整數部分在r13r14,小數部分在r15r11
        LDI     R17,$90      ;預設階碼$90(整數為16位)
        MOV     R12,R17
        LDI     R17,32       ;設32次右移
DIV16L: SBRC    R13,7      
        RJMP    NMLDN        ;最高位為1,已完成規格化
        LSL     R11          ;否則繼續右移R13,R14,R15,R11
        ROL     R15
        ROL     R14
        ROL     R13          
        DEC     R12          ;階碼減1
        DEC     R17
        BRNE    DIV16L       
        CLR     R12          ;右移達32次,浮點數為零,置零階
        RET
NMLDN:  SBRS    R11,7        
        RJMP    DIVRT        ;欲舍去部分(R11)最高位為0,轉4舍 
        RCALL   INC3         ;否則尾數部分增1
        BRNE    DIVRT
        INC     R12          ;尾數增1后變為0,改為0.5,并將階碼增1
DIVRT:  LDI     R17,$7F      ;將尾數最高位清除,表示正數(負數不要清除)
        AND     R13,R17      ;規格化浮點數在R12(階碼)R13R14R15(尾數)中
        RET
        
       ;范例13               ;(R16,R12,R13,R14,R15)/(R10,R11)-->R13,R14,R15
DIV24:  CLR     R16          ;32位整數/16位整數->24位整數,要求(R10)不為0;否則
                                                   ;要求(R12)<(R11)
DIV40:  LDI     17,24        ;40位整數/16位整數->24位整數 要求(R16,R12)
LXP:    LSL     R15          ; <(R10,R11)
        ROL     R14
        ROL     R13
        ROL     R12
        ROL     R16
        BRCC    LXP1
        SUB     R12,R11      ;右移后C=1 夠減
        SBC     R16,R10      ;被除數減去除數
        RJMP    DIV0         ;本位商為1
LXP1:   SUB     R12,R11      ;C=0
        SBC     R16,R10      ;被除數減去除數試商
        BRCC    DIV0         ;C=0 夠減,本位商1
        ADD     R12,R11
        ADC     R16,R10      ;否則恢復被除數,本位商0
        RJMP    DIV1
DIV0:   INC     R15          ;記本位商1
DIV1:   DEC     R17
        BRNE    LXP
        LSL     R12
        ROL     R16
        BRCS    GINC         ;C=1,5入
        SUB     R12,R11
        SBC     R16,R10
        BRCS    RET3         ;不夠減,舍掉
GINC:   RCALL   INC3         ;將商增1
RET3:   RET

       ;范例14               ;定點整數(最大$FFFFFFFF)開平方子程序
INTSQR: LDI     R16,17       ;SQR(R12,R13,R14,R15)-->(r15r8r9)
        CLR     R8           ;R8,R9存儲平方根
        CLR     R9           ;r10,r11,r12,r13,r14,r15
        CLR     R10          ; r8, r9(根)          r16 (counter)
        CLR     R11          ;r10,r11:被開平方數擴展字節
        LDI     R17,$40      
SQR0:   SUB     R12,R17
        SBC     R11,R9
        SBC     R10,R8
        BRCS    SQR1
        SEC                  ;試根夠減,本位根1
        RJMP    SQR2
SQR1:   ADD     R12,R17
        ADC     R11,R9
        ADC     R10,R8
        CLC                  ;否則恢復被開平方數,本位根0
SQR2:   DEC     R16
        BRNE    SQR3         ;when the No.17bit of root be getting
SQR20: ADC     R9,R15       ;R15 HAVE BEEN CLEARED!
        ADC     R8,R15
        ADC     R15,R15      ;將開出之根4舍5入,使根最大可達65536(=$10000)!
        RET                  ;for example:sqr.($ffff0001)≈$10000
SQR3:   ROL     R9
        ROL     R8           ;記本位根
        LSL     R15
        ROL     R14
        ROL     R13
        ROL     R12          
        ROL     R11
        ROL     R10          ;被開平方數連同其擴展字節左移一位
        LSL     R15
        ROL     R14
        ROL     R13
        ROL     R12
        ROL     R11
        ROL     R10          ;被開平方數連同其擴展字節再次左移一位/左移2位開出1位根
        BRCS    SQR20        ;被開平方數左移2位后,若進位置位,則僅表明第17位根
                                                   ;已被提前開出且該位根=1,將平方根增1,開平方結束。
        RJMP    SQR0         ;否則轉試下一位根	
        
       ;范例15               ;定點整數二翻十
CONV1:  LDI     R17,24       ;r12r13r14r15<--(r9r10r11)左移24次
        MOV     R7,R17       ;例:16777215<--$FFFFFF
        CLR     R12
        CLR     R13          ;68719476735<--$FFFFFFFFF
        CLR     R14          ;1099511627775<--$FFFFFFFFFF
        CLR     R15          ;十進制數存儲區予清除
CV1:    LSL     R11
        ROL     R10
        ROL     R9           ;二進制數整體左移一位
        MOV     R16,R15
        RCALL   LSDAA
        MOV     R15,R16
        MOV     R16,R14
        RCALL   LSDAA
        MOV     R14,R16
        MOV     R16,R13
        RCALL   LSDAA
        MOV     R13,R16      
        MOV     R16,R12
        RCALL   LSDAA         ;十進制數左移并調整
        MOV     R12,R16
        DEC     R7
        BRNE    CV1
        RET
        
       ;范例16               ;定點整數十翻二
CONV2:  LDI     R17,24       ;(r9r10r11)-->r13r14r15,右移24次
        CLR     R31          ;例:999999-->$0F423F
        MOV     R7,R17       ; 99999999-->$05F5E0FF
CV2:    LSR     R9
        ROR     R10
        ROR     R11          
        ROR     R13
        ROR     R14
        ROR     R15           ;十進制數連同二進制數右移一位
        LDI     R30,12        ;數據指針
CV2L:   LD      R16,-Z
        RCALL   RSDAA         ;十進制數右移調整
        ST      Z,R16
        CPI     R30,9         ;十進制數各字節調整完畢?
        BRNE    CV2L
        DEC     R7            ;右移次數(24次)完成?
        BRNE    CV2
        RET
        
       ;范例17               ;定點小數二翻十
CONV3:  LDI     R17,24       ;(r13r14r15)--->r9r10r11r12右移24次
CONV31: MOV     R7,R17
        CLR     R9           
        CLR     R10          ;例:$0.FFFFFF-->0.99999994
        CLR     R11          ;$0.FFFFFFFF-->0.999999999767
        CLR     R12          ;$0.FFFFFFFFF->0.999999999985448
        CLR     R31
CV3:    LSR     R13
        ROR     R14
        ROR     R15
        ROR     R9
        ROR     R10
        ROR     R11
        ROR     R12          ;二進制數連同十進制數右移一位
        LDI     R30,9
CV3L:   LD      R16,Z
        RCALL   RSDAA        ;十進制數右移調整
        ST      Z+,r16
        CPI     R30,13
        BRNE    CV3L         ;十進制數各字節調整完畢?
        DEC     R7
        BRNE    CV3          ;右移次數(24次)完成?
        RET
        

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡在线视频| 国内久久婷婷综合| 精品国产91乱码一区二区三区| 懂色av一区二区夜夜嗨| 午夜激情久久久| 国产丝袜美腿一区二区三区| 欧美人妖巨大在线| 91蜜桃传媒精品久久久一区二区| 另类小说欧美激情| 亚洲图片欧美综合| 国产精品久久久久久一区二区三区| 精品国产乱码久久久久久闺蜜| 欧美三级日韩在线| 99国产精品久久| 国产成人亚洲综合a∨猫咪| 青青草原综合久久大伊人精品 | 国产精品理论在线观看| 日韩美一区二区三区| 精品视频一区二区三区免费| 成人黄动漫网站免费app| 麻豆精品一区二区三区| 五月天激情综合| 亚洲国产日韩综合久久精品| 亚洲美女视频在线观看| 国产精品三级视频| 久久久国产精品麻豆| 3atv在线一区二区三区| 欧美日韩一区中文字幕| 日本韩国欧美一区二区三区| 99精品一区二区三区| 成人午夜看片网址| 粉嫩在线一区二区三区视频| 国产999精品久久久久久| 国产精品主播直播| 国产在线精品一区二区| 国产一区二区伦理| 韩国精品久久久| 国产一区二区精品久久| 国产一区二区三区在线观看精品| 久久精品国产第一区二区三区| 日本不卡的三区四区五区| 天天影视涩香欲综合网 | 天天综合日日夜夜精品| 婷婷久久综合九色综合绿巨人| 亚洲国产欧美一区二区三区丁香婷| 亚洲精品视频自拍| 亚洲一区二区三区在线看| 亚洲国产精品久久一线不卡| 亚洲国产一区视频| 日日摸夜夜添夜夜添国产精品| 日韩精品一卡二卡三卡四卡无卡| 丝袜美腿成人在线| 免费xxxx性欧美18vr| 国产成人av网站| 97久久超碰国产精品| 色婷婷综合久久久久中文 | 久久久午夜精品| 国产日韩欧美亚洲| 亚洲桃色在线一区| 天天操天天色综合| 久久99久久精品欧美| 国产**成人网毛片九色| 色婷婷激情一区二区三区| 制服丝袜亚洲网站| 久久久久久久久久美女| 日韩一区日韩二区| 天天色天天操综合| 国产成人亚洲综合a∨婷婷 | 色综合天天狠狠| 欧美日韩1234| 久久蜜桃一区二区| 亚洲精品成人少妇| 秋霞电影网一区二区| 国产成人综合视频| 91福利国产成人精品照片| 日韩一级二级三级精品视频| 中文字幕va一区二区三区| 亚洲伊人色欲综合网| 国产麻豆视频一区二区| 91九色02白丝porn| 欧美一级xxx| 中文字幕中文字幕一区| 午夜精品福利一区二区三区蜜桃| 国产91精品一区二区麻豆网站| 欧美色图天堂网| 久久精品一级爱片| 五月天一区二区| 成人精品免费网站| 欧美一区二区三区喷汁尤物| 中文字幕不卡三区| 美女一区二区久久| 色猫猫国产区一区二在线视频| 在线综合+亚洲+欧美中文字幕| 国产精品嫩草99a| 奇米四色…亚洲| 一本色道久久加勒比精品| 日韩写真欧美这视频| 亚洲另类春色校园小说| 国产精品乡下勾搭老头1| 欧美精品日日鲁夜夜添| 亚洲天堂免费看| 精品中文字幕一区二区| 欧美日韩一区精品| 亚洲女厕所小便bbb| 韩国一区二区三区| 欧美一区三区二区| 夜夜亚洲天天久久| 欧美日韩免费电影| 亚洲色图在线视频| 国产一区在线精品| 日韩一级大片在线| 图片区日韩欧美亚洲| 99精品热视频| 国产精品色婷婷久久58| 国产一区二区三区久久久| 91精品国产色综合久久ai换脸| 亚洲精品中文在线影院| 99精品欧美一区二区三区综合在线| 久久免费视频色| 国产精一区二区三区| 日韩午夜激情av| 久久精品99久久久| 欧美一区二区三区思思人| 亚洲国产cao| 欧美午夜一区二区| 亚洲精品亚洲人成人网 | 678五月天丁香亚洲综合网| 一区二区三区丝袜| 91在线国内视频| 亚洲人成人一区二区在线观看| 不卡的av中国片| 国产精品高清亚洲| 99国产精品一区| 亚洲视频每日更新| 在线免费观看日本欧美| 亚洲欧美韩国综合色| 在线精品视频一区二区| 亚洲一区精品在线| 欧美三级蜜桃2在线观看| 亚洲午夜电影在线| 91精品国模一区二区三区| 日本中文一区二区三区| 欧美成人精品1314www| 久久99精品久久久| 国产午夜精品福利| 99re在线精品| 亚洲综合区在线| 6080国产精品一区二区| 美女视频第一区二区三区免费观看网站| 91精品欧美福利在线观看| 美腿丝袜亚洲一区| 国产香蕉久久精品综合网| 成人深夜视频在线观看| 亚洲免费在线观看视频| 欧美三日本三级三级在线播放| 日韩福利电影在线观看| 精品国产伦一区二区三区免费 | 国产aⅴ综合色| 中文字幕在线观看一区| 欧美日韩在线精品一区二区三区激情| 国产精品18久久久久久vr| 中文字幕va一区二区三区| 色哦色哦哦色天天综合| 日韩精品亚洲一区| 久久这里都是精品| 99re这里只有精品6| 视频一区欧美精品| 26uuu国产日韩综合| av在线不卡免费看| 日本不卡高清视频| 国产精品三级久久久久三级| 欧美日韩国产一区| 国产乱人伦精品一区二区在线观看 | 欧美亚州韩日在线看免费版国语版| 午夜成人在线视频| 久久综合资源网| 色狠狠一区二区三区香蕉| 激情综合网激情| 亚洲裸体xxx| 欧美精品一区男女天堂| 一本大道综合伊人精品热热| 久久精品国产网站| 亚洲男人电影天堂| 精品国产一二三| 欧美视频在线一区| 国产凹凸在线观看一区二区| 亚洲国产综合视频在线观看| 国产欧美一二三区| 欧美日韩午夜精品| 成人免费观看av| 免费精品99久久国产综合精品| 国产精品国产三级国产aⅴ原创| 51午夜精品国产| 色国产综合视频| 国产精品一区在线观看你懂的| 亚洲国产精品久久人人爱蜜臀| 国产精品视频观看| 欧美精品一区二区三区久久久| 欧美日韩一区国产| 日本福利一区二区|