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

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

?? arith_decoder_jpeg2000.asm

?? JPEG2000 ADI BLACKFIN 壓縮解壓程序
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
/********************** LPS_EXCHANGE    ****************************/

LPS_EXCHANGE:
    R0 = [I0++] || [P5] = R7;
                            // get NMPS value and store A = Qe 
    CC = R2<R7;             // check  A<Qe
    IF !CC JUMP CHECK_SWITCH1;
    [P0++] = R0;            // store NMPS as next index
    P1 = [P5+20];           // fetch output array address
    B[P1++] = R3;           // store output  =  = MPS value
    [P5+20] = P1;           // store P1
    JUMP CALL_RENORME;

CHECK_SWITCH1:      
    R2 = R3 << 0 || R1 = [I0++] || P1 = [P5+20];
                            // fetch NLPS and fetch output address 
    BITTGL(R2,0);           // D =  =  complement of MPS value
    R0 = [I0++] ||  [P0++] = R1;
                            // fetch SWITCH flag and store D value 
    CC = R0 == 1;           // check if SWITCH is set
    R0 = CC;
    B[P1++] = R2;           // store NLPS value as next index
    [P5+20] = P1;
    R3 = R3^R0;             // Compliment MPS value if switch flag is set
    [P0++] = R3;            // store MPS value
    
CALL_RENORME:
    R0 = P2;                // address of structure mqdec

    CALL __arith_decode_renorme;
    
    RETS = [SP++];          // Pop RETS,R7:6,P5 registers
    (R7:6) = [SP++];
    P5 = [SP++];
    RTS;
    NOP;                    // To remove stalls occurring on the board
__arith_decoder_JPEG2000.end:         

/*******************************************************************************
The first byte of compressed data is read and shifted to lower order byte of C 
high register(16-23 bits). New byte is read and C register shifted left by 7 
position and CT is decremented by 7. The interval register A is set to 0x8000, 
same as encoder.

Registers used  : R0-R3, P5.
*******************************************************************************/

.section               program;
.global              __arith_decode_init;
.align                       8;
    
__arith_decode_init:

    P1 = R1;                // Address of input array
    P0 = R0;                // Address of structure mqdec
    [--SP] = P5;            // Push P5
    P5 = R0;            
    R3 = R1-R1(ns) || R1 = B[P1++](Z);
                            // Clear R3 and fetch first input byte 
    R3.L = 0x8000;          // Initialize to load A to 0x8000
    R0 = R1 << 16 || [P0] = R3;
                            // Shift R1 to load Chigh register 
    [P0+4] = R0;            // store C register
    [P0+12] = R1;           // store B register
    [P0+16] = P1;           // store input address where compressed data to be 
                            // fetched
    [P0+20] = R2;           // store address of output array
    R0 = P5;                // address of structure mqdec
    [--SP] = RETS;          // save RETS register

    CALL __arith_decode_bytein;
    RETS = [SP++];
    R0 = [P5+4];            // Fetch C register
    R0 = R0 << 7 || R1 = [P5+8];
                            // fetch CT register 
    R1+= -7;                // decrement CT register by 7
    [P5+8] = R1;            // store CT register
    [P5+4] = R0;            // store C register
    P5 = [SP++];            // Pop P5
    RTS;
    
__arith_decode_init.end:
    
/******************************************************************************
In this procedure one byte of data is read and compensating for any 0xFF byte in
process. It also detects the marker codes which must occur at the end  of a 
scan. If the compressed data is not 0xff new value is inserted to higher order 
8 bits of Clow register. If data is 0xFF next data is read. If next data exceeds
0x8f, then next byte is treated as one of the marker bit. If it is not a marker
code then this byte is added to C register with an alignment such that stuff bit
is added to the lower order bit of C high register.

Registers used  : R0-R3, P0, P1.
*******************************************************************************/

.section            program;
.global            __arith_decode_bytein;
.align                  8;
    
__arith_decode_bytein:

    P0 = R0;                // Address of structure mqdec
    R1 = 0XFF;              // Initialize to 0xff
    R3 = 8;
    R2 = [P0+4];            // Fetch C register
    P1 = [P0+16];           // Address to fetch compressed data
    R0 = [P0+12];           // fetch B register
    CC = R0 == R1;          // check if compressed byte ==0xff
    IF CC JUMP CHK_NEXT_BYTE;
    R0 = B[P1++](Z);        // fetch next compressed byte
    R1 = R0 << 8;			//change from 535 to 533
    [P0+16] = P1;
                            // store address to fetch next byte 
    R2 = R2+R1(NS) || [P0+12] = R0;
                            // store B value 
    [P0+8] = R3;            // store CT register
    [P0+4] = R2;            // store C register
    RTS;
    NOP;                    // To remove stalls occurring on the board
    
CHK_NEXT_BYTE:
    R0 = B[P1++](Z);        // fetch next compressed byte
    R1 = 0X8F; 
    CC = R1<R0;             // check if byte < 0x8f
    IF CC JUMP MARKERBIT;   // if false treat as marker bit
    R1 = 7;                
    R3 = R0 << 9 || [P0+16] = P1;
                            // store address of compressed data 
    R2 = R2+R3(NS) || [P0+12] = R0;
                            // store B register 
    [P0+8] = R1;            // store CT register
    [P0+4] = R2;            // store C register
    RTS;
    NOP;                    // To remove stalls occurring on the board
    
MARKERBIT:
    R3.L = 0XFF00;          // to set higher bits of Clow register to 1
    R3.H = 0;
    R1 = 8;                 // to initialize CT register
    R2 = R2+R3(NS) || [P0+8] = R1;
                            // store CT register 
    [P0+4] = R2;            // store C register
    RTS;
    NOP;                    // To remove stalls occurring on the board


__arith_decode_bytein.end:        
    
/******************************************************************************
In this procedure CT register is compared to zero. If CT== 0, new compressed 
byte is added to Clow register  by calling bytein procedure. Both interval 
register A and C are shifted, one bit at a time until A register is no longer 
less than 0x8000.

Registers used  : R0-R2, P0, P5.
******************************************************************************/
    
.section            program;
.global             __arith_decode_renorme;
.align                    8;
    
__arith_decode_renorme: 

    P0 = R0;                // Address of structure mqdec
    [--SP] = P5;            // push P5
    P5 = R0;
    R0 = [P0++];            // fetch A register
    R1 = [P0++];            // fetch C register
    R2 = [P0];              // fetch CT register

CHECK_CT:
    CC = R2 ==0;            // check if CT==0
    IF CC JUMP GET_BYTE;    // if false jump to shift_a

SHIFT_A:
    R0 = R0 << 1;           // shift A and C register
    R1 = R1 << 1;
    R2+= -1;                // decrement  CT register by 1
    CC = BITTST(R0,15);     // check  if > 0x8000
    IF !CC JUMP CHECK_CT;   // if false jump to check CT
    [P5+8] = R2;
    [P5+4] = R1;            // store CT,C,A registers
    [P5] = R0;
    P5 = [SP++];            // Pop P5
    RTS;
    
GET_BYTE:      
    [--SP] = RETS;          // Push RETS register
    
    [P5+8] = R2;
    [P5+4] = R1;            // store CT,C and A registers
    [P5] = R0;
    R0 = P5;         

    CALL __arith_decode_bytein;
    RETS = [SP++];          // Pop RETS register
    R0 = [P5];              // fetch new values of A,C,CT registers
    R1 = [P5+4]; 
    R2 = [P5+8]; 
    JUMP SHIFT_A;
    
__arith_decode_renorme.end:    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲欧美在线| 在线电影院国产精品| 精品奇米国产一区二区三区| 日日夜夜精品免费视频| 91精品国产综合久久久久久 | 一本色道**综合亚洲精品蜜桃冫| 中日韩av电影| 91蜜桃视频在线| 亚洲国产裸拍裸体视频在线观看乱了| 欧美伦理电影网| 免费欧美日韩国产三级电影| 精品国一区二区三区| 国产成人午夜精品5599| 亚洲嫩草精品久久| 欧美顶级少妇做爰| 国产91综合网| 亚洲一区二区偷拍精品| 69堂精品视频| 成人激情免费视频| 亚洲国产精品欧美一二99| 日韩欧美美女一区二区三区| 国产在线观看免费一区| 亚洲男人的天堂av| 日韩精品在线网站| 91免费视频观看| 美女视频网站久久| 国产精品看片你懂得| 91麻豆精品国产91久久久久久久久| 韩国视频一区二区| 亚洲自拍偷拍欧美| 国产喷白浆一区二区三区| 欧美中文字幕久久| 国产精品一区不卡| 视频一区二区三区入口| 国产精品久久久久久妇女6080| 7777精品伊人久久久大香线蕉超级流畅| 国产制服丝袜一区| 视频一区国产视频| 一区在线中文字幕| 久久免费视频一区| 欧美肥妇毛茸茸| 91丝袜美腿高跟国产极品老师 | 亚洲va欧美va天堂v国产综合| 精品成人免费观看| 欧美日韩的一区二区| youjizz久久| 精品一区二区在线视频| 亚洲第四色夜色| 亚洲日本丝袜连裤袜办公室| 欧美精品一区二区三区视频| 欧美三级电影精品| 91丨九色丨黑人外教| 国产一区91精品张津瑜| 蜜臀久久99精品久久久久久9| 亚洲一区二区欧美| ㊣最新国产の精品bt伙计久久| 精品日本一线二线三线不卡| 欧美另类z0zxhd电影| 91丨国产丨九色丨pron| 成人激情图片网| 国产91精品久久久久久久网曝门| 久久国内精品自在自线400部| 亚洲va欧美va天堂v国产综合| 亚洲欧美日韩久久精品| 国产精品久线在线观看| 亚洲国产经典视频| 日本一区免费视频| 日本一区二区三区电影| 久久精品视频一区二区三区| 337p粉嫩大胆噜噜噜噜噜91av| 欧美一二三四区在线| 欧美男女性生活在线直播观看| 欧美午夜理伦三级在线观看| 一本久久a久久免费精品不卡| av色综合久久天堂av综合| 成人免费观看男女羞羞视频| 丁香六月综合激情| 懂色av一区二区夜夜嗨| 成人免费视频视频| 成人一区在线看| 成人激情午夜影院| 99热在这里有精品免费| 色系网站成人免费| 欧美色图一区二区三区| 欧美三级电影在线看| 在线不卡中文字幕播放| 欧美一区二区视频网站| 欧美一区二区三级| 国产亚洲自拍一区| 中文字幕乱码久久午夜不卡| 成人欧美一区二区三区小说| 亚洲私人影院在线观看| 亚洲综合一二三区| 日韩电影在线一区二区三区| 蜜桃视频一区二区三区在线观看| 激情综合亚洲精品| 成人免费观看av| 欧美日韩一二区| 亚洲精品在线观看视频| 国产精品国产三级国产aⅴ原创 | 6080yy午夜一二三区久久| 日韩免费电影网站| 国产精品女同互慰在线看| 夜夜精品视频一区二区| 免费观看在线综合| 成人av免费在线| 欧美放荡的少妇| 国产日韩欧美a| 亚洲午夜电影网| 国产美女一区二区三区| 色哟哟亚洲精品| 欧美成人bangbros| 亚洲视频免费看| 美女国产一区二区| 99久久免费视频.com| 欧美一区二区三区色| 国产精品国产三级国产a| 日韩av在线发布| 99久久久精品| 精品国产一区二区三区四区四| 综合av第一页| 国产在线播放一区三区四| 欧亚洲嫩模精品一区三区| 久久久一区二区三区| 亚洲一区在线观看免费| 精品午夜一区二区三区在线观看| 色婷婷av一区二区三区之一色屋| 欧美大片免费久久精品三p| 亚洲黄色av一区| 国产乱淫av一区二区三区| 在线观看亚洲精品视频| 久久久不卡影院| 麻豆精品一区二区综合av| 色综合av在线| 中文字幕精品一区| 麻豆成人久久精品二区三区小说| 色88888久久久久久影院按摩| 精品国产91乱码一区二区三区| 一区二区三区中文字幕| 成人免费黄色大片| 久久久久久日产精品| 久久精品理论片| 欧美日韩国产三级| 一区二区三区在线视频免费| 成人app在线观看| 久久蜜臀中文字幕| 美国一区二区三区在线播放| 欧美视频一二三区| 一区二区三区欧美视频| 99视频有精品| 国产精品你懂的在线| 国产福利一区在线| 欧美成人一区二区三区片免费| 亚洲国产裸拍裸体视频在线观看乱了| 91看片淫黄大片一级在线观看| 欧美国产精品一区二区| 国产一区不卡精品| 精品成人一区二区| 国产一区二区三区电影在线观看| 日韩欧美国产综合一区 | 亚洲综合在线视频| 99国产精品久久久久久久久久久| 国产欧美一区二区三区在线老狼| 久久99精品久久久久久久久久久久 | 日本乱人伦aⅴ精品| ...xxx性欧美| 欧美性猛片xxxx免费看久爱| 亚洲美女一区二区三区| 91麻豆自制传媒国产之光| 亚洲男帅同性gay1069| 一本一道久久a久久精品| 一区二区激情小说| 欧美日韩午夜精品| 日本aⅴ亚洲精品中文乱码| 欧美大片一区二区三区| 精品一区二区三区蜜桃| 久久久av毛片精品| 国产成人亚洲精品狼色在线| 国产精品美女久久久久久久久久久 | 欧美午夜在线观看| 亚洲一区二区不卡免费| 欧美电影在线免费观看| 精品伊人久久久久7777人| 久久久久久久久久久久电影| 成人免费毛片a| 亚洲国产精品一区二区尤物区| 欧美日韩aaa| 国产精品中文字幕欧美| 日韩一区在线播放| 欧美日韩另类一区| 美女一区二区三区在线观看| 国产亚洲欧美色| 色欧美日韩亚洲| 免费成人深夜小野草| 久久久久久久久久久电影| 99久久国产综合精品女不卡| 亚洲va韩国va欧美va精品| 久久综合九色综合欧美就去吻| 成人亚洲精品久久久久软件| 亚洲影视在线播放|