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

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

?? console_library.asm

?? 可在Intel x86上執行的最小OS,完全用組語撰寫 可做DISK IO,Process Scheduling...等
?? ASM
字號:
%include "macro.inc"%include "orzmicro.inc"%include "console_library.inc"		db "ORZEXE.0"		; Executable file revision 0 id		dd 0x1000		; Stack size		dd _DATA_LEN		; Data size[ORG -0x10][BITS 32]		mov [DAT+putZero0],BYTE 0		call Init		call PrintTextBuf		call BlitScreenStart:		mov edi,DAT+msgBuf		mov edx,msgBufE-msgBuf		int i_GetMessage		jnz Process		xor ebx,ebx		xor ecx,ecx		xor edx,edx		mov eax,msg_Sleep		int i_SendMessageW		jmp Start;---------------------------------------------------------------------------------------Process:	cmp eax,cons_Clear		jnz Process0		jmp MSG_ClearProcess0:	cmp eax,cons_PrintSymbol		jnz Process1		jmp MSG_PrintSymbolProcess1:	cmp eax,cons_SetTextColor		jnz Process2		jmp MSG_SetTextColorProcess2:	cmp eax,cons_PrintChar		jnz Process3		jmp MSG_PrintCharProcess3:	cmp eax,cons_PrintString		jnz Process4		jmp MSG_PrintStringProcess4:	cmp eax,cons_PrintNumber		jnz Process5		jmp MSG_PrintNumberProcess5:		mov eax,1		xor ecx,ecx		int i_ProcessMessage		jmp Start;---------------------------------------------------------------------------------------MSG_PrintNumber:		cmp ecx,1+2		; only hex words are supported now		jz MSG_PrintNumber0		cmp ecx,1+4		jz MSG_PrintNumber1		jmp StdParamsErrMSG_PrintNumber0:		mov ax,[DAT+msgBuf+1]		mov edi,numPrintBuf+2+4		call PrintHexWord		mov esi,numPrintBuf+2+4		jmp MSG_PrintNumber2MSG_PrintNumber1:		mov eax,[DAT+msgBuf+1]		mov edi,numPrintBuf+2		call PrintHexDword		mov esi,numPrintBuf+2MSG_PrintNumber2:		call PrintString		call PrintTextBuf		call BlitScreen		jmp StdProcessMsg		;---------------------------------------------------------------------------------------MSG_PrintString:		mov edi,DAT+msgBuf		mov esi,edi		add edi,ecx		xor al,al		stosb		call PrintString		call PrintTextBuf		call BlitScreen		jmp StdProcessMsg;---------------------------------------------------------------------------------------MSG_PrintChar:	cmp ecx,1		jz MSG_PrintChar0		jmp StdParamsErrMSG_PrintChar0:	mov al,[DAT+msgBuf]		call PrintChar		call PrintTextBuf		call BlitScreen		jmp StdProcessMsg;---------------------------------------------------------------------------------------MSG_SetTextColor:		cmp ecx,1		jz MSG_SetTextColor0		jmp StdParamsErrMSG_SetTextColor0:		mov al,[DAT+msgBuf]		mov [DAT+textColor],al		jmp StdProcessMsg;---------------------------------------------------------------------------------------MSG_PrintSymbol:		cmp ecx,1		jz MSG_PrintSymbol0		jmp StdParamsErrMSG_PrintSymbol0:		mov al,[DAT+msgBuf]		call PrintSym		call PrintTextBuf		call BlitScreen		jmp StdProcessMsg;---------------------------------------------------------------------------------------MSG_Clear:	and ecx,ecx		jz MSG_Clear0		jmp StdParamsErrMSG_Clear0:	call Clear		jmp StdProcessMsg;---------------------------------------------------------------------------------------StdParamsErr:	mov eax,2		xor ecx,ecx		int i_ProcessMessage		jmp StartStdProcessMsg:	xor eax,eax		xor ecx,ecx		int i_ProcessMessage		jmp Start;---------------------------------------------------------------------------------------;---------------------------------------------------------------------------------------;---------------------------------------------------------------------------------------;---------------------------------------------------------------------------------------PrintString:	lodsb		and al,al		jnz PrintString0		retPrintString0:	push esi		call PrintChar		pop esi		jmp PrintString;---------------------------------------------------------------------------------------;;;; IN: AL - number, EDI - bufferPtr[2];;;; OUT: hex number in ptrBuffer;;;; MODIFY: AL, CL, EBX, ESI, EDIPrintHexByte:	mov ebx,hexTab		mov cl,al		shr al,4		xlatb		stosb		mov al,cl		and al,0x0F		xlatb		stosb		ret;;;; IN: AX - number, EDI - bufferPtr[4];;;; OUT: hex number in ptrBuffer;;;; MODIFY: AL, CX, EBX, ESI, EDIPrintHexWord:	mov ch,al		mov al,ah		call PrintHexByte		mov al,ch		jmp PrintHexByte;;;; IN: EAX - number, EDI - bufferPtr[4];;;; OUT: hex number in ptrBuffer;;;; MODIFY: EAX, CX, EBX, ESI, EDIPrintHexDword:	push ax		shr eax,0x10		call PrintHexWord		pop ax		jmp PrintHexWordhexTab		db "0123456789ABCDEF";-------------------------------------------------------------------------------PrintChar:	cmp al,8		jnz PrintChar0		call CursorBack		xor al,al		call PrintSym		jmp CursorBackPrintChar0:	cmp al,9		jnz PrintChar1		jmp TabulationPrintChar1:	cmp al,0x0A		jnz PrintChar2		retPrintChar2:	cmp al,0x0D		jnz PrintChar3		jmp NewLinePrintChar3:	jmp PrintSym;---------------------------------------------------------------------------------------Tabulation:	mov al,[DAT+cursorY]		cmp al,[DAT+heightCh]		jc Tabulation0		mov al,[DAT+heightCh]	;		dec al		mov [DAT+cursorY],al		call ScrollUpTabulation0:	movzx ax,[DAT+cursorX]		mov bl,[DAT+tabSize]		add al,bl		cmp al,[DAT+widthCh]		jc Tabulation1		inc BYTE [DAT+cursorY]		xor bh,bh		jmp Tabulation2Tabulation1:	mov bh,al		div bl		sub bh,ahTabulation2:	mov [DAT+cursorX],bh		ret;---------------------------------------------------------------------------------------NewLine:	mov al,[DAT+cursorY]		cmp al,[DAT+heightCh]		jc NewLine0		mov al,[DAT+heightCh]	;		dec al		mov [DAT+cursorY],al		call ScrollUp		mov al,[DAT+cursorY]NewLine0:	inc al		mov [DAT+cursorY],al		mov [DAT+cursorX],BYTE 0		ret;---------------------------------------------------------------------------------------CursorBack:	mov al,[DAT+cursorX]		and al,al		jz CursorBack0		dec al		jmp CursorBack1CursorBack0:	mov al,[DAT+cursorY]		and al,al		jz CursorBack2		dec al		mov [DAT+cursorY],al		mov al,[DAT+widthCh]		dec alCursorBack1:	mov [DAT+cursorX],alCursorBack2:	ret;---------------------------------------------------------------------------------------Clear:		movzx eax,BYTE [DAT+heightCh]		mul BYTE [DAT+widthCh]		mov ecx,eax		push ecx		mov edi,DAT+textBuf		xor al,al		rep stosb		pop ecx		mov edi,DAT+clrBuf		mov al,[DAT+textColor]		rep stosb		ret;---------------------------------------------------------------------------------------;;;; IN: AL = symbol to print in text bufferPrintSym:	mov cl,al		mov al,[DAT+cursorY]		cmp al,[DAT+heightCh]		jc PrintSym0		mov al,[DAT+heightCh]	;		dec al		mov [DAT+cursorY],al		push cx		call ScrollUp		pop cxPrintSym0:	movzx eax,BYTE [DAT+cursorY]		mul BYTE [DAT+widthCh]		add eax,DAT+textBuf		movzx edi,BYTE [DAT+cursorX]		add edi,eax		mov [edi],cl		mov al,[DAT+textColor]		mov [edi+clrBuf-textBuf],al		mov al,[DAT+cursorX]		inc al		cmp al,[DAT+widthCh]		jc PrintSym1		inc BYTE [DAT+cursorY]		xor al,alPrintSym1:	mov [DAT+cursorX],al		ret;---------------------------------------------------------------------------------------ScrollUp:	mov edi,DAT+textBuf		mov esi,edi		movzx eax,BYTE [DAT+widthCh]		add esi,eax		movzx eax,BYTE [DAT+heightCh]		dec eax		mul BYTE [DAT+widthCh]		mov ecx,eax		push ecx,esi,edi		rep movsb		mov esi,edi		inc edi		mov [esi],BYTE 0		movzx ecx,BYTE [DAT+widthCh]		dec ecx		rep movsb		pop edi,esi,ecx		add esi,clrBuf-textBuf		add edi,clrBuf-textBuf		rep movsb		mov esi,edi		inc edi		mov al,[DAT+textColor]		mov [esi],al		movzx ecx,BYTE [DAT+widthCh]		dec ecx		rep movsb		ret;---------------------------------------------------------------------------------------Init:		mov ax,200		div BYTE [font+8]		cmp al,51		jc Init0		mov al,50Init0:		mov [DAT+heightCh],al		mov ax,320		div BYTE [font+9]		cmp al,101		jc Init1		mov al,100Init1:		mov [DAT+widthCh],al		mov ax,320		movzx bx,BYTE [font+9]		sub ax,bx		mov [DAT+prChAdd],ax		mov [DAT+textColor],BYTE 15		mov [DAT+backColor],BYTE 0		mov [DAT+cursorColor],BYTE 5+1		mov [DAT+cursorX],BYTE 0		mov [DAT+cursorY],BYTE 0		mov [DAT+tabSize],BYTE 8		jmp Clear;---------------------------------------------------------------------------------------PrintTextBuf:	call ClearScr		call PrintCursor		mov esi,DAT+textBuf		xor bh,bh		mov ch,[DAT+heightCh]PrintTextBuf0:	xor bl,bl		mov cl,[DAT+widthCh]PrintTextBuf1:	mov dl,[esi+clrBuf-textBuf]		lodsb		push esi,bx,cx		call PrintCharScr		pop cx,bx,esi		inc bl		dec cl		jnz PrintTextBuf1		inc bh		dec ch		jnz PrintTextBuf0		ret;---------------------------------------------------------------------------------------InitPalette:	mov ecx,0x100		mov esi,DAT+palette		mov dx,0x3C8		xor ah,ahInitPalette0:	mov al,ah		out dx,al		inc dx		lodsb		shr al,2		out dx,al		lodsb		shr al,2		out dx,al		lodsb		shr al,2		out dx,al		dec dx		inc ah		loop InitPalette0		ret;---------------------------------------------------------------------------------------ClearScr:	cmp BYTE [DAT+backImg], 0		jz ClearScr0				mov esi,DAT+picBuf		mov edi,DAT+scrBuf		mov ecx,320*200/4		rep movsd		retClearScr0:	mov al,[DAT+backColor]		mov ah,al		mov bx,ax		shl eax,0x10		mov ax,bx		mov edi,DAT+scrBuf		mov ecx,320*200/4		rep stosd		ret;---------------------------------------------------------------------------------------PrintCursor:	movzx eax,BYTE [DAT+cursorY]		cmp al,[DAT+heightCh]		jnc PrintCursor1		mul BYTE [font+8]		imul eax,320		mov ecx,eax		movzx eax,BYTE [DAT+cursorX]		mul BYTE [font+9]		add eax,ecx		add eax,DAT+scrBuf		mov edi,eax		mov bl,[font+8]		mov bh,[DAT+textColor]		movzx edx,WORD [DAT+prChAdd]		mov al,[DAT+cursorColor]PrintCursor0:	movzx ecx,BYTE [font+9]		rep stosb		add edi,edx		dec bl		jnz PrintCursor0PrintCursor1:	ret;---------------------------------------------------------------------------------------;;;; IN: AL = char, BL = x, BH = y, DL = colorPrintCharScr:	mov [DAT+PrintCharScr_clr],dl		movzx ecx,BYTE [font+8]		movzx eax,al		mul cx		add eax,font+10		mov esi,eax		movzx eax,bh		mul cx		imul eax,320		mov ecx,eax		movzx eax,bl		mul BYTE [font+9]		add eax,ecx		add eax,DAT+scrBuf		mov edi,eax		mov bl,[font+8]		mov bh,[DAT+PrintCharScr_clr]		movzx edx,WORD [DAT+prChAdd]PrintCharScr0:	lodsb		movzx ecx,BYTE [font+9]PrintCharScr1:	shl al,1		jnc PrintCharScr2		mov [edi],bhPrintCharScr2:	inc edi		loop PrintCharScr1		add edi,edx		dec bl		jnz PrintCharScr0		ret;---------------------------------------------------------------------------------------BlitScreen:	mov esi,DAT+scrBuf		mov ecx,320*200/4		mov edi,0xA0000BlitScreen0:	lodsd		mov [gs:edi],eax		add edi,4		loop BlitScreen0		ret;---------------------------------------------------------------------------------------font:		incbin "fonts/4x8.font";---------------------------------------------------------------------------------------DAT:		struc _DATAPrintCharScr_clr:		resb 1numPrintBuf:	resb 10putZero0:	resb 1prChAdd:	resw 1showCursor:	resb 1cursorX:	resb 1cursorY:	resb 1cursorColor:	resb 1backColor:	resb 1textColor:	resb 1widthCh:	resb 1heightCh:	resb 1tabSize:	resb 1backImg:	resb 1		; 0 - no, 1 - yesmsgBuf:		resb 0x10000msgBufE:textBuf:	resb 100*50clrBuf:		resb 100*50scrBuf:		resb 320*200palette:	resb 0x100*3picBuf:		resb 320*200_DATA_LEN:		endstruc

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区美女| 欧美成人一区二区三区在线观看| 欧美日韩不卡在线| 一区二区三区日韩精品| 美国欧美日韩国产在线播放| 99精品欧美一区二区三区小说| 欧美另类一区二区三区| 国产精品久久久久久久久免费桃花 | 在线看不卡av| 中文字幕巨乱亚洲| 九色porny丨国产精品| 欧美唯美清纯偷拍| 亚洲欧洲精品成人久久奇米网| 黑人巨大精品欧美一区| 欧美精品vⅰdeose4hd| 夜夜嗨av一区二区三区中文字幕 | 91视频国产资源| 国产午夜三级一区二区三| 久久精品av麻豆的观看方式| 欧美老肥妇做.爰bbww视频| 夜夜夜精品看看| 在线观看三级视频欧美| 亚洲精品第一国产综合野| 91影院在线免费观看| 国产精品久久久久桃色tv| 成人在线综合网站| 国产欧美精品区一区二区三区| 久久国产精品一区二区| 欧美r级电影在线观看| 看片网站欧美日韩| 精品国产乱子伦一区| 精品一区在线看| 久久久蜜桃精品| 丁香婷婷综合色啪| 国产精品久久777777| 丁香一区二区三区| 亚洲欧美国产三级| 在线一区二区三区做爰视频网站| 亚洲精品国产高清久久伦理二区| 99re这里只有精品视频首页| 亚洲精品视频免费观看| 欧美亚洲综合一区| 日韩成人午夜精品| 久久久久久久综合日本| 波多野结衣欧美| 亚洲一级不卡视频| 日韩一区二区三区视频| 经典三级一区二区| 国产精品久久久久影视| 欧美日韩午夜影院| 蜜桃视频在线观看一区二区| 久久综合九色综合97_久久久| 国产一区二区三区视频在线播放| 国产精品色一区二区三区| 色婷婷久久综合| 久久av老司机精品网站导航| 欧美高清在线精品一区| 在线观看视频一区二区欧美日韩| 青草av.久久免费一区| 久久久久国产精品麻豆| 一本色道久久综合精品竹菊| 日本在线不卡一区| 国产精品久久久久久久久免费桃花 | 日韩电影免费在线| 国产亚洲成年网址在线观看| 在线亚洲一区二区| 久久精品国产99国产精品| 国产精品美女久久久久久| 欧美少妇bbb| 成人中文字幕合集| 青草av.久久免费一区| 亚洲欧洲一区二区在线播放| 欧美影院精品一区| 国产成人精品aa毛片| 亚洲午夜电影网| 国产精品私房写真福利视频| 欧美欧美午夜aⅴ在线观看| 成人激情免费网站| 欧美aⅴ一区二区三区视频| 中文字幕日韩一区| 久久综合给合久久狠狠狠97色69| 在线观看日韩电影| 国产a精品视频| 老司机精品视频一区二区三区| 亚洲欧洲www| 久久久久久久久久久久久久久99 | 丁香五精品蜜臀久久久久99网站 | 国产成人午夜高潮毛片| 日韩va欧美va亚洲va久久| 亚洲人成伊人成综合网小说| 精品久久久久久久久久久院品网 | 91浏览器入口在线观看| 国产精品 欧美精品| 爽爽淫人综合网网站| 欧美国产日韩a欧美在线观看| 欧美一区2区视频在线观看| 在线中文字幕不卡| 日本高清成人免费播放| 成人不卡免费av| 国产精品1024| 国产成人精品www牛牛影视| 精品中文av资源站在线观看| 天天色综合天天| 亚洲最色的网站| 一区二区视频在线| 亚洲美女电影在线| 国产精品久久久久久久裸模| 国产情人综合久久777777| 2023国产精品视频| 久久综合久久鬼色中文字| 精品久久久影院| 亚洲国产另类av| 亚洲图片自拍偷拍| 亚洲大片在线观看| 午夜a成v人精品| 偷窥少妇高潮呻吟av久久免费| 亚洲一区中文在线| 婷婷激情综合网| 日本成人在线看| 国产一区欧美一区| 国产白丝网站精品污在线入口| 激情综合色播五月| 国产一区二区免费视频| 国产成人精品三级| 91色九色蝌蚪| 在线国产电影不卡| 777欧美精品| 2017欧美狠狠色| 久久视频一区二区| 综合久久一区二区三区| 一区二区三区四区激情| 日韩主播视频在线| 国产黑丝在线一区二区三区| 成人妖精视频yjsp地址| 欧美最新大片在线看 | 久久久久9999亚洲精品| 国产日本欧洲亚洲| 亚洲一区二区三区在线播放| 琪琪久久久久日韩精品| 国模套图日韩精品一区二区 | 欧美精品久久久久久久多人混战| 91精品国产欧美一区二区18| 久久久av毛片精品| 亚洲欧洲www| 美女国产一区二区| 不卡欧美aaaaa| 欧美一区二区在线免费播放 | 91在线无精精品入口| 欧美视频一区二区三区四区| 精品国产青草久久久久福利| 中文字幕一区二区三区色视频| 亚洲mv在线观看| 成人午夜电影小说| 7878成人国产在线观看| 国产精品视频看| 视频一区中文字幕国产| 成人国产精品免费网站| 337p亚洲精品色噜噜噜| 国产精品第五页| 激情综合网av| 欧美少妇xxx| 中文字幕在线观看不卡| 蜜乳av一区二区| 91福利小视频| 国产精品久久久久天堂| 国内成人精品2018免费看| 色狠狠桃花综合| 国产精品色婷婷久久58| 精品一区二区影视| 欧美日韩国产免费| 成人免费在线视频观看| 美女mm1313爽爽久久久蜜臀| 欧洲精品中文字幕| 国产清纯白嫩初高生在线观看91 | 成人激情小说网站| 欧美精品777| 亚洲综合久久久久| av中文字幕亚洲| 久久嫩草精品久久久久| 青青草原综合久久大伊人精品| 欧美午夜精品久久久久久孕妇 | 欧美日韩亚洲综合| 亚洲人成伊人成综合网小说| 国产v日产∨综合v精品视频| 日韩欧美精品在线视频| 亚洲国产成人tv| 欧美亚洲精品一区| 亚洲视频 欧洲视频| 成人晚上爱看视频| 中文字幕电影一区| 丁香婷婷综合激情五月色| 欧美日韩在线三区| 午夜精品久久久久久不卡8050| 在线观看日韩国产| 亚洲一区二区不卡免费| 欧美特级限制片免费在线观看| 亚洲女同ⅹxx女同tv| 91尤物视频在线观看| 亚洲综合一区二区三区| 欧美视频在线一区|