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

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

?? 定點運算和定點數制轉換.txt

?? 定點運算和定點數制轉換的幾個范例
?? 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一区二区三区免费野_久草精品视频
亚洲精品国产一区二区三区四区在线| 日韩女优视频免费观看| 色综合天天视频在线观看| 日韩精品五月天| 舔着乳尖日韩一区| 午夜私人影院久久久久| 五月婷婷另类国产| 日本不卡免费在线视频| 久久av资源网| 成人毛片视频在线观看| 99精品欧美一区二区三区小说| 不卡一区二区在线| 91国内精品野花午夜精品| 欧美人xxxx| 久久久噜噜噜久久人人看| 日本一区二区三区dvd视频在线| 欧美国产精品中文字幕| 日韩理论在线观看| 日日摸夜夜添夜夜添精品视频| 激情图区综合网| 成人综合婷婷国产精品久久 | 国产欧美日韩亚州综合| 国产欧美日产一区| 亚洲二区视频在线| 国产一区二区成人久久免费影院| 成人午夜电影小说| 欧美精品欧美精品系列| 国产亚洲一二三区| 亚洲国产成人精品视频| 国产一区二区三区免费| 色狠狠av一区二区三区| 精品久久久三级丝袜| 最新不卡av在线| 美腿丝袜亚洲综合| 97精品国产露脸对白| 日韩午夜三级在线| 亚洲精品国产精华液| 国产伦精一区二区三区| 欧洲在线/亚洲| 国产亚洲一区二区在线观看| 五月天激情综合网| 成人黄色片在线观看| 欧美一级高清片| 成人欧美一区二区三区在线播放| 日本成人在线电影网| 色综合天天视频在线观看| 精品久久久久久久久久久久久久久| **性色生活片久久毛片| 久久成人免费网| 欧美日韩一卡二卡三卡| 亚洲人xxxx| 成人免费黄色在线| 久久综合九色综合97婷婷女人| 亚洲一级二级在线| 99re热这里只有精品视频| 国产色爱av资源综合区| 精品影视av免费| 在线不卡a资源高清| 一区二区三区四区激情| www.av亚洲| 国产精品天干天干在线综合| 美女一区二区在线观看| 欧美精品电影在线播放| 亚洲国产一区视频| 91精品国产色综合久久不卡蜜臀| 亚洲视频免费看| 99视频在线精品| 国产精品精品国产色婷婷| 国产成人av一区二区| 久久香蕉国产线看观看99| 久久精品噜噜噜成人av农村| 欧美一区二区三区四区久久 | 久久久精品天堂| 国产成人亚洲综合a∨猫咪| 久久婷婷国产综合精品青草| 久久福利资源站| 精品国内二区三区| 久久er精品视频| 国产日韩欧美a| 成人一二三区视频| 亚洲啪啪综合av一区二区三区| 成人h动漫精品一区二区| 国产精品高潮呻吟| 在线观看免费成人| 亚洲一区二区三区四区不卡| 欧美乱妇23p| 麻豆成人久久精品二区三区红| 精品少妇一区二区三区视频免付费| 蜜乳av一区二区三区| 精品美女被调教视频大全网站| 国产乱码精品一区二区三区五月婷| 精品99一区二区| 91丝袜美腿高跟国产极品老师 | 在线不卡中文字幕播放| 秋霞成人午夜伦在线观看| 精品久久久久久亚洲综合网| 国产在线观看一区二区| 国产精品萝li| 欧美久久一二区| 成人美女视频在线看| 亚洲国产视频在线| 久久久久久久久一| 91久久人澡人人添人人爽欧美| 日本成人在线看| 中文字幕一区av| 欧美一级黄色录像| 99久久er热在这里只有精品15| 亚洲免费观看高清完整版在线观看 | 99久久精品一区二区| 天天综合天天综合色| 久久免费精品国产久精品久久久久| 一本到一区二区三区| 麻豆91精品视频| 亚洲最大成人综合| 久久亚洲影视婷婷| 欧美三片在线视频观看| 国产成人aaaa| 欧美aa在线视频| 亚洲综合偷拍欧美一区色| 久久精品视频网| 欧美一区二区国产| 色婷婷久久久亚洲一区二区三区| 黄一区二区三区| 国产乱国产乱300精品| 亚洲午夜久久久久久久久电影网| 精品不卡在线视频| 欧美高清dvd| 91官网在线免费观看| 成人性视频网站| 国产一本一道久久香蕉| 美女爽到高潮91| 亚洲高清视频的网址| 中文字幕在线播放不卡一区| 欧美精品一区二区在线播放 | 2020国产精品久久精品美国| 欧美日韩在线一区二区| 成人app软件下载大全免费| 国产综合色在线视频区| 毛片av一区二区| 秋霞成人午夜伦在线观看| 首页国产欧美久久| 亚洲成在线观看| 午夜视频一区在线观看| 亚洲国产va精品久久久不卡综合| 亚洲精品成人a在线观看| **欧美大码日韩| 亚洲人成在线播放网站岛国| 国产精品美女久久久久久久| 久久久国际精品| 国产日韩欧美一区二区三区乱码 | 亚洲第一福利一区| 午夜精品福利一区二区三区蜜桃| 亚洲黄色小视频| 亚洲成av人片www| 亚洲一二三区不卡| 亚洲成人激情自拍| 五月婷婷综合在线| 捆绑紧缚一区二区三区视频| 裸体一区二区三区| 国内成+人亚洲+欧美+综合在线| 狠狠色丁香婷婷综合久久片| 国产呦萝稀缺另类资源| 成人h精品动漫一区二区三区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 本田岬高潮一区二区三区| 波多野结衣中文字幕一区二区三区| 成人性视频网站| 欧美视频一区二区| 制服丝袜激情欧洲亚洲| 久久综合色天天久久综合图片| 久久精品视频免费| 亚洲精选视频免费看| 亚洲国产欧美在线人成| 视频一区免费在线观看| 久久66热re国产| 91免费观看视频| 在线不卡免费av| 国产欧美日韩精品a在线观看| 亚洲老妇xxxxxx| 蜜桃在线一区二区三区| 成人在线综合网| 欧美精品v日韩精品v韩国精品v| 日韩欧美国产午夜精品| 一区在线播放视频| 日韩精品91亚洲二区在线观看 | 欧美性色aⅴ视频一区日韩精品| 欧美福利视频一区| 国产精品麻豆网站| 日韩va欧美va亚洲va久久| 国产v综合v亚洲欧| 欧美精品国产精品| 国产精品久久久久婷婷| 精品在线一区二区| 在线一区二区三区四区五区 | 91小宝寻花一区二区三区| 欧美日韩国产不卡| 中文字幕第一区二区| 日本人妖一区二区| 91免费国产在线| 国产欧美日韩另类视频免费观看|