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

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

?? klib.asm

?? 《自己動手寫操作系統》的隨書附贈光盤
?? ASM
字號:

; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;                              klib.asm
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;                                                       Forrest Yu, 2005
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


%include "sconst.inc"

; 導入全局變量
extern	disp_pos


[SECTION .text]

; 導出函數
global	disp_str
global	disp_color_str
global	out_byte
global	in_byte
global	enable_irq
global	disable_irq
global	enable_int
global	disable_int

; ========================================================================
;                  void disp_str(char * info);
; ========================================================================
disp_str:
	push	ebp
	mov	ebp, esp

	mov	esi, [ebp + 8]	; pszInfo
	mov	edi, [disp_pos]
	mov	ah, 0Fh
.1:
	lodsb
	test	al, al
	jz	.2
	cmp	al, 0Ah	; 是回車嗎?
	jnz	.3
	push	eax
	mov	eax, edi
	mov	bl, 160
	div	bl
	and	eax, 0FFh
	inc	eax
	mov	bl, 160
	mul	bl
	mov	edi, eax
	pop	eax
	jmp	.1
.3:
	mov	[gs:edi], ax
	add	edi, 2
	jmp	.1

.2:
	mov	[disp_pos], edi

	pop	ebp
	ret

; ========================================================================
;                  void disp_color_str(char * info, int color);
; ========================================================================
disp_color_str:
	push	ebp
	mov	ebp, esp

	mov	esi, [ebp + 8]	; pszInfo
	mov	edi, [disp_pos]
	mov	ah, [ebp + 12]	; color
.1:
	lodsb
	test	al, al
	jz	.2
	cmp	al, 0Ah	; 是回車嗎?
	jnz	.3
	push	eax
	mov	eax, edi
	mov	bl, 160
	div	bl
	and	eax, 0FFh
	inc	eax
	mov	bl, 160
	mul	bl
	mov	edi, eax
	pop	eax
	jmp	.1
.3:
	mov	[gs:edi], ax
	add	edi, 2
	jmp	.1

.2:
	mov	[disp_pos], edi

	pop	ebp
	ret

; ========================================================================
;                  void out_byte(t_port port, t_8 value);
; ========================================================================
out_byte:
	mov	edx, [esp + 4]		; port
	mov	al, [esp + 4 + 4]	; value
	out	dx, al
	nop	; 一點延遲
	nop
	ret

; ========================================================================
;                  t_8 in_byte(t_port port);
; ========================================================================
in_byte:
	mov	edx, [esp + 4]		; port
	xor	eax, eax
	in	al, dx
	nop	; 一點延遲
	nop
	ret

; ========================================================================
;                  void disable_irq(int irq);
; ========================================================================
; Disable an interrupt request line by setting an 8259 bit.
; Equivalent code for irq < 8:
;       out_byte(INT_CTLMASK, in_byte(INT_CTLMASK) | (1 << irq));
; Returns true iff the interrupt was not already disabled.
;
disable_irq:
	mov	ecx, [esp + 4]		; irq
	pushf
	cli
	mov	ah, 1
	rol	ah, cl			; ah = (1 << (irq % 8))
	cmp	cl, 8
	jae	disable_8		; disable irq >= 8 at the slave 8259
disable_0:
	in	al, INT_M_CTLMASK
	test	al, ah
	jnz	dis_already		; already disabled?
	or	al, ah
	out	INT_M_CTLMASK, al	; set bit at master 8259
	popf
	mov	eax, 1			; disabled by this function
	ret
disable_8:
	in	al, INT_S_CTLMASK
	test	al, ah
	jnz	dis_already		; already disabled?
	or	al, ah
	out	INT_S_CTLMASK, al	; set bit at slave 8259
	popf
	mov	eax, 1			; disabled by this function
	ret
dis_already:
	popf
	xor	eax, eax		; already disabled
	ret

; ========================================================================
;                  void enable_irq(int irq);
; ========================================================================
; Enable an interrupt request line by clearing an 8259 bit.
; Equivalent code:
;	if(irq < 8){
;		out_byte(INT_M_CTLMASK, in_byte(INT_M_CTLMASK) & ~(1 << irq));
;	}
;	else{
;		out_byte(INT_S_CTLMASK, in_byte(INT_S_CTLMASK) & ~(1 << irq));
;	}
;
enable_irq:
        mov	ecx, [esp + 4]		; irq
        pushf
        cli
        mov	ah, ~1
        rol	ah, cl			; ah = ~(1 << (irq % 8))
        cmp	cl, 8
        jae	enable_8		; enable irq >= 8 at the slave 8259
enable_0:
        in	al, INT_M_CTLMASK
        and	al, ah
        out	INT_M_CTLMASK, al	; clear bit at master 8259
        popf
        ret
enable_8:
        in	al, INT_S_CTLMASK
        and	al, ah
        out	INT_S_CTLMASK, al	; clear bit at slave 8259
        popf
        ret

; ========================================================================
;                  void disable_int();
; ========================================================================
disable_int:
	cli
	ret

; ========================================================================
;                  void enable_int();
; ========================================================================
enable_int:
	sti
	ret

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
三级不卡在线观看| 99久免费精品视频在线观看 | 日本精品一区二区三区高清| 麻豆高清免费国产一区| 亚洲黄色尤物视频| 精品91自产拍在线观看一区| 欧美性受极品xxxx喷水| 懂色中文一区二区在线播放| 日韩精品国产精品| 亚洲综合色噜噜狠狠| 亚洲国产精品精华液ab| 日韩欧美视频一区| 欧美电影在哪看比较好| 欧洲另类一二三四区| 成人教育av在线| 国产精品小仙女| 狠狠色丁香久久婷婷综合_中| 亚洲午夜av在线| 亚洲情趣在线观看| 国产精品久久久久久久午夜片 | 欧美国产综合色视频| 日韩精品一区二区三区四区视频 | 欧美日韩不卡一区| 91久久精品一区二区三区| 成人av在线看| 成人精品视频一区| 国产盗摄视频一区二区三区| 激情欧美一区二区| 久久成人免费日本黄色| 免费精品视频最新在线| 欧美96一区二区免费视频| 日日摸夜夜添夜夜添国产精品 | 欧美一区二区三区人| 欧美综合视频在线观看| 色欧美片视频在线观看在线视频| 成a人片亚洲日本久久| av在线一区二区| 99精品桃花视频在线观看| 国产成人高清视频| 成人黄色小视频| av不卡免费在线观看| av资源网一区| 色呦呦日韩精品| 在线精品视频免费播放| 欧美乱妇23p| 欧美成人女星排名| 久久久久国产一区二区三区四区 | 91在线丨porny丨国产| 色婷婷综合久久久久中文一区二区 | 成人动漫中文字幕| 99re这里都是精品| 欧美三级午夜理伦三级中视频| 欧美日韩亚洲综合一区| 日韩一区二区在线观看视频| 久久久噜噜噜久久中文字幕色伊伊| 国产夜色精品一区二区av| 国产精品久久一卡二卡| 亚洲一二三区视频在线观看| 午夜亚洲国产au精品一区二区| 免费观看日韩电影| 国产福利不卡视频| 色94色欧美sute亚洲13| 欧美丰满嫩嫩电影| 久久久精品欧美丰满| 亚洲欧洲一区二区三区| 三级在线观看一区二区| 国产一区二区免费看| 91小视频免费观看| 91精品国产品国语在线不卡| 国产亚洲一本大道中文在线| 亚洲精品老司机| 激情久久久久久久久久久久久久久久| 国产成人aaa| 欧美精品第1页| 国产欧美日韩三级| 亚洲国产精品一区二区www| 激情欧美日韩一区二区| 在线观看不卡一区| 久久伊人中文字幕| 一区二区三区在线高清| 美日韩一级片在线观看| av电影在线观看不卡| 欧美一级二级三级乱码| 国产精品久久久久aaaa樱花| 日韩黄色免费电影| 99久久伊人精品| 日韩午夜在线观看视频| 亚洲少妇屁股交4| 美日韩一区二区三区| 色素色在线综合| 国产日本欧美一区二区| 日韩av不卡在线观看| 99re热这里只有精品免费视频| 日韩欧美国产电影| 亚洲精品免费看| 盗摄精品av一区二区三区| 日韩欧美一级二级三级久久久| 中文字幕一区二区三区视频| 国产自产v一区二区三区c| 欧美二区乱c少妇| 亚洲最新视频在线观看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 精品一区二区三区免费播放| 色噜噜狠狠成人中文综合| 国产欧美精品国产国产专区| 蜜臀精品一区二区三区在线观看 | 成人激情综合网站| 26uuuu精品一区二区| 亚洲成人资源在线| 在线看国产一区二区| 最新日韩在线视频| 国产一区二区网址| 精品久久久久久久久久久久久久久久久| 亚洲麻豆国产自偷在线| 不卡高清视频专区| 国产亚洲视频系列| 国产精品一二二区| 精品av久久707| 美女看a上一区| 欧美一区二区三区啪啪| 天堂一区二区在线免费观看| 欧美午夜在线观看| 亚洲福利视频一区二区| 91精品福利在线| 一区二区欧美精品| 欧美午夜影院一区| 亚洲成人av一区二区三区| 欧美午夜一区二区三区| 亚洲一级电影视频| 欧美日韩视频第一区| 亚洲午夜视频在线观看| 欧美体内she精视频| 亚洲国产精品综合小说图片区| 欧美日韩视频不卡| 天堂va蜜桃一区二区三区漫画版 | 亚洲欧美日韩系列| 99国产麻豆精品| 亚洲精品国产无天堂网2021 | 久久久综合精品| 国产成人一区二区精品非洲| 久久精品亚洲麻豆av一区二区 | 美女在线视频一区| 精品久久一区二区| 国产成人精品免费一区二区| 中文字幕免费不卡| 色综合久久九月婷婷色综合| 亚洲曰韩产成在线| 欧美一区二区免费| 国产麻豆精品一区二区| 国产精品三级久久久久三级| 99国产精品国产精品毛片| 亚洲一区二三区| 欧美一级高清大全免费观看| 国产在线不卡一卡二卡三卡四卡| 国产拍揄自揄精品视频麻豆| 91日韩精品一区| 五月婷婷综合在线| 精品理论电影在线观看| 成人午夜短视频| 亚洲一区二区三区免费视频| 欧美一级高清片在线观看| 成人中文字幕合集| 亚洲成av人片一区二区梦乃| 日韩美女在线视频| 99久久精品一区二区| 亚洲成人你懂的| 国产三级精品在线| 91黄色免费网站| 国产在线精品一区二区| 最新国产の精品合集bt伙计| 欧美美女直播网站| 国产精品一卡二卡在线观看| 一区二区三区在线观看国产| 精品福利一区二区三区 | 成人免费毛片a| 亚洲福利一二三区| 欧美极品另类videosde| 在线观看国产精品网站| 国产一区二区三区日韩| 一卡二卡三卡日韩欧美| 久久久久综合网| 7777女厕盗摄久久久| 成人黄色片在线观看| 蜜臀va亚洲va欧美va天堂| 国产精品久久网站| 日韩一区二区免费视频| 色老综合老女人久久久| 国产在线精品一区二区夜色| 亚洲成人免费影院| 综合激情成人伊人| 精品国产91久久久久久久妲己 | 99精品欧美一区二区三区小说 | 风流少妇一区二区| 首页国产欧美日韩丝袜| 国产精品二区一区二区aⅴ污介绍| 91精品国产手机| 欧美专区日韩专区| 成人免费av网站| 国产一区二区三区在线观看精品| 三级欧美在线一区|