⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jcomapi.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\jcomapi.o --depend=.\Obj\jcomapi.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\Config -I..\..\GUI\Core -I..\..\GUI\Font -I..\..\GUI\ConvertColor -I..\..\GUI\AntiAlias -I..\..\GUI\ConvertMono -I..\..\GUI\JPEG -I..\..\GUI\MemDev -I..\..\GUI\MultiLayer -I..\..\GUI\Widget -I..\..\GUI\WM -IC:\Keil\ARM\INC\ST\STM32F10x ..\..\GUI\JPEG\jcomapi.c]
                          THUMB

                          AREA ||i.jpeg_abort||, CODE, READONLY, ALIGN=1

                  jpeg_abort PROC
;;;28     GLOBAL(void)
;;;29     jpeg_abort (j_common_ptr cinfo)
000000  b570              PUSH     {r4-r6,lr}
;;;30     {
000002  4604              MOV      r4,r0
;;;31       int pool;
;;;32     
;;;33       /* Do nothing if called on a not-initialized or destroyed JPEG object. */
;;;34       if (cinfo->mem == NULL)
000004  6840              LDR      r0,[r0,#4]
000006  2800              CMP      r0,#0
000008  d00f              BEQ      |L1.42|
;;;35         return;
;;;36     
;;;37       /* Releasing pools in reverse order might help avoid fragmentation
;;;38        * with some (brain-damaged) malloc libraries.
;;;39        */
;;;40       for (pool = JPOOL_NUMPOOLS-1; pool > JPOOL_PERMANENT; pool--) {
00000a  2501              MOVS     r5,#1
                  |L1.12|
;;;41         (*cinfo->mem->free_pool) (cinfo, pool);
00000c  6860              LDR      r0,[r4,#4]
00000e  4629              MOV      r1,r5
000010  6a42              LDR      r2,[r0,#0x24]
000012  4620              MOV      r0,r4
000014  4790              BLX      r2
000016  1e6d              SUBS     r5,r5,#1              ;40
000018  2d00              CMP      r5,#0                 ;40
00001a  dcf7              BGT      |L1.12|
;;;42       }
;;;43     
;;;44       /* Reset overall state for possible reuse of object */
;;;45       if (cinfo->is_decompressor) {
00001c  6920              LDR      r0,[r4,#0x10]
00001e  b128              CBZ      r0,|L1.44|
;;;46         cinfo->global_state = DSTATE_START;
000020  20c8              MOVS     r0,#0xc8
;;;47         /* Try to keep application from accessing now-deleted marker list.
;;;48          * A bit kludgy to do it here, but this is the most central place.
;;;49          */
;;;50         ((j_decompress_ptr) cinfo)->marker_list = NULL;
000022  6160              STR      r0,[r4,#0x14]
000024  2000              MOVS     r0,#0
000026  f8c40130          STR      r0,[r4,#0x130]
                  |L1.42|
;;;51       } else {
;;;52         cinfo->global_state = CSTATE_START;
;;;53       }
;;;54     }
00002a  bd70              POP      {r4-r6,pc}
                  |L1.44|
00002c  2064              MOVS     r0,#0x64              ;52
00002e  6160              STR      r0,[r4,#0x14]         ;52
000030  bd70              POP      {r4-r6,pc}
;;;55     
                          ENDP


                          AREA ||i.jpeg_alloc_huff_table||, CODE, READONLY, ALIGN=1

                  jpeg_alloc_huff_table PROC
;;;91     
;;;92     GLOBAL(JHUFF_TBL *) jpeg_alloc_huff_table (j_common_ptr cinfo) {
000000  b510              PUSH     {r4,lr}
;;;93       JHUFF_TBL *tbl;
;;;94       tbl = (JHUFF_TBL *) (*cinfo->mem->alloc_small) (cinfo, JPOOL_PERMANENT, SIZEOF(JHUFF_TBL));
000002  6841              LDR      r1,[r0,#4]
000004  f44f728c          MOV      r2,#0x118
000008  680b              LDR      r3,[r1,#0]
00000a  2100              MOVS     r1,#0
00000c  4798              BLX      r3
;;;95       tbl->sent_table = FALSE;	/* make sure this is false in any new table */
00000e  2100              MOVS     r1,#0
;;;96       return tbl;
000010  f8c01114          STR      r1,[r0,#0x114]
;;;97     }
000014  bd10              POP      {r4,pc}
                          ENDP


                          AREA ||i.jpeg_alloc_quant_table||, CODE, READONLY, ALIGN=1

                  jpeg_alloc_quant_table PROC
;;;83     
;;;84     GLOBAL(JQUANT_TBL *) jpeg_alloc_quant_table (j_common_ptr cinfo) {
000000  b510              PUSH     {r4,lr}
;;;85       JQUANT_TBL *tbl;
;;;86       tbl = (JQUANT_TBL *) (*cinfo->mem->alloc_small) (cinfo, JPOOL_PERMANENT, SIZEOF(JQUANT_TBL));
000002  6841              LDR      r1,[r0,#4]
000004  2284              MOVS     r2,#0x84
000006  680b              LDR      r3,[r1,#0]
000008  2100              MOVS     r1,#0
00000a  4798              BLX      r3
;;;87       tbl->sent_table = FALSE;	/* make sure this is false in any new table */
00000c  2100              MOVS     r1,#0
;;;88       return tbl;
00000e  f8c01080          STR      r1,[r0,#0x80]
;;;89     }
000012  bd10              POP      {r4,pc}
;;;90     
                          ENDP


                          AREA ||i.jpeg_destroy||, CODE, READONLY, ALIGN=1

                  jpeg_destroy PROC
;;;67     
;;;68     GLOBAL(void) jpeg_destroy (j_common_ptr cinfo) {
000000  b510              PUSH     {r4,lr}
000002  4604              MOV      r4,r0
;;;69       /* We need only tell the memory manager to release everything. */
;;;70       /* NB: mem pointer is NULL if memory mgr failed to initialize. */
;;;71       if (cinfo->mem != NULL) {
000004  6840              LDR      r0,[r0,#4]
000006  b110              CBZ      r0,|L4.14|
;;;72         (*cinfo->mem->self_destruct) (cinfo);
000008  6a81              LDR      r1,[r0,#0x28]
00000a  4620              MOV      r0,r4
00000c  4788              BLX      r1
                  |L4.14|
;;;73       }
;;;74       cinfo->mem = NULL;		/* be safe if jpeg_destroy is called twice */
00000e  2000              MOVS     r0,#0
;;;75       cinfo->global_state = 0;	/* mark it destroyed */
000010  6060              STR      r0,[r4,#4]
;;;76     }
000012  6160              STR      r0,[r4,#0x14]
000014  bd10              POP      {r4,pc}
;;;77     
                          ENDP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -