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

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

?? messages.asm

?? 可在Intel x86上執行的最小OS,完全用組語撰寫 可做DISK IO,Process Scheduling...等
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
Int_GetMessage:	cli	GDT_Adjustment	;;;;	mov [task_ebp], ebp	mov ebp, [currentTaskP]	mov [ds:ebp + s_task.r_eax], eax	mov [ds:ebp + s_task.r_ebx], ebx	mov [ds:ebp + s_task.r_ecx], ecx	mov [ds:ebp + s_task.r_edx], edx	mov [ds:ebp + s_task.r_esi], esi	mov [ds:ebp + s_task.r_edi], edi	mov eax, [task_ebp]	mov [ds:ebp + s_task.r_ebp], eax	;;;;	pop eax	mov [ds:ebp + s_task.r_eip], eax	;;;;	pop eax		; task_cs	;;;;	pop eax	mov [ds:ebp + s_task.r_eflags], eax	;;;;	mov [ds:ebp + s_task.r_esp], esp	;;;;	mov ax, kernel_data - _GDT	mov ss, ax	mov esp, [kernel_esp]	mov esi, [ebp + s_task.qFirst]	cmp esi, [ebp + s_task.qLast]	jnz Int_GetMessage0	or [ebp + s_task.r_eflags], DWORD ZF_OR	jmp Int_ScheduleCurr_succInt_GetMessage0:	lodsd	push ebp	;;;;	call FindTask	jnc Int_GetMessage1	;;;;	pop ebp	mov eax, RESULT_INVALID_TASKID	jmp Int_ScheduleCurr_errEax	;;;;Int_GetMessage1:	pop edi	mov ecx, [ebp + s_task.r_ecx]	mov eax, [edi + s_task.r_edx]	cmp eax, ecx	jnc Int_GetMessage2	mov ebp, edi	mov eax, RESULT_BUFFER_TOO_SMALL	jmp Int_ScheduleCurr_errEaxInt_GetMessage2:	mov eax, [ebp + s_task.taskID]	mov [edi + s_task.r_ebx],eax	mov eax, [ebp + s_task.r_eax]	mov [edi + s_task.r_eax], eax	mov [edi + s_task.r_ecx], ecx	and [edi + s_task.r_eflags], DWORD ZF_AND	push edi	;;;;	mov eax, [edi + s_task.taskPageAddr]	mov edi, [edi + s_task.r_edi]	add edi, eax	;;;;	mov esi, [ebp + s_task.r_esi]	add esi, [ebp + s_task.taskPageAddr]	;;;;	rep movsb	;;;;	pop ebp	jmp Int_ScheduleCurr_succ;------------------------------------------------------------------;------------------------------------------------------------------;------------------------------------------------------------------;------------------------------------------------------------------Int_SendMessageW:	cli	GDT_Adjustment	;;;;	mov [task_ebp], ebp	mov ebp, [currentTaskP]	mov [ds:ebp + s_task.r_eax], eax	mov [ds:ebp + s_task.r_ebx], ebx	mov [ds:ebp + s_task.r_ecx], ecx	mov [ds:ebp + s_task.r_edx], edx	mov [ds:ebp + s_task.r_esi], esi	mov [ds:ebp + s_task.r_edi], edi	mov eax, [task_ebp]	mov [ds:ebp + s_task.r_ebp], eax	;;;;	pop eax	mov [ds:ebp + s_task.r_eip], eax	;;;;	pop eax		; task_cs	;;;;	pop eax	mov [ds:ebp + s_task.r_eflags], eax	;;;;	mov [ds:ebp + s_task.r_esp], esp	;;;;	mov ax,kernel_data - _GDT	mov ss, ax	mov esp, [kernel_esp]	mov eax, [ebp + s_task.r_ebx]	and eax, eax	jz Int_SendMessageWkrnl	jmp Int_SendMessageWprcInt_SendMessageWkrnl:	mov eax, [ebp + s_task.r_eax]	cmp eax, msg_Sleep	jnz Sc0	jmp SysCall_SleepSc0:	cmp eax, msg_GetTickCount	jnz Sc1	jmp SysCall_GetTickCountSc1:	cmp eax, msg_FindTaskByName	jnz Sc2	jmp SysCall_FindTaskByNameSc2:	cmp eax, msg_RmodeInt	jnz Sc3	jmp SysCall_RmodeIntSc3:	cmp eax, msg_GetScanCode	jnz Sc4	jmp SysCall_GetScanCodeSc4:	cmp eax, msg_EnumTasksID	jnz Sc5	jmp SysCall_EnumTasksIDSc5:	cmp eax, msg_GetTaskName	jnz Sc6	jmp SysCall_GetTaskNameSc6:	cmp eax, msg_KillTask	jnz Sc7	jmp SysCall_KillTaskSc7:	cmp eax, msg_Exit	jnz Sc8	jmp SysCall_ExitSc8:	cmp eax, msg_CreateTask	jnz Sc9	jmp SysCall_CreateTaskSc9:	mov eax, RESULT_INCORRECT_SYSCALL	jmp Int_ScheduleCurr_errEaxInt_SendMessageWprc:	mov [senderP], ebp	call FindTask	jnc Int_SendMessageWprc1	mov ebp, [senderP]	mov eax, RESULT_INVALID_TASKID	jmp Int_ScheduleCurr_errEaxInt_SendMessageWprc1:	push ebp	mov ebp, [senderP]	mov eax, [ebp + s_task.taskID]	pop ebp	mov esi,[ebp + s_task.qLast]	lea edi,[ebp + (s_task.queue + (MAX_TASKS + 1) * 4)]	add esi, 4	cmp esi, edi	jc Int_SendMessageWprc2	lea esi, [ebp + s_task.queue]Int_SendMessageWprc2:	cmp esi, [ebp + s_task.qFirst]	jz Int_SendMessageWprc3	mov edi, [ebp + s_task.qLast]	stosd	mov [ebp + s_task.qLast], esi	mov ebp, [senderP]	mov [ebp + s_task.state], BYTE STATE_SENDW	jmp ScheduleInt_SendMessageWprc3:	mov ebp, [senderP]	mov eax, RESULT_TOO_MANY_MESSAGES	jmp Int_ScheduleCurr_errEaxsenderP		dd 0;------------------------------------------------------------------;------------------------------------------------------------------;------------------------------------------------------------------;------------------------------------------------------------------Int_ProcessMessage:	cli	GDT_Adjustment	;;;;	mov [task_ebp], ebp	mov ebp, [currentTaskP]	mov [ds:ebp + s_task.r_eax], eax	mov [ds:ebp + s_task.r_ebx], ebx	mov [ds:ebp + s_task.r_ecx], ecx	mov [ds:ebp + s_task.r_edx], edx	mov [ds:ebp + s_task.r_esi], esi	mov [ds:ebp + s_task.r_edi], edi	mov eax, [task_ebp]	mov [ds:ebp + s_task.r_ebp], eax	;;;;	pop eax	mov [ds:ebp + s_task.r_eip], eax	;;;;	pop eax		; task_cs	;;;;	pop eax	mov [ds:ebp + s_task.r_eflags], eax	;;;;	mov [ds:ebp + s_task.r_esp], esp	;;;;	mov ax, kernel_data - _GDT	mov ss, ax	mov esp, [kernel_esp]	mov esi, [ebp + s_task.qFirst]	cmp esi, [ebp + s_task.qLast]	jnz Int_ProcessMessage0	mov eax, RESULT_NO_MORE_MESSAGES	jmp Int_ScheduleCurr_errEaxInt_ProcessMessage0:	lodsd	lea edi,[ebp + (s_task.queue + (MAX_TASKS + 1) * 4)]	cmp esi, edi	jnz Int_ProcessMessage1	lea esi,[ebp+s_task.queue]Int_ProcessMessage1:	mov [ebp+s_task.qFirst],esi	push ebp	;;;;	call FindTask	jnc Int_ProcessMessage2	;;;;	pop ebp	mov eax, RESULT_INVALID_TASKID	jmp Int_ScheduleCurr_errEax	;;;;Int_ProcessMessage2:	mov [ebp + s_task.state], DWORD STATE_RUNNING	;;;;	pop esi	mov ecx,[esi + s_task.r_ecx]	mov eax,[ebp + s_task.r_edx]	cmp eax, ecx	jnc Int_ProcessMessage3	mov [ebp + s_task.r_eax], DWORD RESULT_BUFFER_TOO_SMALL	or [ebp + s_task.r_eflags], DWORD CF_OR	mov ebp, esi	jmp Int_ScheduleCurr_succInt_ProcessMessage3:	mov eax, [esi + s_task.r_eax]	mov [ebp + s_task.r_eax], eax	mov [ebp + s_task.r_ecx], ecx	and [ebp + s_task.r_eflags], DWORD CF_AND	push esi	;;;;	mov eax, [esi + s_task.taskPageAddr]	mov esi, [esi + s_task.r_esi]	add esi, eax	;;;;	mov edi, [ebp + s_task.r_edi]	add edi, [ebp + s_task.taskPageAddr]	;;;;	rep movsb	;;;;	pop ebp	jmp Int_ScheduleCurr_succ;-------------------------------------------------------------------------------task_ebp	dd 0Int_ScheduleCurr_succEax:	mov [ebp + s_task.r_eax], eax	mov [ebp + s_task.r_ecx], DWORD 0Int_ScheduleCurr_succ:	and [ebp + s_task.r_eflags], DWORD CF_AND	jmp ScheduleCurr;;;;Int_ScheduleCurr_errEax:	mov [ebp + s_task.r_eax], eax	or [ebp + s_task.r_eflags], DWORD CF_OR	jmp ScheduleCurr;------------------------------------------------------------------;------------------------------------------------------------------;------------------------------------------------------------------;------------------------------------------------------------------Int_RemoveMessage:	cli	GDT_Adjustment	;;;;	mov [task_ebp], ebp	mov ebp, [currentTaskP]	mov [ds:ebp + s_task.r_eax], eax	mov [ds:ebp + s_task.r_ebx], ebx	mov [ds:ebp + s_task.r_ecx], ecx	mov [ds:ebp + s_task.r_edx], edx	mov [ds:ebp + s_task.r_esi], esi	mov [ds:ebp + s_task.r_edi], edi	mov eax, [task_ebp]	mov [ds:ebp + s_task.r_ebp], eax	;;;;	pop eax	mov [ds:ebp + s_task.r_eip], eax	;;;;	pop eax		; task_cs	;;;;	pop eax	mov [ds:ebp + s_task.r_eflags], eax	;;;;	mov [ds:ebp + s_task.r_esp], esp	;;;;	mov ax, kernel_data - _GDT	mov ss, ax	mov esp, [kernel_esp]	mov esi, [ebp + s_task.qFirst]	cmp esi, [ebp + s_task.qLast]	jnz Int_RemoveMessage0	mov eax, RESULT_NO_MORE_MESSAGES	jmp Int_ScheduleCurr_errEaxInt_RemoveMessage0:	add esi, 4	lea edi, [ebp + (s_task.queue + (MAX_TASKS + 1) * 4)]	cmp esi, edi	jnz Int_RemoveMessage1	lea esi,[ebp + s_task.queue]Int_RemoveMessage1:	mov [ebp + s_task.qFirst], esi	jmp Int_ScheduleCurr_succ;------------------------------------------------------------------;------------------------------------------------------------------;------------------------------------------------------------------;------------------------------------------------------------------Int_SendAnswer:	cli	GDT_Adjustment	;;;;	mov [task_ebp], ebp	mov ebp, [currentTaskP]	mov [ds:ebp + s_task.r_eax], eax	mov [ds:ebp + s_task.r_ebx], ebx	mov [ds:ebp + s_task.r_ecx], ecx	mov [ds:ebp + s_task.r_edx], edx	mov [ds:ebp + s_task.r_esi], esi	mov [ds:ebp + s_task.r_edi], edi	mov eax, [task_ebp]	mov [ds:ebp + s_task.r_ebp], eax	;;;;	pop eax	mov [ds:ebp + s_task.r_eip], eax	;;;;	pop eax		; task_cs	;;;;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区日韩一区| 国产盗摄一区二区| 99精品视频一区| 国产精品国产三级国产专播品爱网| 青青草精品视频| 精品少妇一区二区| 国产成人免费xxxxxxxx| 久久aⅴ国产欧美74aaa| 自拍偷拍亚洲激情| 精品美女一区二区| 精品国产三级a在线观看| av在线不卡网| 免费人成黄页网站在线一区二区 | 国产一区二区不卡在线| 国产色综合一区| 色天天综合色天天久久| 免费在线观看视频一区| 久久电影网电视剧免费观看| 国产一区二区电影| 91久久精品一区二区三区| 精品午夜一区二区三区在线观看| 中文字幕在线观看一区| 欧美xfplay| 国产精品午夜在线| 久久日韩粉嫩一区二区三区| 欧美天堂一区二区三区| 成人va在线观看| 青草av.久久免费一区| 国产一区二区精品久久99| 99精品热视频| 欧美一区二区三区免费| 国产精品久久三| 亚洲第一av色| 一区二区三区蜜桃| 国产精品福利在线播放| 亚洲成人在线网站| 国产.欧美.日韩| 国产精品自拍网站| 国产在线看一区| 日本大胆欧美人术艺术动态| 亚洲成人一二三| 国产成人av自拍| 欧美日本国产一区| 欧美日韩亚洲综合在线| 欧美日韩国产另类不卡| 欧美国产精品一区二区三区| 久久久久久久久蜜桃| 亚洲一级二级三级在线免费观看| 亚洲激情校园春色| 亚洲在线观看免费| 国产美女一区二区| 欧美喷水一区二区| 综合久久国产九一剧情麻豆| 国产在线国偷精品产拍免费yy| 欧美色网一区二区| 亚洲视频中文字幕| eeuss鲁一区二区三区| 2020国产精品自拍| 国产精品无遮挡| 狠狠色丁香久久婷婷综合丁香| 欧美在线视频日韩| 精品国产一区二区三区忘忧草 | 91欧美一区二区| 色视频成人在线观看免| 欧美国产精品中文字幕| 久久超级碰视频| 日韩欧美激情一区| 久久综合久久99| 久久精品国产99| 日韩欧美国产精品一区| 日本亚洲天堂网| 欧美日韩精品一区二区在线播放| 一区二区三区中文字幕电影| 高清不卡在线观看av| 国产亚洲精品精华液| 国产成人亚洲综合色影视| www成人在线观看| 国产在线不卡一卡二卡三卡四卡| 精品国产一区二区三区不卡| 国产在线不卡视频| 亚洲国产成人私人影院tom| 成人性生交大片免费看中文| 欧美中文字幕亚洲一区二区va在线 | 国产馆精品极品| 国产香蕉久久精品综合网| 国产成人亚洲精品狼色在线| 久久一日本道色综合| 懂色av中文字幕一区二区三区| 国产欧美日韩久久| 午夜欧美电影在线观看| 国产白丝精品91爽爽久久| 久久免费午夜影院| av一本久道久久综合久久鬼色| 亚洲天堂2016| 欧美精品一二三四| 中文字幕一区二区三| 欧美中文字幕久久| 蜜臀av一区二区在线观看 | 亚洲综合另类小说| 91精品国产综合久久久蜜臀粉嫩 | 欧美一级免费大片| 国产女人水真多18毛片18精品视频| 国产高清不卡一区二区| 亚洲另类在线一区| 日韩女同互慰一区二区| 成人午夜精品在线| 亚洲成av人**亚洲成av**| 久久久久久久久久久黄色| 97久久超碰国产精品| 日韩avvvv在线播放| 国产精品丝袜久久久久久app| 欧美私模裸体表演在线观看| 久久97超碰国产精品超碰| 国产精品国产a| 欧美电影一区二区三区| 成人白浆超碰人人人人| 免费高清在线一区| 亚洲情趣在线观看| 91在线视频播放| 免费看精品久久片| 亚洲乱码国产乱码精品精可以看| 欧美一区二区久久久| 成人avav在线| 久久成人久久鬼色| 日韩精品亚洲一区| 日韩精品一区二区三区在线观看| 成人高清免费观看| 精品亚洲国产成人av制服丝袜| 亚洲美女视频一区| 国产精品久久午夜夜伦鲁鲁| 精品日韩成人av| 欧美色综合久久| 日本黄色一区二区| 99re成人在线| 粉嫩在线一区二区三区视频| 日本不卡不码高清免费观看 | 这里是久久伊人| 日本韩国视频一区二区| 波多野结衣在线一区| 国产精品69毛片高清亚洲| 日韩国产精品大片| 日韩经典一区二区| 亚洲高清久久久| 欧美va在线播放| 日韩一级完整毛片| 制服丝袜日韩国产| 91精品在线免费观看| 欧美色综合网站| 在线电影国产精品| 欧美精品第1页| 日韩视频免费观看高清完整版 | 亚洲国产精品久久人人爱蜜臀| 国产精品久久久久久久久动漫 | 石原莉奈在线亚洲二区| 日韩精品欧美精品| 日韩精品成人一区二区三区| 蜜桃av一区二区三区| 韩国毛片一区二区三区| 韩国av一区二区| 成人污视频在线观看| 成人开心网精品视频| 99亚偷拍自图区亚洲| 91婷婷韩国欧美一区二区| 一本色道综合亚洲| 欧美老女人在线| 欧美电影免费观看高清完整版在| 精品国精品国产| 中文字幕成人在线观看| 日韩毛片视频在线看| 亚洲成年人网站在线观看| 人妖欧美一区二区| 国产乱码精品一品二品| 99久久精品国产一区二区三区 | 丁香亚洲综合激情啪啪综合| 成人黄页毛片网站| 欧美性猛交一区二区三区精品 | 国产精品理论在线观看| 一卡二卡欧美日韩| 免费观看91视频大全| 成人精品亚洲人成在线| 在线观看一区二区视频| 日韩精品一区国产麻豆| 亚洲三级电影全部在线观看高清| 亚洲国产综合色| 激情六月婷婷久久| 在线欧美日韩精品| 久久精品人人做人人爽人人| 中文字幕日韩精品一区| 久久精品久久久精品美女| 成人h动漫精品| 欧美一个色资源| 亚洲欧美日韩国产综合| 激情亚洲综合在线| 欧美亚洲国产一区二区三区va| 久久久91精品国产一区二区精品| 一区二区三区 在线观看视频| 国产麻豆精品在线| 正在播放亚洲一区| 伊人性伊人情综合网| 高清成人免费视频|