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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rprintf.lst

?? MMC/SD on Olimex Sam7-EX256
?? LST
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
   1              		.code	16   2              		.file	"rprintf.c"  10              	.Ltext0:  11              		.align	2  12              		.code 16  13              		.thumb_func  15              	myputchar:  16              	.LFB2:  17              		.file 1 "usart/rprintf.c"   1:usart/rprintf.c **** //#########################################################################
   2:usart/rprintf.c **** // (r)printf.c
   3:usart/rprintf.c **** //
   4:usart/rprintf.c **** // code based on sprintf() from gcctest9.c by Volker Oth
   5:usart/rprintf.c **** //
   6:usart/rprintf.c **** // Changes made by Holger Klabunde:
   7:usart/rprintf.c **** // Now takes format strings from FLASH (was into RAM ! before)
   8:usart/rprintf.c **** // Fixed bug for %i, %I. u_val was used before it had the right value
   9:usart/rprintf.c **** // Added %d, %D (is same as %i, %I)
  10:usart/rprintf.c **** // Support for long variables %li, %ld, %Lu, %LX ....
  11:usart/rprintf.c **** // %x, %X now gives upper case hex characters A,B,C,D,E,F
  12:usart/rprintf.c **** // Output can be redirected in a single function: myputchar()
  13:usart/rprintf.c **** // Make printf() smaller by commenting out a few #defines
  14:usart/rprintf.c **** // Added some SPACE and ZERO padding %02x or % 3u up to 9 characters
  15:usart/rprintf.c **** // 
  16:usart/rprintf.c **** // Changes made by Martin Thomas:
  17:usart/rprintf.c **** // LPC2000 port using the R O Software UART-Interface (see myputchar)
  18:usart/rprintf.c **** // ARM7S   port using minimal uart interface
  19:usart/rprintf.c **** // reverted Klabundes "from flash" since only useful for AVR "Harvard"
  20:usart/rprintf.c **** //
  21:usart/rprintf.c **** // Todo:
  22:usart/rprintf.c **** // %f, %F for floating point numbers
  23:usart/rprintf.c **** //
  24:usart/rprintf.c **** //#########################################################################
  25:usart/rprintf.c **** 
  26:usart/rprintf.c **** #include <stdarg.h>
  27:usart/rprintf.c **** #include <string.h>
  28:usart/rprintf.c **** #include "include/rprintf.h"
  29:usart/rprintf.c **** #include "include/include.h"
  30:usart/rprintf.c **** 
  31:usart/rprintf.c **** #define SCRATCH 12	//32Bits go up to 4GB + 1 Byte for \0
  32:usart/rprintf.c **** 
  33:usart/rprintf.c **** //Spare some program space by making a comment of all not used format flag lines
  34:usart/rprintf.c **** #define USE_LONG 	// %lx, %Lu and so on, else only 16 bit integer is allowed
  35:usart/rprintf.c **** //#define USE_OCTAL	// %o, %O Octal output. Who needs this ?
  36:usart/rprintf.c **** #define USE_STRING      // %s, %S Strings as parameters
  37:usart/rprintf.c **** #define USE_CHAR	// %c, %C Chars as parameters
  38:usart/rprintf.c **** #define USE_INTEGER	// %i, %I Remove this format flag. %d, %D does the same
  39:usart/rprintf.c **** #define USE_HEX		// %x, %X Hexadezimal output
  40:usart/rprintf.c **** #define USE_UPPERHEX	// %x, %X outputs A,B,C... else a,b,c...
  41:usart/rprintf.c **** #ifndef USE_HEX
  42:usart/rprintf.c ****  #undef USE_UPPERHEX    // ;)
  43:usart/rprintf.c **** #endif
  44:usart/rprintf.c **** #define USE_UPPER	// uncommenting this removes %C,%D,%I,%O,%S,%U,%X and %L..
  45:usart/rprintf.c ****                         // only lowercase format flags are used
  46:usart/rprintf.c **** #define PADDING         //SPACE and ZERO padding
  47:usart/rprintf.c **** 
  48:usart/rprintf.c **** #include "include/serial.h"
  49:usart/rprintf.c **** #include "include/include.h"
  50:usart/rprintf.c **** 
  51:usart/rprintf.c **** //extern char data[MSG_SIZE];
  52:usart/rprintf.c **** extern unsigned int length;
  53:usart/rprintf.c **** 
  54:usart/rprintf.c **** static void myputchar(unsigned char c)
  55:usart/rprintf.c **** {
  18              		.loc 1 55 0  19 0000 10B5     		push	{r4, lr}  20              	.LCFI0:  21              	.LVL0:  22              		.loc 1 55 0  23 0002 0006     		lsl	r0, r0, #24  24              	.LVL1:  25 0004 040E     		lsr	r4, r0, #24  26              	.LVL2:  56:usart/rprintf.c **** 	if(c == '\n') uart0_putc('\r');	
  27              		.loc 1 56 0  28 0006 0A2C     		cmp	r4, #10  29 0008 02D1     		bne	.L2  30 000a 0D20     		mov	r0, #13  31 000c FFF7FEFF 		bl	uart0_putc  32              	.L2:  57:usart/rprintf.c **** 	uart0_putc(c); // see serial.c  			//FOR USART
  33              		.loc 1 57 0  34 0010 201C     		mov	r0, r4  35 0012 FFF7FEFF 		bl	uart0_putc  58:usart/rprintf.c **** 	
  59:usart/rprintf.c **** 	//data[length]=(char)c;
  60:usart/rprintf.c **** 	//length++;
  61:usart/rprintf.c **** }
  36              		.loc 1 61 0  37              		@ sp needed for prologue  38              	.LVL3:  39 0016 10BC     		pop	{r4}  40 0018 01BC     		pop	{r0}  41 001a 0047     		bx	r0  42              	.LFE2:  44              		.global	__umodsi3  45              		.global	__udivsi3  46              		.align	2  47              		.global	rprintf  48              		.code 16  49              		.thumb_func  51              	rprintf:  52              	.LFB3:  62:usart/rprintf.c **** 
  63:usart/rprintf.c **** 
  64:usart/rprintf.c **** #if 0
  65:usart/rprintf.c **** 
  66:usart/rprintf.c **** #include "softuart.h"
  67:usart/rprintf.c **** 
  68:usart/rprintf.c **** static void myputchar(unsigned char c)
  69:usart/rprintf.c **** {
  70:usart/rprintf.c **** 	if(c == '\n') softuart_putchar('\r');
  71:usart/rprintf.c **** 	softuart_putchar(c); // see softuart.c
  72:usart/rprintf.c **** }
  73:usart/rprintf.c **** #endif
  74:usart/rprintf.c **** 
  75:usart/rprintf.c **** #if 0
  76:usart/rprintf.c **** static void myputchar(unsigned char c)
  77:usart/rprintf.c **** {
  78:usart/rprintf.c **** 	while ( uart0Space() < 2 );
  79:usart/rprintf.c **** 	if(c == '\n') uart0Putch('\r');
  80:usart/rprintf.c **** 	uart0Putch(c); // see uart.c
  81:usart/rprintf.c **** }
  82:usart/rprintf.c **** #endif
  83:usart/rprintf.c **** 
  84:usart/rprintf.c **** void rprintf(char const *format, ...)
  85:usart/rprintf.c **** {
  53              		.loc 1 85 0  54 001c 0FB4     		push	{r0, r1, r2, r3}  55              	.LCFI1:  56 001e F0B5     		push	{r4, r5, r6, r7, lr}  57              	.LCFI2:  58              	.LVL4:  59 0020 86B0     		sub	sp, sp, #24  60              	.LCFI3:  61              	.LVL5:  62              		.loc 1 85 0  63 0022 0BAB     		add	r3, sp, #44  64 0024 04CB     		ldmia	r3!, {r2}  86:usart/rprintf.c ****   unsigned char scratch[SCRATCH];
  87:usart/rprintf.c ****   unsigned char format_flag;
  88:usart/rprintf.c ****   unsigned short base;
  89:usart/rprintf.c ****   unsigned char *ptr;
  90:usart/rprintf.c ****   unsigned char issigned=0;
  91:usart/rprintf.c ****   va_list ap;
  92:usart/rprintf.c **** 
  93:usart/rprintf.c **** #ifdef USE_LONG
  94:usart/rprintf.c ****   unsigned char islong=0;
  95:usart/rprintf.c ****   unsigned long u_val=0;
  96:usart/rprintf.c ****   long s_val=0;
  97:usart/rprintf.c **** #else
  98:usart/rprintf.c ****   unsigned int u_val=0;
  99:usart/rprintf.c ****   int s_val=0;
 100:usart/rprintf.c **** #endif
 101:usart/rprintf.c **** 
 102:usart/rprintf.c ****   unsigned char fill;
 103:usart/rprintf.c ****   unsigned char width;
 104:usart/rprintf.c **** 
 105:usart/rprintf.c ****   va_start (ap, format);
  65              		.loc 1 105 0  66 0026 0593     		str	r3, [sp, #20]  67              	.LVL6:  68 0028 05E0     		b	.L6  69              	.LVL7:  70              	.L7: 106:usart/rprintf.c ****   for (;;){
 107:usart/rprintf.c ****     while ((format_flag = *(format++)) != '%'){      // Until '%' or '\0' 
 108:usart/rprintf.c ****       if (!format_flag){va_end (ap); return;}
  71              		.loc 1 108 0  72 002a 0028     		cmp	r0, #0  73 002c 00D1     		bne	.LCB56  74 002e A1E0     		b	.L52	@long jump  75              	.LCB56:  76              	.LVL8:  77              	.L56: 109:usart/rprintf.c ****       myputchar(format_flag);
  78              		.loc 1 109 0  79 0030 FFF7FEFF 		bl	myputchar  80              	.LVL9:  81              	.L10:  82 0034 321C     		mov	r2, r6  83              	.LVL10:  84              	.L6:  85              		.loc 1 107 0  86 0036 1078     		ldrb	r0, [r2]  87              	.LVL11:  88 0038 561C     		add	r6, r2, #1  89 003a 2528     		cmp	r0, #37  90 003c F5D1     		bne	.L7 110:usart/rprintf.c ****     }
 111:usart/rprintf.c **** 
 112:usart/rprintf.c ****     issigned=0; //default unsigned
 113:usart/rprintf.c ****     base = 10;
 114:usart/rprintf.c **** 
 115:usart/rprintf.c ****     format_flag = *format++; //get char after '%'
  91              		.loc 1 115 0  92 003e 5078     		ldrb	r0, [r2, #1]  93              	.LVL12:  94 0040 961C     		add	r6, r2, #2 116:usart/rprintf.c **** 
 117:usart/rprintf.c **** #ifdef PADDING
 118:usart/rprintf.c ****     width=0; //no formatting
 119:usart/rprintf.c ****     fill=0;  //no formatting
 120:usart/rprintf.c ****     if(format_flag=='0' || format_flag==' ') //SPACE or ZERO padding  ?
  95              		.loc 1 120 0  96 0042 3028     		cmp	r0, #48  97 0044 05D0     		beq	.L12  98 0046 2028     		cmp	r0, #32  99 0048 03D0     		beq	.L12 100 004a 0022     		mov	r2, #0 101              	.LVL13: 102 004c 0192     		str	r2, [sp, #4] 103 004e 0092     		str	r2, [sp] 104 0050 10E0     		b	.L15 105              	.LVL14: 106              	.L12: 121:usart/rprintf.c ****      {
 122:usart/rprintf.c ****       fill=format_flag;
 123:usart/rprintf.c ****       format_flag = *format++; //get char after padding char
 107              		.loc 1 123 0 108 0052 3178     		ldrb	r1, [r6] 124:usart/rprintf.c ****       if(format_flag>='0' && format_flag<='9')
 109              		.loc 1 124 0 110 0054 0B1C     		mov	r3, r1 111 0056 303B     		sub	r3, r3, #48 112 0058 1B06     		lsl	r3, r3, #24 113 005a 1B0E     		lsr	r3, r3, #24 114              		.loc 1 123 0 115 005c D61C     		add	r6, r2, #3 116              		.loc 1 124 0 117 005e 092B     		cmp	r3, #9 118 0060 04D9     		bls	.L16 119 0062 0090     		str	r0, [sp] 120 0064 0023     		mov	r3, #0 121 0066 081C     		mov	r0, r1 122 0068 0193     		str	r3, [sp, #4] 123 006a 03E0     		b	.L15 124              	.L16: 125:usart/rprintf.c ****        {
 126:usart/rprintf.c ****         width=format_flag-'0';
 125              		.loc 1 126 0 126 006c 0193     		str	r3, [sp, #4] 127:usart/rprintf.c ****         format_flag = *format++; //get char after width char
 127              		.loc 1 127 0 128 006e 0090     		str	r0, [sp] 129 0070 D078     		ldrb	r0, [r2, #3] 130 0072 161D     		add	r6, r2, #4 131              	.LVL15: 132              	.L15: 128:usart/rprintf.c ****        }
 129:usart/rprintf.c ****      }
 130:usart/rprintf.c **** #endif
 131:usart/rprintf.c **** 
 132:usart/rprintf.c **** #ifdef USE_LONG
 133:usart/rprintf.c ****     islong=0; //default int value
 134:usart/rprintf.c **** #ifdef USE_UPPER
 135:usart/rprintf.c ****     if(format_flag=='l' || format_flag=='L') //Long value 
 133              		.loc 1 135 0 134 0074 6C28     		cmp	r0, #108 135 0076 01D0     		beq	.L18 136 0078 4C28     		cmp	r0, #76 137 007a 01D1     		bne	.L21 138              	.L18: 136:usart/rprintf.c **** #else
 137:usart/rprintf.c ****     if(format_flag=='l') //Long value 
 138:usart/rprintf.c **** #endif
 139:usart/rprintf.c ****      {
 140:usart/rprintf.c ****       islong=1;
 141:usart/rprintf.c ****       format_flag = *format++; //get char after 'l' or 'L'
 139              		.loc 1 141 0 140 007c 3078     		ldrb	r0, [r6] 141 007e 0136     		add	r6, r6, #1 142              	.L21: 142:usart/rprintf.c ****      }
 143:usart/rprintf.c **** #endif
 144:usart/rprintf.c **** 
 145:usart/rprintf.c ****     switch (format_flag)
 143              		.loc 1 145 0 144 0080 5828     		cmp	r0, #88 145 0082 30D0     		beq	.L27 146 0084 5828     		cmp	r0, #88 147 0086 0DD8     		bhi	.L28 148 0088 4928     		cmp	r0, #73 149 008a 2ED0     		beq	.L24 150 008c 4928     		cmp	r0, #73 151 008e 04D8     		bhi	.L29 152 0090 4328     		cmp	r0, #67 153 0092 17D0     		beq	.L23 154 0094 4428     		cmp	r0, #68 155 0096 CBD1     		bne	.L56 156 0098 27E0     		b	.L24 157              	.L29: 158 009a 5328     		cmp	r0, #83 159 009c 17D0     		beq	.L25 160 009e 5528     		cmp	r0, #85 161 00a0 C6D1     		bne	.L56 162 00a2 2EE0     		b	.L26 163              	.L28: 164 00a4 6928     		cmp	r0, #105 165 00a6 20D0     		beq	.L24 166 00a8 6928     		cmp	r0, #105 167 00aa 04D8     		bhi	.L30 168 00ac 6328     		cmp	r0, #99 169 00ae 09D0     		beq	.L23 170 00b0 6428     		cmp	r0, #100

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美久久久久中文字幕| 欧美三级午夜理伦三级中视频| 国产精品国产三级国产三级人妇 | 五月天久久比比资源色| 日韩精品一区二区三区蜜臀 | 国产99久久久精品| 亚洲一区二区在线视频| 午夜久久久久久电影| 久久伊99综合婷婷久久伊| 91在线云播放| 国产一区二区三区四区五区入口| 一区二区三区av电影| 日韩免费观看高清完整版在线观看| 99精品视频一区| 久久不见久久见免费视频7| 亚洲综合图片区| 国产精品热久久久久夜色精品三区| 7777精品伊人久久久大香线蕉完整版 | 日韩精品亚洲一区二区三区免费| 久久久久国产精品麻豆| 91麻豆精品国产91久久久资源速度 | 麻豆一区二区三| 一区二区三区中文免费| 中日韩免费视频中文字幕| 日韩视频免费观看高清完整版在线观看| 91女神在线视频| 高清不卡在线观看| 国产中文字幕精品| 日产欧产美韩系列久久99| 亚洲精品久久久久久国产精华液| 国产日韩一级二级三级| 精品日韩欧美在线| 欧美一区三区四区| 欧美系列在线观看| 色综合咪咪久久| 成人午夜大片免费观看| 国产大片一区二区| 久久99国产精品麻豆| 日本色综合中文字幕| 日韩黄色免费电影| 午夜视频在线观看一区二区| 亚洲一区二区三区小说| 亚洲欧美电影一区二区| 国产精品成人免费在线| 国产精品福利影院| 中文字幕av不卡| 欧美国产欧美综合| 欧美激情在线一区二区| 国产欧美日韩麻豆91| 久久一二三国产| 久久久久久9999| 中文字幕不卡一区| 国产精品久久三| 亚洲欧美自拍偷拍| 一区二区三区欧美| 亚洲自拍偷拍图区| 午夜成人免费电影| 日本视频一区二区| 久久超碰97人人做人人爱| 韩日欧美一区二区三区| 国产精品自产自拍| 丁香桃色午夜亚洲一区二区三区| 粉嫩高潮美女一区二区三区| 成人激情综合网站| 91在线观看下载| 91在线视频免费91| 欧美日韩美少妇| 欧美一级欧美一级在线播放| 欧美xfplay| 国产丝袜欧美中文另类| 日韩美女精品在线| 午夜一区二区三区视频| 毛片av中文字幕一区二区| 国产一区欧美二区| av影院午夜一区| 欧美在线观看视频在线| 欧美一区二区三区免费观看视频 | 夜夜精品浪潮av一区二区三区| 亚洲一区二区精品久久av| 免费成人在线观看视频| 国产一区二区三区视频在线播放| 成人av在线一区二区三区| 欧洲国内综合视频| 日韩手机在线导航| 国产精品免费av| 亚洲国产日韩在线一区模特| 久久91精品久久久久久秒播| 波多野结衣欧美| 欧美日韩国产中文| 国产丝袜美腿一区二区三区| 亚洲欧美日韩久久| 免费的国产精品| 99久久精品费精品国产一区二区| 欧美人狂配大交3d怪物一区| 久久精品一区八戒影视| 一区二区高清免费观看影视大全| 久久99日本精品| 日本韩国欧美在线| 精品久久人人做人人爽| 亚洲自拍偷拍九九九| 国产精品一色哟哟哟| 在线免费观看视频一区| 久久久久久9999| 午夜私人影院久久久久| 成人av免费观看| 91精品国产91久久综合桃花| 亚洲视频一区二区免费在线观看| 免费看欧美美女黄的网站| 色综合久久久久| 91精品国产综合久久久蜜臀粉嫩| 国产精品乱码一区二区三区软件 | 2023国产精华国产精品| 亚洲中国最大av网站| 国产盗摄精品一区二区三区在线| 欧美精品国产精品| 国产精品久久久久久久午夜片| 老司机精品视频导航| 在线观看91视频| 中文字幕一区二区三区在线观看| 韩日精品视频一区| 欧美亚洲国产一区二区三区va| 国产精品色眯眯| 国产一区日韩二区欧美三区| 欧美一区二区三区四区视频| 亚洲一区二区三区四区在线 | 在线一区二区视频| 国产精品入口麻豆九色| 韩国毛片一区二区三区| 国产一区二区三区久久悠悠色av| 一区二区视频在线| 成人性色生活片免费看爆迷你毛片| 日韩亚洲欧美综合| 亚洲国产一区二区a毛片| 色欲综合视频天天天| 国产精品视频第一区| 风间由美中文字幕在线看视频国产欧美 | 精品影视av免费| 欧美一级片在线看| 日本特黄久久久高潮| 欧美区一区二区三区| 亚洲成人精品影院| 欧美三级韩国三级日本三斤| 一区二区三区四区蜜桃| 91免费精品国自产拍在线不卡 | 丝袜美腿亚洲一区二区图片| 日本精品视频一区二区| 日韩一区中文字幕| 91小视频在线| 亚洲日本青草视频在线怡红院| a级精品国产片在线观看| 久久成人免费网站| 欧美sm极限捆绑bd| 精彩视频一区二区三区| 久久婷婷国产综合国色天香| 国产精品中文欧美| 欧美国产日产图区| www.亚洲激情.com| 亚洲欧美日韩中文播放| 色综合一个色综合| 亚洲一级片在线观看| 欧美日韩第一区日日骚| 日本美女一区二区三区视频| 日韩欧美国产综合| 国产高清精品在线| 日韩伦理电影网| 91福利视频在线| 无码av免费一区二区三区试看 | 欧美精品久久天天躁| 裸体在线国模精品偷拍| 久久久美女艺术照精彩视频福利播放| 国产精品456| 亚洲黄色尤物视频| 6080yy午夜一二三区久久| 久久99精品久久久久| 国产欧美日本一区视频| 色欧美片视频在线观看在线视频| 亚洲成人午夜电影| 精品国产一区二区三区不卡| 成人av在线资源网站| 亚洲一区二区四区蜜桃| 精品乱码亚洲一区二区不卡| eeuss鲁片一区二区三区在线观看| 一区二区三区中文在线观看| 日韩精品中文字幕在线不卡尤物| 国产成人精品免费网站| 亚洲一区二区在线观看视频 | 欧美日韩性生活| 久久成人综合网| 高清不卡一区二区| 亚洲一级二级三级| 国产夜色精品一区二区av| 日本乱人伦aⅴ精品| 精品一区二区三区视频| 中文字幕日韩精品一区| 日韩亚洲欧美在线观看| 97久久超碰国产精品| 久久国产精品一区二区| 一区二区三区加勒比av| 精品国产乱码久久久久久久久 | 国产综合色视频|