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

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

?? sysalib.s

?? vxworks嵌入式開發vmware bsp包 其中已包括網卡的驅動 本人試過 非常好用
?? S
?? 第 1 頁 / 共 2 頁
字號:
/* sysALib.s - PC-386 system-dependent routines *//* Copyright 1984-2002 Wind River Systems, Inc. *//*modification history--------------------02b,12nov02,hdn  made CR4 initialization only for P5 or later (spr 83992)02a,05nov02,hdn  made sysCpuProbe() execution conditional (spr 76279)01z,13mar02,hdn  resumed GDT loading after copying from text to RAM (spr 71298)01y,02nov01,hdn  removed GDT loading not to access sysGdt[] in text (spr 71298)01x,14aug01,hdn  added Pentium4 support in sysCpuProbe().		 added sysCsSuper/Exc/Int as task/exc/int code selector.		 added FUNC/FUNC_LABEL GTEXT/GDATA macros.01w,12may98,hdn  renamed sysCpuid to sysCpuId.01v,09apr98,hdn  added support for PentiumPro in sysCpuProbe().01u,25mar97,hdn  removed a line of CD=NW=1 from sysCpuProbe().01t,03sep96,hdn  added the compression support. removed BOOTABLE macro.01s,17jun96,hdn  made sysCpuProbe() user-callable.01r,13jun96,hdn  added sysInLong() sysInLongString() sysOutLong()		 sysOutLongString().01q,01nov94,hdn  added a way to find out Pentium in sysCpuProbe().		 changed a way to find out 386 by checking AC bit.01p,19oct94,hdn  renamed sysInitGdt to sysGdt.		 added sysLoadGdt(), sysA20on().		 added sysA20Result indicates the state of A20 line.01o,23sep94,hdn  deleted _sysBootType, sysRegSet(), sysRegGet().		 added jmp instruction in sysInXX() and sysOutXX().01n,28apr94,hdn  made sysReboot() simple.01m,06apr94,hdn  created a processor checking routine sysCpuProbe().		 created the system GDT at GDT_BASE_OFFSET.01l,17feb94,hdn  changed name RAM_ENTRY to RAM_HIGH_ADRS		 changed to put the image in upper memory.01k,27oct93,hdn  added _sysBootType.01j,25aug93,hdn  changed a way to enable A20.01i,12aug93,hdn  added codes to load a user defined global descriptor table.		 made warm start works changing sysReboot().		 deleted sysGDTRSet().01h,09aug93,hdn  added codes to recognize a type of cpu.01g,17jun93,hdn  updated to 5.1.01f,08arp93,jdi  doc cleanup.01e,26mar93,hdn  added sysReg[GS]et, sysGDTRSet. added another sysInit.01d,16oct92,hdn  added Code Descriptors for the nesting interrupt.01c,29sep92,hdn  added i80387 support. deleted __fixdfsi.01b,28aug92,hdn  fixed __fixdfsi temporary.01a,28feb92,hdn  written based on frc386 version.*//*DESCRIPTIONThis module contains system-dependent routines written in assemblylanguage.This module must be the first specified in the \f3ld\f1 command used tobuild the system.  The sysInit() routine is the system start-up code.INTERNALMany routines in this module doesn't use the "c" frame pointer %ebp@ !This is only for the benefit of the stacktrace facility to allow it to properly trace tasks executing within these routines.SEE ALSO: .I "i80386 32-Bit Microprocessor User's Manual"*/#define _ASMLANGUAGE#include "vxWorks.h"#include "asm.h"#include "regs.h"#include "sysLib.h"#include "config.h"        .data	.globl  FUNC(copyright_wind_river)	.long   FUNC(copyright_wind_river)	/* externals */	.globl	FUNC(usrInit)		/* system initialization routine */	.globl	VAR(sysProcessor)	/* initialized to NONE(-1) in sysLib.c */	/* internals */	.globl	sysInit			/* start of system code */	.globl	_sysInit		/* start of system code */	.globl	GTEXT(sysInByte)	.globl	GTEXT(sysInWord)	.globl	GTEXT(sysInLong)	.globl	GTEXT(sysInWordString)	.globl	GTEXT(sysInLongString)	.globl	GTEXT(sysOutByte)	.globl	GTEXT(sysOutWord)	.globl	GTEXT(sysOutLong)	.globl	GTEXT(sysOutWordString)	.globl	GTEXT(sysOutLongString)	.globl	GTEXT(sysReboot)	.globl	GTEXT(sysWait)	.globl	GTEXT(sysCpuProbe)	.globl	GTEXT(sysLoadGdt)	.globl	GTEXT(sysGdtr)	.globl	GTEXT(sysGdt)	.globl  GDATA(sysCsSuper)	/* code selector: supervisor mode */	.globl  GDATA(sysCsExc)		/* code selector: exception */	.globl  GDATA(sysCsInt)		/* code selector: interrupt */	/* locals */FUNC_LABEL(vendorIdIntel)		/* CPUID vendor ID - Intel */	.ascii	"GenuineIntel"	.text	.balign 16/********************************************************************************* sysInit - start after boot** This routine is the system start-up entry point for VxWorks in RAM, the* first code executed after booting.  It disables interrupts, sets up* the stack, and jumps to the C routine usrInit() in usrConfig.c.** The initial stack is set to grow down from the address of sysInit().  This* stack is used only by usrInit() and is never used again.  Memory for the* stack must be accounted for when determining the system load address.** NOTE: This routine should not be called by the user.** RETURNS: N/A* sysInit ()              /@ THIS IS NOT A CALLABLE ROUTINE @/ */sysInit:_sysInit:	cli				/* LOCK INTERRUPT */	movl    $ BOOT_WARM_AUTOBOOT,%ebx /* %ebx has the startType */	movl	$ FUNC(sysInit),%esp	/* initialize stack pointer */	movl	$0,%ebp			/* initialize frame pointer */	ARCH_REGS_INIT			/* initialize DR[0-7] CR0 EFLAGS */#if	(CPU == PENTIUM) || (CPU == PENTIUM2) || (CPU == PENTIUM3) || \	(CPU == PENTIUM4)	/* ARCH_CR4_INIT		/@ initialize CR4 for P5,6,7 */	xorl	%eax, %eax		/* zero EAX */	movl	%eax, %cr4		/* initialize CR4 */#endif	/* (CPU == PENTIUM) || (CPU == PENTIUM[234]) */	movl	$ FUNC(sysGdt),%esi	/* set src addr (&sysGdt) */	movl	FUNC(pSysGdt),%edi	/* set dst addr (pSysGdt) */	movl	%edi,%eax	movl	$ GDT_ENTRIES,%ecx	/* number of GDT entries */	movl	%ecx,%edx	shll	$1,%ecx			/* set (nLongs of GDT) to copy */	cld	rep	movsl				/* copy GDT from src to dst */	pushl	%eax			/* push the (GDT base addr) */	shll	$3,%edx			/* get (nBytes of GDT) */	decl	%edx			/* get (nBytes of GDT) - 1 */	shll	$16,%edx		/* move it to the upper 16 */	pushl	%edx			/* push the nBytes of GDT - 1 */	leal	2(%esp),%eax		/* get the addr of (size:addr) */	pushl	%eax			/* push it as a parameter */	call	FUNC(sysLoadGdt)	/* load the brand new GDT in RAM */	pushl	%ebx			/* push the startType */	movl	$ FUNC(usrInit),%eax	movl	$ FUNC(sysInit),%edx	/* push return address */	pushl	%edx			/*   for emulation for call */	pushl	$0			/* push EFLAGS, 0 */	pushl	$0x0008			/* a selector 0x08 is 2nd one */	pushl	%eax			/* push EIP,  FUNC(usrInit) */	iret				/* iret *//********************************************************************************* sysInByte - input one byte from I/O space** RETURNS: Byte data from the I/O port.* UCHAR sysInByte (address)*     int address;	/@ I/O port address @/ */	.balign 16,0x90FUNC_LABEL(sysInByte)	movl	SP_ARG1(%esp),%edx	movl	$0,%eax	inb	%dx,%al	jmp	sysInByte0sysInByte0:	ret/********************************************************************************* sysInWord - input one word from I/O space** RETURNS: Word data from the I/O port.* USHORT sysInWord (address)*     int address;	/@ I/O port address @/ */	.balign 16,0x90FUNC_LABEL(sysInWord)	movl	SP_ARG1(%esp),%edx	movl	$0,%eax	inw	%dx,%ax	jmp	sysInWord0sysInWord0:	ret/********************************************************************************* sysInLong - input one long-word from I/O space** RETURNS: Long-Word data from the I/O port.* USHORT sysInLong (address)*     int address;	/@ I/O port address @/ */	.balign 16,0x90FUNC_LABEL(sysInLong)	movl	SP_ARG1(%esp),%edx	movl	$0,%eax	inl	%dx,%eax	jmp	sysInLong0sysInLong0:	ret/********************************************************************************* sysOutByte - output one byte to I/O space** RETURNS: N/A* void sysOutByte (address, data)*     int address;	/@ I/O port address @/*     char data;	/@ data written to the port @/ */	.balign 16,0x90FUNC_LABEL(sysOutByte)	movl	SP_ARG1(%esp),%edx	movl	SP_ARG2(%esp),%eax	outb	%al,%dx	jmp	sysOutByte0sysOutByte0:	ret/********************************************************************************* sysOutWord - output one word to I/O space** RETURNS: N/A* void sysOutWord (address, data)*     int address;	/@ I/O port address @/*     short data;	/@ data written to the port @/ */	.balign 16,0x90FUNC_LABEL(sysOutWord)	movl	SP_ARG1(%esp),%edx	movl	SP_ARG2(%esp),%eax	outw	%ax,%dx	jmp	sysOutWord0sysOutWord0:	ret/********************************************************************************* sysOutLong - output one long-word to I/O space** RETURNS: N/A* void sysOutLong (address, data)*     int address;	/@ I/O port address @/*     long data;	/@ data written to the port @/ */	.balign 16,0x90FUNC_LABEL(sysOutLong)	movl	SP_ARG1(%esp),%edx	movl	SP_ARG2(%esp),%eax	outl	%eax,%dx	jmp	sysOutLong0sysOutLong0:	ret/********************************************************************************* sysInWordString - input word string from I/O space** RETURNS: N/A* void sysInWordString (port, address, count)*     int port;		/@ I/O port address @/*     short *address;	/@ address of data read from the port @/*     int count;	/@ count @/ */	.balign 16,0x90FUNC_LABEL(sysInWordString)	pushl	%edi	movl	SP_ARG1+4(%esp),%edx	movl	SP_ARG2+4(%esp),%edi	movl	SP_ARG3+4(%esp),%ecx	cld	rep	insw	%dx,(%edi)	movl	%edi,%eax	popl	%edi	ret/********************************************************************************* sysInLongString - input long string from I/O space** RETURNS: N/A* void sysInLongString (port, address, count)*     int port;		/@ I/O port address @/*     long *address;	/@ address of data read from the port @/*     int count;	/@ count @/ */	.balign 16,0x90FUNC_LABEL(sysInLongString)	pushl	%edi	movl	SP_ARG1+4(%esp),%edx	movl	SP_ARG2+4(%esp),%edi	movl	SP_ARG3+4(%esp),%ecx	cld	rep	insl	%dx,(%edi)	movl	%edi,%eax	popl	%edi	ret/********************************************************************************* sysOutWordString - output word string to I/O space** RETURNS: N/A* void sysOutWordString (port, address, count)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩亚洲欧美在线| 欧美日韩高清一区| 亚洲成av人综合在线观看| 国产亚洲欧美日韩俺去了| 欧美日韩综合在线| www.欧美.com| 久久99国内精品| 亚洲国产一区二区在线播放| 国产日韩av一区| 精品毛片乱码1区2区3区| 欧洲另类一二三四区| 国产成人av影院| 免费av网站大全久久| 亚洲午夜激情av| 亚洲视频你懂的| 国产欧美日韩不卡免费| 欧美电影免费观看高清完整版在线 | 日韩成人午夜精品| 亚洲视频1区2区| 国产精品护士白丝一区av| 精品国产污网站| 欧美一二区视频| 在线成人av网站| 欧美中文字幕久久| 色哟哟亚洲精品| 97国产一区二区| 成人av在线影院| 丰满少妇久久久久久久| 韩国v欧美v亚洲v日本v| 久久99精品国产.久久久久久| 日韩精品电影一区亚洲| 亚洲r级在线视频| 午夜精品福利一区二区蜜股av| 亚洲在线观看免费| 亚洲一区二区四区蜜桃| 亚洲自拍偷拍网站| 亚洲小少妇裸体bbw| 亚洲午夜羞羞片| 性做久久久久久免费观看| 亚洲v中文字幕| 日韩中文字幕区一区有砖一区| 一区二区激情视频| 亚洲成年人影院| 亚洲地区一二三色| 亚洲sss视频在线视频| 丝袜国产日韩另类美女| 久久综合综合久久综合| 国内不卡的二区三区中文字幕| 久草精品在线观看| 岛国精品一区二区| 91美女视频网站| 欧美色综合久久| 欧美一区二区三区色| 欧美va在线播放| 欧美国产丝袜视频| 亚洲免费在线看| 一区二区三区在线影院| 日韩激情一二三区| 久久不见久久见免费视频1| 国产精品资源网| 91丨porny丨蝌蚪视频| 欧美亚洲图片小说| 日韩一级片网址| 久久久精品tv| 亚洲精品成人在线| 蜜臀久久99精品久久久久久9| 国产成人亚洲综合a∨猫咪| 色婷婷国产精品综合在线观看| 欧美精品第一页| 国产日韩精品一区二区三区| 亚洲精品伦理在线| 久久精品国产一区二区三 | 国产精品美女久久久久久久网站| 亚洲乱码精品一二三四区日韩在线| 亚洲成人精品在线观看| 国产精品亚洲午夜一区二区三区 | 日韩美女啊v在线免费观看| 香蕉久久一区二区不卡无毒影院| 韩国午夜理伦三级不卡影院| 色婷婷久久久久swag精品| 日韩欧美一二区| 亚洲天堂网中文字| 久久国产精品色| 日本韩国欧美在线| 精品国精品自拍自在线| 一卡二卡三卡日韩欧美| 韩国一区二区视频| 欧美色男人天堂| 国产精品国产精品国产专区不片 | 成人国产精品免费网站| 欧美精品少妇一区二区三区| 国产精品午夜在线观看| 日韩高清不卡一区| 91老师国产黑色丝袜在线| 26uuu久久天堂性欧美| 一区二区三区四区不卡在线| 国产精品白丝jk黑袜喷水| 欧美日韩一二三区| 国产精品高清亚洲| 国产精品18久久久久| 欧美日韩久久一区| 国产精品久久久久久亚洲毛片| 麻豆成人91精品二区三区| 欧美曰成人黄网| 国产精品高潮呻吟| 国产精品1区二区.| 精品国精品国产尤物美女| 天堂成人国产精品一区| 日本丶国产丶欧美色综合| 国产精品色眯眯| 国精品**一区二区三区在线蜜桃| 91精品国产综合久久久久久 | 成人免费毛片高清视频| 精品女同一区二区| 青青国产91久久久久久| 欧美福利电影网| 午夜精品成人在线| 欧美日韩在线播放三区四区| 一区二区三区在线视频免费| 91网址在线看| 成人欧美一区二区三区小说| 不卡影院免费观看| 国产精品乱码一区二三区小蝌蚪| 国产精品自拍网站| 久久久久久久久久久久电影| 九色综合狠狠综合久久| 亚洲精品一区二区三区四区高清| 美女脱光内衣内裤视频久久网站| 欧美精品vⅰdeose4hd| 视频一区二区欧美| 欧美日韩国产综合草草| 天堂在线一区二区| 91麻豆精品国产综合久久久久久| 亚洲主播在线观看| 欧美美女一区二区三区| 天天综合色天天| 日韩区在线观看| 国内偷窥港台综合视频在线播放| 久久亚洲综合av| 国产精品系列在线观看| 国产精品久久久久天堂| 色噜噜狠狠色综合中国| 亚洲一区二三区| 欧美浪妇xxxx高跟鞋交| 毛片一区二区三区| 久久精品亚洲精品国产欧美kt∨| 成人综合婷婷国产精品久久| 亚洲人成人一区二区在线观看| 91九色02白丝porn| 日日夜夜一区二区| 久久蜜桃av一区精品变态类天堂 | 亚洲色大成网站www久久九九| av福利精品导航| 成人免费在线视频| 欧美日韩国产大片| 捆绑变态av一区二区三区| 久久久久国产成人精品亚洲午夜 | 日韩小视频在线观看专区| 免费欧美高清视频| 国产午夜精品久久久久久免费视| 成人午夜在线视频| 亚洲国产一区在线观看| 日韩欧美亚洲另类制服综合在线 | 国产精品一区二区三区乱码| 国产精品国产三级国产| 欧美猛男男办公室激情| 国产乱码精品一区二区三区av | 久久久久久久久久久99999| 成人永久看片免费视频天堂| 亚洲免费资源在线播放| 日韩精品一区二区三区在线观看 | 日韩在线a电影| 久久久久久久av麻豆果冻| 在线观看亚洲精品| 精品一区二区精品| 亚洲欧美另类小说| 亚洲精品在线网站| 在线免费av一区| 国产成人精品影视| 亚洲国产毛片aaaaa无费看 | 91在线国产观看| 日韩高清国产一区在线| 国产精品免费网站在线观看| 欧美久久久久久久久| 成人av电影在线网| 青娱乐精品在线视频| 一区二区三区在线播放| 精品动漫一区二区三区在线观看| 色综合天天综合网国产成人综合天| 青娱乐精品视频| 亚洲一级二级在线| 国产日韩亚洲欧美综合| 欧美一级生活片| 一本久道久久综合中文字幕| 极品少妇xxxx偷拍精品少妇| 亚洲精品videosex极品| 欧美激情一区二区| 26uuu亚洲婷婷狠狠天堂| 精品视频1区2区3区| 91色porny在线视频|