亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
日韩高清不卡一区二区三区| 亚洲精品一区二区三区影院 | 日韩一级片网址| 午夜久久久久久| 日韩欧美中文字幕制服| 久久精品国产99| 久久麻豆一区二区| 99久久精品免费| 亚洲综合一区二区三区| 欧美色偷偷大香| 国产又粗又猛又爽又黄91精品| 日本一二三不卡| 欧洲精品在线观看| 丝袜国产日韩另类美女| 精品精品欲导航| 成人丝袜视频网| 亚洲成人在线观看视频| 欧美精品一区二区三区很污很色的| 波多野结衣一区二区三区| 亚洲二区在线视频| 久久免费精品国产久精品久久久久| 91亚洲男人天堂| 秋霞国产午夜精品免费视频| 中文幕一区二区三区久久蜜桃| 在线观看亚洲精品| 精品午夜久久福利影院| 亚洲人xxxx| 亚洲精品一区二区三区蜜桃下载 | 欧美午夜电影在线播放| 六月丁香婷婷色狠狠久久| 国产欧美一区二区精品婷婷| 在线亚洲一区二区| 国产做a爰片久久毛片| 夜夜精品视频一区二区| 久久久一区二区三区捆绑**| 欧美日韩情趣电影| 成人av网址在线观看| 日韩黄色片在线观看| 中文字幕欧美一| 久久午夜电影网| 欧美日韩国产精品自在自线| www.性欧美| 国产一区二区免费在线| 午夜av一区二区三区| 亚洲桃色在线一区| 久久久精品免费观看| 在线不卡免费欧美| 91成人在线精品| 成人激情小说网站| 国产专区综合网| 轻轻草成人在线| 亚洲二区在线观看| 一区二区在线免费观看| 国产精品丝袜一区| 国产亚洲一区二区三区四区| 欧美一区二区三区免费视频 | 在线成人av网站| 欧美午夜精品电影| 在线一区二区观看| 波多野结衣中文一区| 国产乱国产乱300精品| 免费成人在线播放| 免费日本视频一区| 日本亚洲天堂网| 日欧美一区二区| 日韩中文字幕区一区有砖一区 | 国产欧美日韩中文久久| 久久综合久色欧美综合狠狠| 欧美丰满美乳xxx高潮www| 91亚洲精华国产精华精华液| 成人污污视频在线观看| 成人久久18免费网站麻豆| 成人一区二区三区视频| 成人免费看的视频| 成人av网址在线| 成人精品一区二区三区四区 | 精品免费一区二区三区| 欧美电影免费观看高清完整版在线| 欧美高清视频不卡网| 91精品国产综合久久精品性色| 欧美性色黄大片| 91麻豆精品国产91久久久久久| 7777精品伊人久久久大香线蕉超级流畅| 欧美日韩激情在线| 91精品国产综合久久福利| 91精品国产一区二区| 精品国产一区二区三区四区四| 精品国产乱码久久久久久蜜臀 | 久久亚洲二区三区| 久久精品一区二区三区不卡| 国产欧美一区二区三区网站| 日韩理论片中文av| 亚洲成人av一区二区三区| 欧美bbbbb| 国产91丝袜在线18| 色悠久久久久综合欧美99| 欧美性色黄大片手机版| 欧美一区二区三区免费观看视频 | 久久精品国产一区二区三区免费看| 美女精品一区二区| 国产福利一区在线| 色哦色哦哦色天天综合| 在线成人小视频| 国产欧美日韩综合| 亚洲一区二区三区视频在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产一区二区三区日韩| 99这里只有久久精品视频| 欧美三级电影在线看| 精品久久久久久无| 国产精品美女久久久久久久久久久| 亚洲综合在线视频| 久88久久88久久久| 99精品国产99久久久久久白柏| 在线不卡中文字幕| 中文字幕乱码亚洲精品一区| 亚洲福利电影网| 成人午夜免费av| 欧美一区二区三区免费观看视频| 欧美国产成人精品| 日本三级亚洲精品| 91网站最新网址| 精品国产一区二区三区av性色| 亚洲日本在线a| 国内成人自拍视频| 欧美日韩一区三区四区| 中文字幕的久久| 六月婷婷色综合| 欧美视频你懂的| 日本一区二区三区在线观看| 日韩和欧美一区二区| 成人开心网精品视频| 精品美女一区二区| 亚洲午夜一区二区三区| 成人a级免费电影| 日韩欧美成人一区二区| 亚洲国产精品久久人人爱蜜臀| 国产精品一二二区| 欧美sm极限捆绑bd| 偷拍一区二区三区| 色又黄又爽网站www久久| 国产午夜三级一区二区三| 日本不卡不码高清免费观看| 色狠狠色狠狠综合| 中文字幕日韩av资源站| 国产成人午夜视频| 久久先锋资源网| 日本视频一区二区| 欧美日韩一二区| 亚洲手机成人高清视频| 成人性生交大合| 久久精品无码一区二区三区| 久久精品国产99国产精品| 在线综合视频播放| 亚洲成av人片一区二区梦乃| 色噜噜狠狠色综合欧洲selulu| 国产精品沙发午睡系列990531| 狠狠v欧美v日韩v亚洲ⅴ| 欧美大肚乱孕交hd孕妇| 久久精品国产亚洲一区二区三区| 91精品国产色综合久久不卡蜜臀 | 亚洲成人av一区二区三区| 91高清在线观看| 亚洲欧美另类久久久精品 | 午夜精品久久久久久久| 在线亚洲一区二区| 夜夜嗨av一区二区三区中文字幕 | 欧美午夜精品久久久久久超碰| 亚洲精品国产一区二区三区四区在线| 波多野结衣亚洲一区| 日韩伦理电影网| 欧美影院一区二区| 性久久久久久久久久久久| 欧美乱妇23p| 日韩综合小视频| 欧美xxxxx牲另类人与| 国内精品国产三级国产a久久| 久久欧美一区二区| 成人国产精品免费观看| 中文欧美字幕免费| 91亚洲精品一区二区乱码| 亚洲精品v日韩精品| 欧美日韩免费视频| 青娱乐精品在线视频| 久久精品夜夜夜夜久久| 成人激情电影免费在线观看| 中文字幕一区二区三区精华液| 色婷婷综合久久久久中文一区二区 | 国产永久精品大片wwwapp| 久久亚洲影视婷婷| 92国产精品观看| 亚洲综合成人网| 欧美成人r级一区二区三区| 国产999精品久久久久久| 综合在线观看色| 欧美日韩一级片网站| 国产呦萝稀缺另类资源| 亚洲精品成人精品456| 欧美一区二区在线免费播放 | 亚洲精品videosex极品|