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

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

?? p_os.asm

?? 操作系統實驗教程核心技術與編程實例書中地例子代碼
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;中文操作系統,演示中斷系統,漢字顯示,任務切換功能與分頁模式。
;By 潘龍平/nuaa/08990115
;Date:6/18/2002
;顯示模式為800*600 16色
;包含文件有:P_BASE_DEF.ASM,P_USER_1.ASM,INITLDT.ASM
;            P_2.ASM,P_INT_SEV1.ASM
;其他用到的文件有 D:\HZK16,D:\FENBIN

;===============================================================

.MODEL HUGE
.386P
INCLUDE P_BASE.ASM

REAL_STACK SEGMENT STACK PARA 'STACK'
		DB 200H DUP(0)
REAL_STACK_LEN  EQU $
REAL_STACK ENDS

REAL_DATA       SEGMENT

SAVE_GDT        DW 4 DUP(0)
SAVE_IDT        DW 4 DUP(0)
SAVE_SS         DW 0
SAVE_SP         DW 0
GDT_SIZE        DW 0
GDT_ADDR        DW 0,0
IDT_SIZE        DW 0
IDT_ADDR        DW 0,0
USER1_LDT_SIZE  DW 0
USER1_LDT_ADDR  DW 0,0

C_BUF_SIZE      DW 0                    ;讀漢字庫文件時用
G_BUF_SUM       DD 0
C_BUFFER        DB 1024 DUP(?)

HZKNAME         DB 'D:\HZK16',0         ;漢字庫文件
HZK_HANDLE      DW 0                    ;漢字庫文件的句柄
HZK_OVER        DB 0                    ;讀漢字庫文件已結束
ERR_OPEN_HZK    DB 'Can not open the file Chinese fonts file$',0
					;打開漢字庫文件出錯信息

OK_MSG          DB 0DH,0AH,'HAVE RETURNED TO DOS,HAVE A NICE DAY,BYE!$'

REAL_DATA_LEN   EQU $
REAL_DATA ENDS

REAL_CODE SEGMENT WORD PUBLIC 'CODE'
	ASSUME CS:REAL_CODE,DS:REAL_DATA,SS:REAL_STACK
START:
	MOV AX,REAL_DATA
	MOV DS,AX
	CLI
	MOV AX,REAL_STACK
	MOV SS,AX
	MOV AX,REAL_STACK_LEN
	MOV SP,AX

	MOV AX,OS_DATA
	MOV DS,AX
	MOV ES,AX
	MOV CX,6400             ;加載圖片到內存ES:SI
	MOV SI,OFFSET OS_BMPBUF
	MOV DX,OFFSET OS_BMPNAME
	CALL LOAD_PIC
	CMP AL,0
	JZ LBL_LOAD_PIC_SUC
	MOV AH,9
	MOV DX,OFFSET LOAD_BMP_ERR
	INT 21H
	MOV AH,4CH                      ;退出程序
	INT 21H
LBL_LOAD_PIC_SUC:
	MOV AX,1130H            ;將字符集移到OS_DATA開始處
	MOV BH,6
	INT 10H                 ;取得字符集的地址ES:BP
	MOV CX,2048
	MOV DI,0
MOVE_CHAR_SET:
	MOV AL,ES:[BP]
	MOV DS:[DI],AL          
	INC DI
	INC BP
	LOOP MOVE_CHAR_SET

	MOV AX,REAL_DATA
	MOV DS,AX
	MOV ES,AX
	CALL INIT_IDT           ;初始化中斷描述符表
	CALL INIT_GDT           ;初始化全局描述符表
	CALL INIT_LDT           ;初始化局部描述符表

	MOV AX,4F02H            ;進入600*800 16色模式
	MOV BX,102H
	INT 10H

;//////////////////////////////
;讀漢字庫文件到高端內存4M處
	MOV AH,3DH                      
	MOV DX,OFFSET HZKNAME
	MOV AL,0
	INT 21H
	JNC LBL_OPEN_HZK_SUC
	MOV AX,3
	INT 10H
	MOV AH,9                        ;打開漢字庫文件出錯
	MOV DX,OFFSET ERR_OPEN_HZK
	INT 21H
	MOV AH,4CH                      ;退出程序
	INT 21H
LBL_OPEN_HZK_SUC:
	MOV DS:HZK_HANDLE,AX
READ_HZK:
	MOV DS:SAVE_SS,SS
	MOV DS:SAVE_SP,SP
	SGDT FWORD PTR SAVE_GDT
	SGDT FWORD PTR SAVE_GDT
	MOV BX,DS:HZK_HANDLE
	MOV CX,1024
	MOV DX,OFFSET C_BUFFER
	MOV AH,3FH
	INT 21H
	JNC READ_HZK1
	MOV AX,0
	MOV DS:C_BUF_SIZE,AX
	MOV DS:HZK_OVER,1               ;文件已讀完
	MOV AH,3EH
	INT 21H                         ;關閉漢字庫文件
	JMP PROTECT_MODE
READ_HZK1:
	MOV DS:C_BUF_SIZE,AX            ;AX為讀出的實際長度
	CMP AX,1024
	JNL PROTECT_MODE                
	MOV DS:HZK_OVER,1               ;文件已讀完
	MOV BX,DS:HZK_HANDLE
	MOV AH,3EH
	INT 21H                         ;關閉漢字庫文件
PROTECT_MODE:
	MOV AX,REAL_DATA
	MOV DS,AX
	MOV AX,REAL_STACK
	MOV SAVE_SS,AX
	MOV SAVE_SP,SP
	SGDT FWORD PTR SAVE_GDT
	SIDT FWORD PTR SAVE_IDT
	CLI
	LGDT FWORD PTR GDT_SIZE
	LIDT FWORD PTR IDT_SIZE
	OPEN_A20
	MOV EAX,CR0
	OR EAX,1
	MOV CR0,EAX
	JMP ENTER_PROTECT1
ENTER_PROTECT1:
	DB 0EAH
	DW OFFSET ENTER_PROTECT2
	DW REAL_CODE_SEL
ENTER_PROTECT2:
	MOV AX,REAL_DATA_SEL
	MOV FS,AX
	MOV AX,HZK_BUF_SEL
	MOV GS,AX

	CMP FS:C_BUF_SIZE,0
	JE REAL_MODE
	MOV ECX,0
	MOV CX,FS:C_BUF_SIZE
	MOV EAX,OFFSET C_BUFFER
	MOV ESI,EAX
	MOV EDI,FS:G_BUF_SUM
MOVE_BUF1:
	MOV AL,FS:[ESI]
	MOV GS:[EDI],AL
	INC EDI
	INC ESI
	LOOP MOVE_BUF1

	MOV FS:G_BUF_SUM,EDI
REAL_MODE:
	CLI
	MOV EAX,CR0
	AND EAX,0FFFFFFFEH
	MOV CR0,EAX
	JMP ENTER_REAL1
ENTER_REAL1:
	DB 0EAH
	DW OFFSET ENTER_REAL2
	DW REAL_CODE
ENTER_REAL2:
	CLOSE_A20
	MOV AX,REAL_DATA
	MOV DS,AX
	LGDT FWORD PTR SAVE_GDT
	LIDT FWORD PTR SAVE_IDT
	CLI
	MOV SS,SAVE_SS
	MOV SP,SAVE_SP
	STI

	CMP DS:HZK_OVER,1
	JNE READ_HZK                    ;繼續讀漢字庫文件

;讀漢字庫結束
;///////////////////////////////

	TURN_TO_PROTECT                 ;轉入保護模式,進入操作系統
LBL_TO_REAL:
	RETURN_TO_REAL_1                ;從操作系統返回實模式


	MOV AX,3
	INT 10H

	LEA DX,OK_MSG                   ;顯示返回提示信息
	MOV CX,0C00H
	MOV AH,9
	INT 21H

	MOV AH,4CH                      ;結束程序,返回DOS
	INT 21H

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

;****************INIT_IDT開始********************
INIT_IDT   PROC  FAR            ;初始化 IDT
	PUSH DS
	MOV AX,IDT_SEG
	MOV DS,AX

	MOV DI,OFFSET IDT21
	MOV AX,OFFSET SERVE_INT21
	MOV DS:[DI].STRUCT_GATE.OFFSET_L,AX
	POP DS

	XOR DX,DX
	MOV CX,16
	MOV AX,IDT_SEG
	MUL CX
	ADC DX,0
	MOV IDT_SIZE,IDT_LEN
	MOV IDT_ADDR,AX
	MOV IDT_ADDR+2,DX
	RET
INIT_IDT   ENDP
;++++++++++++++++INIT_IDT結束+++++++++++++++++++
;---------------------------------------------------------------
;****************INIT_GDT開始********************
INIT_GDT   PROC  FAR            ;初始化 GDT
	PUSH DS
	MOV AX,GDT_SEG
	MOV DS,AX

	MOV SI,OFFSET GDT_INIT_BEGIN
	MOV CX,GDT_INIT_COUNT
INIT_GDT_LBL1:
	MOV AX,[SI].STRUCT_SEG.BASE_L
	MOVZX EAX,AX
	SHL EAX,4
	SHLD EDX,EAX,16
	MOV [SI].STRUCT_SEG.BASE_L,AX
	MOV [SI].STRUCT_SEG.BASE_M,DL
	MOV [SI].STRUCT_SEG.BASE_H,DH
	ADD SI,SIZE STRUCT_SEG
LOOP INIT_GDT_LBL1
	POP DS

	XOR DX,DX
	MOV CX,16
	MOV AX,GDT_SEG
	MUL CX
	MOV GDT_SIZE,GDT_LEN
	MOV GDT_ADDR,AX
	MOV GDT_ADDR+2,DX
	RET
INIT_GDT   ENDP
;++++++++++++++++INIT_GDT結束+++++++++++++++++++

;加載圖片到內存ES:SI
;DS:DX圖片名稱(包括路徑)
;CX讀的字節數
;如果成功則AX=0,否則AX=-1
LOAD_PIC PROC   FAR
	PUSH DS
	PUSH CX
	PUSH DX

	MOV AH,3DH
	MOV AL,0
	INT 21H
	JC LOAD_PIC_FAILED

	PUSH ES
	POP  DS
	MOV  DX,SI
	MOV BX,AX
	MOV AH,3FH
	INT 21H
	JC LOAD_PIC_FAILED

	MOV AH,3EH
	INT 21H
	JC LOAD_PIC_FAILED

	MOV AX,0
	JMP LOAD_PIC_EXIT
	LOAD_PIC_FAILED:
	MOV AX,0FFH     
LOAD_PIC_EXIT:
	POP DX
	POP CX
	POP DS
	RET
LOAD_PIC ENDP


INCLUDE INITLDT.ASM      ;;初始化局部描述符表的過程

REAL_CODE ENDS

;**************保護模式下的堆棧段開始*************

OS_STACK SEGMENT STACK PARA USE16
	DB 4096 DUP(0)
	OS_STACK_LEN EQU $
OS_STACK ENDS
;++++++++++++++保護模式下的堆棧段結束+++++++++++++++
;---------------------------------------------------------------
;**************保護模式下的數據段開始***************

OS_DATA SEGMENT PARA USE16
ASC_CHAR        DB 2048 DUP(0)          ;英文字符集

V_GDT_SIZE      DW GDT_LEN      ;分頁時的GDT大小
V_GDT_ADDR      DW 0,0          ;分頁時的GDT地址
V_IDT_SIZE      DW IDT_LEN      ;分頁時的IDT大小
V_IDT_ADDR      DW 0,0          ;分頁時的IDT地址

P_GDT_SIZE      DW 0            ;分頁前保存的GDT大小
P_GDT_ADDR      DW 0,0          ;分頁前保存的GDT地址
P_IDT_SIZE      DW 0            ;分頁前保存的IDT大小
P_IDT_ADDR      DW 0,0          ;分頁前保存的IDT地址

OS_CODE_ADDR    DD 0
OS_STACK_ADDR   DD 0
OS_DATA_ADDR    DD 0

OS_BMPNAME      DB 'D:\FENBIN',0        ;位圖文件
OS_BMPBUF       DB 6400 DUP(?)          ;位圖的緩沖區
LOAD_BMP_ERR    DB 'Can not Open the BMP file!$'
					;打開BMP文件出錯信息

msg             db '中',0

MSG1_1          DB '您好,歡迎使用中文操作系統',0
MSG1_2          DB '您正在保護方式下調用21H中斷來清屏與顯示字符串',0
MSG1_3          DB '請按 A 鍵進入系統的一個任務。',0

USER1_MSG_1     DB '您已經從操作系統切換到任務1。',0
USER1_MSG_2     DB '請按 S 鍵返回操作系統,并進入分頁模式。',0

MSG2_1          DB '您已經進入了分頁模式',0
MSG2_2          DB '您正在分頁模式下調用中斷處理程序',0
MSG2_3          DB '請按 D 鍵關閉分頁模式,返回系統。',0

MSG3_1          DB '暑假快樂!',0
MSG3_2          DB '謝謝使用中文操作系統。',0
MSG3_3          DB '請按 F 鍵回到DOS操作系統。',0

MSG_PLP         DB '作者:潘龍平/08990115',0

OS_DATA_LEN EQU $
OS_DATA ENDS
;++++++++++++++保護模式下的數據段結束+++++++++++++++++++++++++++
;---------------------------------------------------------------
;**************保護模式下的任務狀態段開始***********************
OS_TSS   SEGMENT PARA USE16
	OS_TASK  STRUCT_TSS<>
	DB 0FFH
	OS_TSS_LEN EQU $
OS_TSS   ENDS
;++++++++++++++保護模式下的任務狀態段結束+++++++++++++++++++++++
;---------------------------------------------------------------
;**************OS代碼段開始*************************************
OS_CODE  SEGMENT PARA USE16
	 ASSUME CS:OS_CODE,DS:OS_DATA,SS:OS_STACK
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
OS_BEGIN:                               ;保護模式入口
	INIT_PROCTECT                   ;初始化保護模式

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲乱码国产乱码精品精的特点| 国产精品夜夜嗨| 麻豆国产精品视频| 国产精品一区二区在线观看不卡| 成人午夜大片免费观看| 91蜜桃在线免费视频| 欧美日韩国产精品自在自线| 2023国产一二三区日本精品2022| 91精品国产91热久久久做人人| 欧美日韩一区二区三区在线看| 国产喂奶挤奶一区二区三区| 国产片一区二区| 国产欧美精品一区| 中文字幕免费不卡在线| 欧美精品一区二区三区一线天视频| 欧美老肥妇做.爰bbww| 久久一留热品黄| 国产精品毛片a∨一区二区三区| 国产日韩欧美一区二区三区乱码| 青青草伊人久久| 天天免费综合色| 国产精品福利在线播放| 中文字幕在线不卡视频| 香蕉影视欧美成人| 国产+成+人+亚洲欧洲自线| 成人精品鲁一区一区二区| 香蕉久久夜色精品国产使用方法 | 日本aⅴ免费视频一区二区三区| 亚洲精品一线二线三线无人区| 欧美日韩一级二级| 欧美日韩一区不卡| 国产色婷婷亚洲99精品小说| 一区二区三区 在线观看视频| 男女男精品视频| 在线免费视频一区二区| 亚洲精品免费在线播放| 日韩午夜在线观看| 日本亚洲三级在线| 日韩va亚洲va欧美va久久| 日韩av电影一区| 91视频在线观看免费| 久久中文字幕电影| 亚洲成av人片一区二区| 99久久久久免费精品国产| 精品嫩草影院久久| 日日摸夜夜添夜夜添亚洲女人| av资源网一区| 久久午夜老司机| 免费一级片91| 欧美视频在线观看一区二区| 亚洲天堂中文字幕| 国产精品77777竹菊影视小说| 欧美高清性hdvideosex| 亚洲精品乱码久久久久久久久| 成人污视频在线观看| 精品久久久久久久一区二区蜜臀| 午夜精品久久久久久| 日本韩国欧美一区| 一区在线播放视频| 国产成人高清视频| 久久久蜜臀国产一区二区| 日韩av中文在线观看| 欧美视频中文一区二区三区在线观看| 亚洲欧洲日产国码二区| 国产xxx精品视频大全| 精品少妇一区二区三区在线视频| 日日摸夜夜添夜夜添国产精品| 欧美午夜精品久久久久久孕妇| 亚洲同性gay激情无套| 不卡一区二区在线| 国产精品三级在线观看| 成人一区二区三区视频在线观看| 亚洲精品在线观看网站| 久久不见久久见中文字幕免费| 制服丝袜亚洲精品中文字幕| 亚洲国产一区视频| 欧美无乱码久久久免费午夜一区| 亚洲素人一区二区| 91女人视频在线观看| 日韩一区在线免费观看| 91蜜桃在线免费视频| 亚洲欧美日韩电影| 一本到不卡免费一区二区| 亚洲免费观看高清完整版在线观看 | 国产精品网站在线播放| 成人永久免费视频| 国产精品视频观看| 91蜜桃视频在线| 一区二区三区在线视频播放| 97久久超碰国产精品| 亚洲午夜久久久久久久久久久| 91久久免费观看| 亚洲不卡av一区二区三区| 91精品国产一区二区| 经典一区二区三区| 久久久久久久久久久久久女国产乱| 国产成人精品免费在线| 亚洲三级电影网站| 欧美日高清视频| 老鸭窝一区二区久久精品| 精品91自产拍在线观看一区| 国产精品1区2区| 亚洲色图在线看| 欧美精品亚洲二区| 激情五月播播久久久精品| 国产精品网曝门| 欧美性大战久久| 美日韩一级片在线观看| 欧美韩国一区二区| 欧美视频一区二区三区在线观看| 三级欧美在线一区| 久久毛片高清国产| 91在线视频观看| 日韩av一区二区三区四区| 久久人人爽人人爽| 色婷婷综合在线| 美女网站视频久久| 国产精品久久影院| 欧美精品乱人伦久久久久久| 国产一区二区网址| 亚洲色图制服诱惑| 91精品国产综合久久婷婷香蕉| 国产成人精品亚洲777人妖| 亚洲综合色成人| 精品国产一二三区| 在线一区二区三区四区| 国内外成人在线| 亚洲人成亚洲人成在线观看图片| 欧美肥妇free| 成人精品gif动图一区| 亚洲1区2区3区4区| 国产欧美日韩亚州综合 | 中文字幕一区二区三区四区| 欧美日韩视频一区二区| 国产盗摄精品一区二区三区在线| 洋洋av久久久久久久一区| 精品久久久久久久久久久久包黑料 | 久久久精品免费网站| 国产欧美日本一区视频| 成人成人成人在线视频| 色悠悠久久综合| 亚洲精品一区二区三区香蕉| 国产精品免费aⅴ片在线观看| 伊人婷婷欧美激情| 精品中文av资源站在线观看| jiyouzz国产精品久久| 欧美一级淫片007| 国产精品超碰97尤物18| 久久国产视频网| 一区二区三区加勒比av| 蜜桃av一区二区三区| 亚洲欧美电影一区二区| 欧美大白屁股肥臀xxxxxx| 色狠狠一区二区三区香蕉| 国产一区二区伦理片| 偷窥少妇高潮呻吟av久久免费| 欧美国产日产图区| 精品国产乱码久久久久久浪潮| 欧美视频中文字幕| 97久久超碰国产精品电影| 国产成人鲁色资源国产91色综| 免费在线看一区| 亚洲国产wwwccc36天堂| 中文字幕在线观看一区二区| 欧美精品一区二区三区很污很色的| 欧美日韩日日骚| 色菇凉天天综合网| 波多野结衣中文一区| 国产精品1区2区3区| 国产一区二区三区免费观看 | 91女神在线视频| 成人午夜视频在线观看| 经典一区二区三区| 蜜乳av一区二区| 视频一区二区三区中文字幕| 依依成人综合视频| 亚洲欧美激情在线| 国产精品久久二区二区| 亚洲国产高清aⅴ视频| 久久亚洲综合色一区二区三区| 日韩你懂的在线观看| 欧美一区二区久久| 欧美一区二区三区男人的天堂| 欧美男生操女生| 欧美色图天堂网| 欧美日韩久久一区| 在线观看免费视频综合| 91久久精品网| 在线亚洲欧美专区二区| 欧美亚洲另类激情小说| 欧美性生活影院| 欧美精品1区2区| 日韩一区二区三区视频在线观看| 91精品国产综合久久久久久久久久| 欧美精品国产精品| 日韩三区在线观看| 精品国产免费一区二区三区香蕉| 精品国产伦一区二区三区免费| 2021国产精品久久精品| 久久久国产精品麻豆|