亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
色国产精品一区在线观看| 国产suv精品一区二区883| 国产精品网站一区| 精品理论电影在线观看| 日韩欧美成人午夜| 91精品国产91久久久久久最新毛片| 色婷婷久久综合| 欧美偷拍一区二区| 欧美日韩国产高清一区二区| 欧美色中文字幕| 欧美一区二区三区在线电影| 日韩一级片网站| 久久久久成人黄色影片| 国产日产精品一区| 国产精品国产自产拍高清av| 亚洲精品乱码久久久久| 亚洲狠狠爱一区二区三区| 日韩国产精品久久久| 老司机精品视频线观看86| 国产一区在线视频| 99麻豆久久久国产精品免费 | 成人av动漫网站| 粉嫩久久99精品久久久久久夜 | 欧美性xxxxx极品少妇| 欧美日韩在线电影| 欧美成人video| 国产精品日日摸夜夜摸av| 亚洲欧美日韩国产成人精品影院| 亚洲一区在线播放| 久久69国产一区二区蜜臀| 成人高清免费在线播放| 欧美天堂一区二区三区| 精品免费视频.| 亚洲欧美激情小说另类| 免费一级片91| 91论坛在线播放| 日韩一级二级三级精品视频| 国产精品久久免费看| 天堂一区二区在线| 成人精品一区二区三区中文字幕| 在线一区二区三区四区| 精品国产三级a在线观看| 亚洲欧美日韩中文字幕一区二区三区| 日韩av中文字幕一区二区三区| 国产伦理精品不卡| 欧美日韩精品免费| 中文字幕二三区不卡| 五月激情六月综合| av激情综合网| 精品av综合导航| 日日骚欧美日韩| 91在线播放网址| 久久亚洲捆绑美女| 免费看精品久久片| 91官网在线观看| 中文字幕一区二区三区四区| 人人精品人人爱| 欧美偷拍一区二区| 成人欧美一区二区三区1314| 国产在线播放一区三区四| 欧美老年两性高潮| 亚洲自拍偷拍麻豆| 在线亚洲人成电影网站色www| 精品国产乱码久久久久久影片| 亚洲图片欧美视频| 在线精品视频一区二区| 国产精品色婷婷久久58| 成人国产一区二区三区精品| 久久精品亚洲精品国产欧美| 久久精品国产在热久久| 日韩欧美国产一区二区三区 | 久久99国产精品免费| 欧美性大战久久久久久久蜜臀| 亚洲少妇中出一区| 99久久综合国产精品| 中文乱码免费一区二区| 丁香啪啪综合成人亚洲小说| 精品国免费一区二区三区| 老司机精品视频在线| 欧美xfplay| 国内精品在线播放| 久久精品视频在线看| 国产精品911| 国产精品久久久久久久裸模| voyeur盗摄精品| 亚洲你懂的在线视频| 93久久精品日日躁夜夜躁欧美| 最近日韩中文字幕| 欧日韩精品视频| 日韩电影在线观看电影| 日韩一级片网站| 国产aⅴ精品一区二区三区色成熟| 亚洲国产精品成人综合| 91免费在线视频观看| 夜夜精品浪潮av一区二区三区| 欧美在线999| 美女高潮久久久| 亚洲精品视频在线看| 欧美视频一区在线| 久久99精品久久久久久国产越南 | 亚洲午夜精品在线| 欧美一区二区精品在线| 国产91综合网| 亚洲一区免费观看| 欧美变态口味重另类| av亚洲精华国产精华精华| 夜色激情一区二区| 精品人伦一区二区色婷婷| www.日韩av| 日日噜噜夜夜狠狠视频欧美人| 2024国产精品视频| 色婷婷激情综合| 国精产品一区一区三区mba视频 | 在线观看www91| 久久99精品一区二区三区| 国产精品免费久久久久| 91麻豆精品国产自产在线观看一区| 国产一区二区精品久久91| 亚洲精品亚洲人成人网| 久久久久久99久久久精品网站| 在线日韩国产精品| 国产成人免费网站| 五月天精品一区二区三区| 国产精品视频九色porn| 欧美日韩你懂得| 成人黄色在线视频| 精品一区二区三区免费| 亚洲成人免费电影| 2021久久国产精品不只是精品| 在线观看日韩av先锋影音电影院| 国产经典欧美精品| 蜜臀a∨国产成人精品| 亚洲最色的网站| 中文久久乱码一区二区| 2020国产精品久久精品美国| 欧美狂野另类xxxxoooo| 色乱码一区二区三区88| 不卡的av在线| 国产成人综合亚洲91猫咪| 麻豆一区二区在线| 日韩精品91亚洲二区在线观看 | 欧美成人video| 欧美日韩精品二区第二页| www.欧美日韩国产在线| 国产成人精品免费视频网站| 激情伊人五月天久久综合| 免费人成精品欧美精品| 天天色天天操综合| 亚洲国产日韩a在线播放性色| 一区二区三区四区乱视频| √…a在线天堂一区| 亚洲欧美在线视频观看| 成人欧美一区二区三区白人| 18涩涩午夜精品.www| 国产精品久久久久久久蜜臀| 中文字幕高清一区| 亚洲欧洲www| 亚洲丝袜制服诱惑| 亚洲日本一区二区| 亚洲精品中文字幕在线观看| 综合久久久久综合| 亚洲狠狠爱一区二区三区| 亚洲福利一区二区三区| 免费一级欧美片在线观看| 狠狠色综合色综合网络| 成人国产亚洲欧美成人综合网 | 91麻豆国产精品久久| 色欧美日韩亚洲| 欧美日精品一区视频| 在线电影欧美成精品| 欧美zozo另类异族| 欧美国产丝袜视频| 亚洲另类一区二区| 日韩影视精彩在线| 国产麻豆欧美日韩一区| 色嗨嗨av一区二区三区| 91精品欧美综合在线观看最新| 精品少妇一区二区三区日产乱码 | 91免费视频观看| 欧美久久久久免费| 久久久精品综合| 亚洲男人的天堂av| 免费观看成人av| 成人黄色a**站在线观看| 欧美偷拍一区二区| 久久亚洲综合av| 亚洲一区二区av电影| 久久精品二区亚洲w码| 91在线国产福利| 精品裸体舞一区二区三区| 国产精品卡一卡二卡三| 日日夜夜精品视频天天综合网| 国产99久久久国产精品| 欧美日韩免费在线视频| 国产丝袜欧美中文另类| 亚洲福中文字幕伊人影院| 成人精品一区二区三区四区| 欧美日韩成人在线一区| 综合中文字幕亚洲| 国内精品国产成人国产三级粉色|