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

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

?? porting.texi

?? 俄羅斯高人Mamaich的Pocket gcc編譯器(運行在PocketPC上)的全部源代碼。
?? TEXI
?? 第 1 頁 / 共 5 頁
字號:
@item	general query	@code{qXXXX}Request info about XXXX.@item	general set	@code{QXXXX=yyyy}Set value of @code{XXXX} to @code{yyyy}.@item	query sect offs	@code{qOffsets}Get section offsets.  Reply is @code{Text=xxx;Data=yyy;Bss=zzz}@item	console output	OtextSend text to stdout. The text gets display from the target side of theserial connection.@end tableResponses can be run-length encoded to save space.  A @code{*}means thatthe next character is an ASCII encoding giving a repeat count whichstands for that many repetitions of the character preceding the @code{*}.The encoding is n+29, yielding a printable character where n >=3 (which is where run length encoding starts to win). You can't use avalue of where n >126 because it's only a two byte value. An examplewould be a @code{0*03} means the same thing as @code{0000}.@node Exception handler, ROM monitors, GNU remote protocol, GDB@section A linked in exception handlerA @emph{GDB stub} consists of two parts, support for the exceptionhandler, and the exception handler itself. The exception handler needsto communicate to GDB on the host whenever there is a breakpointexception. When GDB starts a program running on the target, it's pollingthe serial port during execution looking for any debug packets. So whena breakpoint occurs, the exception handler needs to save state, and senda GDB remote protocol packet to GDB on the host. GDB takes any outputthat isn't a debug command packet and displays it in the command window.Support for the exception handler varies between processors, but theminimum supported functions are those needed by GDB. These are functionsto support the reading and writing of registers, the reading and writingof memory, start execution at an address, single step, and last signal.Sometimes other functions for adjusting the baud rate, or resetting thehardware are implemented. Once GDB gets the command packet from the breakpoint, it will read a fewregisters and memory locations an then wait for the user. When the usertypes @code{run} or @code{continue} a @code{continue} command is issuedto the backend, and control returns from the breakpoint routine to theapplication.@node ROM monitors, Other remote protocols, Exception handler, GDB@section Using a ROM monitor as a backendGDB also can mimic a human user and use a ROM monitors normal debugcommands as a backend. This consists mostly of sending and parsing@code{ASCII} strings. All the ROM monitor interfaces share a common setof routines in @code{gdb/monitor.c}. This supports adding new ROMmonitor interfaces by filling in a structure with the common commandsGDB needs. GDb already supports several command ROM monitors, includingMotorola's @code{Bug} monitor for their VME boards, and the Rom68kmonitor by Integrated Systems, Inc. for various m68k based boards. GDBalso supports the custom ROM monitors on the WinBond and Oki PA basedtargets. There is builtin support for loading files to ROM monitorsspecifically. GDB can convert a binary into an srecord and then load itas an ascii file, or using @code{xmodem}.@c FIXME: do I need trademark somethings here ? Is Integrated the right@c company? @node Other remote protocols, ,ROM monitors, GDB @section Adding support for new protocols@c FIXME: write something here @node Binutils, Code Listings, GDB, Top@node Code Listings, idp.ld, Binutils, Top@appendix Code Listings@menu* idp.ld::              A m68k linker script.* crt0.S::              Crt0.S for an m68k.* glue.c::              C based support for for Stdio functions.* mvme.S::              Rom monitor based I/O support in assembler.* io.c::                C based for memory mapped I/O.* leds.c::              C based LED routines.@end menu@node idp.ld, crt0.S, Code Listings, Code Listings@section Linker script for the IDP boardThis is the linker script script that is used on the Motorola IDP board.@exampleSTARTUP(crt0.o)OUTPUT_ARCH(m68k)INPUT(idp.o)SEARCH_DIR(.)__DYNAMIC  =  0;/* * Setup the memory map of the MC68ec0x0 Board (IDP) * stack grows up towards high memory. This works for * both the rom68k and the mon68k monitors. */MEMORY@{  ram     : ORIGIN = 0x10000, LENGTH = 2M@}/* * stick everything in ram (of course) */SECTIONS@{  .text :  @{    CREATE_OBJECT_SYMBOLS    *(.text)     etext  =  .;     __CTOR_LIST__ = .;     LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)    *(.ctors)     LONG(0)     __CTOR_END__ = .;     __DTOR_LIST__ = .;     LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)    *(.dtors)     LONG(0)     __DTOR_END__ = .;    *(.lit)    *(.shdata)  @}  > ram  .shbss SIZEOF(.text) + ADDR(.text) :	@{    *(.shbss)  @}   .talias :	 @{ @}  > ram  .data  : @{    *(.data)    CONSTRUCTORS    _edata  =  .;  @} > ram  .bss SIZEOF(.data) + ADDR(.data) :  @{   __bss_start = ALIGN(0x8);   *(.bss)   *(COMMON)      end = ALIGN(0x8);      _end = ALIGN(0x8);      __end = ALIGN(0x8);  @}  .mstack  : @{ @}  > ram  .rstack  : @{ @}  > ram  .stab  . (NOLOAD) :   @{    [ .stab ]  @}  .stabstr  . (NOLOAD) :  @{    [ .stabstr ]  @}@}@end example@node crt0.S, glue.c, idp.ld, Code Listings@section crt0.S - The startup file@example/* * crt0.S -- startup file for m68k-coff *  */	.title "crt0.S for m68k-coff"/* These are predefined by new versions of GNU cpp.  */#ifndef __USER_LABEL_PREFIX__#define __USER_LABEL_PREFIX__ _#endif#ifndef __REGISTER_PREFIX__#define __REGISTER_PREFIX__#endif/* ANSI concatenation macros.  */#define CONCAT1(a, b) CONCAT2(a, b)#define CONCAT2(a, b) a ## b/* Use the right prefix for global labels.  */#define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)/* Use the right prefix for registers.  */#define REG(x) CONCAT1 (__REGISTER_PREFIX__, x)#define d0 REG (d0)#define d1 REG (d1)#define d2 REG (d2)#define d3 REG (d3)#define d4 REG (d4)#define d5 REG (d5)#define d6 REG (d6)#define d7 REG (d7)#define a0 REG (a0)#define a1 REG (a1)#define a2 REG (a2)#define a3 REG (a3)#define a4 REG (a4)#define a5 REG (a5)#define a6 REG (a6)#define fp REG (fp)#define sp REG (sp)/* * Set up some room for a stack. We just grab a chunk of memory. */	.set	stack_size, 0x2000	.comm	SYM (stack), stack_size/* * Define an empty environment. */        .data        .align 2SYM (environ):        .long 0 	.align	2	.text	.global SYM (stack)	.global SYM (main)	.global SYM (exit)/*  * This really should be __bss_start, not SYM (__bss_start). */	.global __bss_start/* * start -- set things up so the application will run. */SYM (start):	link	a6, #-8	moveal	#SYM (stack) + stack_size, sp/* * zerobss -- zero out the bss section */	moveal	#__bss_start, a0	moveal	#SYM (end), a11:	movel	#0, (a0)	leal	4(a0), a0	cmpal	a0, a1	bne	1b/* * Call the main routine from the application to get it going. * main (argc, argv, environ) * We pass argv as a pointer to NULL. */        pea     0        pea     SYM (environ)        pea     sp@@(4)        pea     0	jsr	SYM (main)	movel	d0, sp@@-/* * _exit -- Exit from the application. Normally we cause a user trap *          to return to the ROM monitor for another run. */SYM (exit):	trap	#0@end example@node glue.c, mvme.S, crt0.S, Code Listings@section C based "glue" code.@example/* * glue.c -- all the code to make GCC and the libraries run on *           a bare target board. These should work with any *           target if inbyte() and outbyte() exist. */#include <sys/types.h>#include <sys/stat.h>#include <errno.h>#ifndef NULL#define NULL 0#endif/* FIXME: this is a hack till libc builds */__main()@{  return;@}#undef errnoint errno;extern caddr_t _end;                /* _end is set in the linker command file */extern int outbyte();extern unsigned char inbyte();extern int havebyte();/* just in case, most boards have at least some memory */#ifndef RAMSIZE#  define RAMSIZE             (caddr_t)0x100000#endif/* * read  -- read bytes from the serial port. Ignore fd, since *          we only have stdin. */intread(fd, buf, nbytes)     int fd;     char *buf;     int nbytes;@{  int i = 0;  for (i = 0; i < nbytes; i++) @{    *(buf + i) = inbyte();    if ((*(buf + i) == '\n') || (*(buf + i) == '\r')) @{      (*(buf + i)) = 0;      break;    @}  @}  return (i);@}/* * write -- write bytes to the serial port. Ignore fd, since *          stdout and stderr are the same. Since we have no filesystem, *          open will only return an error. */intwrite(fd, buf, nbytes)     int fd;     char *buf;     int nbytes;@{  int i;  for (i = 0; i < nbytes; i++) @{    if (*(buf + i) == '\n') @{      outbyte ('\r');    @}    outbyte (*(buf + i));  @}  return (nbytes);@}/* * open -- open a file descriptor. We don't have a filesystem, so *         we return an error. */intopen(buf, flags, mode)     char *buf;     int flags;     int mode;@{  errno = EIO;  return (-1);@}/* * close -- close a file descriptor. We don't need *          to do anything, but pretend we did. */intclose(fd)     int fd;@{  return (0);@}/* * sbrk -- changes heap size size. Get nbytes more *         RAM. We just increment a pointer in what's *         left of memory on the board. */caddr_tsbrk(nbytes)     int nbytes;@{  static caddr_t heap_ptr = NULL;  caddr_t        base;  if (heap_ptr == NULL) @{    heap_ptr = (caddr_t)&_end;  @}  if ((RAMSIZE - heap_ptr) >= 0) @{    base = heap_ptr;    heap_ptr += nbytes;    return (base);  @} else @{    errno = ENOMEM;    return ((caddr_t)-1);  @}@}/* * isatty -- returns 1 if connected to a terminal device, *           returns 0 if not. Since we're hooked up to a *           serial port, we'll say yes and return a 1. */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产三级国产普通话三级 | 日韩免费一区二区| 中文字幕av不卡| 亚洲a一区二区| 成人小视频在线| 欧美日韩国产成人在线91| 最新中文字幕一区二区三区 | 日韩伦理av电影| 国产精品一区专区| 制服丝袜亚洲色图| 一区二区三区在线播| 国产精品香蕉一区二区三区| 日韩视频在线一区二区| 亚洲综合网站在线观看| www.亚洲精品| 国产视频不卡一区| 经典三级一区二区| 日韩精品一区二区三区在线观看| 亚洲一区二区三区自拍| 99久久久久免费精品国产| 国产午夜久久久久| 国产大片一区二区| 精品国产免费人成电影在线观看四季 | 日韩欧美美女一区二区三区| 亚洲国产日韩在线一区模特| 色国产综合视频| 国产精品高潮呻吟久久| 成人免费va视频| 国产精品三级av| 成人av在线资源网| 国产精品女主播av| av高清久久久| 亚洲蜜桃精久久久久久久| 成人黄色av电影| 最近日韩中文字幕| 色av一区二区| 亚洲一区成人在线| 欧美日韩成人综合天天影院| 日韩av网站免费在线| 欧美在线一区二区三区| 亚洲aaa精品| 日韩欧美一二三| 精久久久久久久久久久| 国产调教视频一区| 成人动漫视频在线| 一区二区成人在线视频| 在线电影一区二区三区| 久久精品99久久久| 久久久99精品免费观看不卡| 成人免费视频播放| 亚洲卡通欧美制服中文| 在线播放日韩导航| 精品一区二区三区免费毛片爱| 久久在线免费观看| 99免费精品视频| 污片在线观看一区二区| 欧美mv日韩mv| 成人美女在线视频| 亚洲福利一区二区三区| 精品国产乱码久久久久久蜜臀| 国产高清不卡一区| 一区二区三区高清| 欧美va亚洲va在线观看蝴蝶网| 高清不卡在线观看| 亚洲电影欧美电影有声小说| 久久亚洲精精品中文字幕早川悠里 | 91理论电影在线观看| 日韩国产欧美三级| 国产女人aaa级久久久级| 欧美在线小视频| 国产精品羞羞答答xxdd| 亚洲国产成人91porn| 国产欧美一区二区精品性色| 欧美性xxxxxx少妇| 国产在线不卡视频| 亚洲第一综合色| 欧美激情资源网| 欧美一区三区四区| 91丨porny丨首页| 久久91精品国产91久久小草| 一区二区三区四区精品在线视频| 精品国产乱码久久久久久老虎| 欧美丝袜丝nylons| www..com久久爱| 黄色小说综合网站| 天天爽夜夜爽夜夜爽精品视频| 中文字幕av一区 二区| 日韩精品资源二区在线| 在线观看亚洲成人| av一本久道久久综合久久鬼色| 青青草国产成人99久久| 亚洲国产欧美日韩另类综合 | 91国模大尺度私拍在线视频| 激情综合色综合久久| 香蕉久久一区二区不卡无毒影院 | 成人精品一区二区三区中文字幕| 视频在线观看一区| 一区二区三区中文字幕在线观看| 久久久www成人免费毛片麻豆| 欧美日韩精品高清| 欧美中文字幕一二三区视频| 色综合久久中文综合久久牛| 国产成人精品一区二| 极品美女销魂一区二区三区免费| 婷婷成人综合网| 亚洲午夜成aⅴ人片| 亚洲人成7777| 亚洲免费资源在线播放| 18成人在线观看| 中文字幕在线不卡视频| 国产精品私房写真福利视频| 中文字幕的久久| 日本一区二区三区久久久久久久久不| 欧美tk—视频vk| 精品欧美久久久| 精品国产在天天线2019| 精品va天堂亚洲国产| 久久一区二区三区四区| ww久久中文字幕| www国产成人| 久久精品夜色噜噜亚洲a∨| 国产色婷婷亚洲99精品小说| 国产蜜臀97一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美精品一区男女天堂| 国产亚洲视频系列| 中文字幕一区二区三区乱码在线 | 国产欧美一区二区精品久导航| 欧美一区二区三区系列电影| 精品国产人成亚洲区| 亚洲国产激情av| 亚洲精品v日韩精品| 日韩精品乱码免费| 国产一区二区调教| 不卡一区中文字幕| 欧美综合天天夜夜久久| 日韩精品在线一区二区| 久久色视频免费观看| 国产精品国产馆在线真实露脸 | 精品区一区二区| 亚洲国产精品成人综合色在线婷婷| 国产精品免费av| 亚洲一区二区五区| 国产一区二区三区精品视频| aaa欧美大片| 91精品国产手机| 国产女人水真多18毛片18精品视频| 欧美国产日产图区| 天天av天天翘天天综合网色鬼国产| 精品夜夜嗨av一区二区三区| 成人激情动漫在线观看| 欧美狂野另类xxxxoooo| 国产欧美va欧美不卡在线| 一区二区三区色| 国产一区二区免费看| 色欧美日韩亚洲| 精品久久久久一区| 樱花草国产18久久久久| 久久99精品国产.久久久久久 | 国产成人精品一区二区三区四区| 日本二三区不卡| 久久你懂得1024| 亚洲国产精品一区二区尤物区| 久久精品国产秦先生| 91在线观看美女| 久久久精品免费网站| 日韩黄色片在线观看| 色婷婷香蕉在线一区二区| 久久青草欧美一区二区三区| 日韩和欧美的一区| 91麻豆精东视频| 精品国产一区二区三区不卡| 五月综合激情婷婷六月色窝| 成人av网站在线观看| 精品国产乱码久久久久久牛牛| 亚洲五码中文字幕| 色综合中文字幕国产| 精品成人a区在线观看| 五月天激情综合| 欧美性大战久久久久久久| 国产精品超碰97尤物18| 国产九色精品成人porny| 日韩欧美国产午夜精品| 婷婷久久综合九色综合绿巨人| 91福利在线免费观看| 亚洲日本成人在线观看| 成人av综合一区| 欧美国产国产综合| 国产精品一区二区在线看| 精品国产一区二区三区四区四| 美腿丝袜亚洲综合| 欧美一区二区三区白人| 天天av天天翘天天综合网色鬼国产| 91极品视觉盛宴| 尤物在线观看一区| 99精品视频在线观看免费| 一区二区中文视频| 色哟哟国产精品| 一区二区三区蜜桃| 欧美日韩免费高清一区色橹橹|