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

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

?? dosexe.asm

?? 操作系統實驗教程核心技術與編程實例書中地例子代碼
?? ASM
字號:
;程序文件:\TC\G\DOSEXE_P.ASM 清單
.MODEL HUGE
.386P
include \tc\g\include\g_def.asm   ; 描述符結構、常量、宏定義,清單見程序1-1
include \tc\g\include\tos_seg.asm ; 定義TOS堆棧段TOS_STACKSEG與TOS任務狀態段TOS_TSSSEG
                                  ; 清單見程序1-2
include \tc\g\include\ps_seg.asm  ; U.EXE任務的各段:堆棧段、任務狀態段、LDT表
TOS_CODESEG SEGMENT PARA USE16    ; TOS操作系統的代碼段
            ASSUME CS:TOS_CODESEG,DS:DATA,SS:TOS_STACKSEG
TOS_BEGIN:   
            TOS_BEGIN0            ; TOS任務初始處理,在包含\tc\g\include\g_def.asm文件中
;JMP TURN_TO_REAL_MODE 
            MOV CX,08D0H          ; 清屏
            MOV BX,0              ;ds:tos_data fs:data
scr1:       MOV ES:[BX],0720H
            ADD BX,2
            LOOP scr1
;JMP TURN_TO_REAL_MODE 
            call disp_TOS_in_tos  ; 顯示U.EXE的LDT表和開頭部分內容,本書未給清單
;JMP TURN_TO_REAL_MODE 
            MOV AH,9              ; 顯示"This is a protect_mode program!"
            MOV CX,0205H ;15 row 21 column
            MOV DX,OFFSET TEST_MSG
            INT 21H

;JMP TURN_TO_REAL_MODE 

            MOV BX,USER_PsLDT_SEL
            LLDT BX
            ;*** 將c_buffer(放U.EXE)中內容? g_buf
            MOV ECX,0
            MOV CX,FS:C_BUF_SIZE
            MOV EAX,OFFSET C_BUFFER
            MOV ESI,EAX
            MOV EDI,DS:G_BUF_SUM

MOVE_BUF1:  MOV AL,FS:[ESI]        ;移到g_buf,C_BUF_SIZE:文件大小 
            MOV GS:[EDI],AL
            INC EDI
            INC ESI
            LOOP MOVE_BUF1
            ;**********************開始處理 U.EXE
            MOV AX,TOS_DATA_SEL
            MOV DS,AX             ;TOS系統數據段
            MOV AX,G_BUF_SEL      
            MOV GS,AX             ;.exe(g_buf) 段,EXE頭+程序
            MOV AX,USER_PS_SEL    ;GDT中USER_PS的首址
            SUB AX,04H
            CALL G_EXEC           ;重定位,創建段表,開始2字節<>4D5AH,則不是DOS .exe 
;JMP TURN_TO_REAL_MODE 
            CMP AX,1              ; 
            JZ  ERR_EXEFIL
            ;**********************設置U.EXE的任務狀態段 
            MOV BL,DS:G_WORK[4]
            MOV BH,DS:G_WORK[5]
            MOV CL,DS:G_WORK[6]
            MOV CH,DS:G_WORK[7]
            push fs
            mov ax,USER_PsTSS_D_SEL
            mov fs,ax
            mov fs:USER_Ps_TASK.TREIP,cx
            mov fs:USER_Ps_TASK.TREIP+2,0
            mov fs:USER_Ps_TASK.TRCS,USER_PS_SEL
;此處略去:顯示U.EXE的代碼段選擇子與ip 的程序,請見光盤
            ;;;;;disp cs ip   disable in book
            mov ax,cx
            mov cx,0E16H
            call disp_ax
            MOV AH,9
            MOV CX,0E10H ;15 row 21 column
            MOV DX,OFFSET TEST_IP     ;"IP: "
            INT 21H
            MOV AH,9
            MOV CX,0E00H ;10 row 00 column
            MOV DX,OFFSET TEST_CS     ;"CS: "
            INT 21H
            mov ax,user_ps_SEL
            mov cx,0E06H
            call disp_ax
            ;;;;;disp cs ip   disable in book

            mov fs:USER_Ps_TASK.TRCS+2,0
            mov fs:USER_Ps_TASK.TREFLAG,0
            mov fs:USER_Ps_TASK.TRLDT,USER_PsLDT_SEL
            mov fs:USER_Ps_TASK.TRLDT+2,0
            mov fs:USER_Ps_TASK.trcr3,0
            mov al,ds:g_WORK

            mov ah,ds:g_WORK[1]
            mov fs:USER_Ps_TASK.TRDS,14h
            mov fs:USER_Ps_TASK.TRDS+2,0
            mov fs:USER_Ps_TASK.TRES,G_VRAM_SEL
            mov fs:USER_Ps_TASK.TRES+2,0
            mov fs:USER_Ps_TASK.TRSS0,AX
            mov fs:USER_Ps_TASK.TRSS0+2,0
            mov fs:USER_Ps_TASK.TRSS,AX
            mov fs:USER_Ps_TASK.TRSS+2,0
            mov al,ds:g_WORK[2]
            mov ah,ds:g_WORK[3]
            mov fs:USER_Ps_TASK.TRESP0,AX
            mov fs:USER_Ps_TASK.TRESP0+2,0
            mov fs:USER_Ps_TASK.TRESP,AX
            mov fs:USER_Ps_TASK.TRESP+2,0
            mov fs:USER_Ps_TASK.TRFLAG,0
            pop fs
            call disp_ldt_head       ; 顯示U.EXE的LDT表和重定位后的開頭部分,在
; \tc\g\include\reposit.asm中,本書中未給出該過程的程序,請見光
;盤 

            DB 0EAH                  ;通過U.EXE的任務狀態段,執行U.EXE
            DW 0 
            dw USER_PsTSS_SEL
COMEBACK_TO_TOS:
            JMP TURN_TO_REAL_MODE 
ERR_EXEFIL:
            MOV AH,9
MOV CX,1100H 
MOV DX,OFFSET ERR_EXEFILE
            INT 21H    
TURN_TO_REAL_MODE:
            call turn_to_real                  ;返回實模式,在\tc\g\include\tos_used.asm
;中
            include \tc\g\include\tos_used.asm ;
            include \tc\g\include\reposit0.asm  ;
TOS_CODELEN = $
TOS_CODESEG ENDS

GDTSEG      SEGMENT PARA USE16              ;全局描述符表
GDT         LABEL BYTE
G_NULL      GDT_DESC <>
REAL_SEG    GDT_DESC <0FFFFH,0,0,92H,0,0>
REAL_SEL    = REAL_SEG - GDT
GDT_INIT_BEGIN LABEL BYTE
TOS_CODE    GDT_DESC <0FFFFH,TOS_CODESEG,0,9AH,0,0> ;9AH=exec/read ,DPL=0
            ;limit must be 0ffffh for returnning to real_mode
TOS_CODE_SEL = TOS_CODE - GDT
TOS_DATA    GDT_DESC <DATA_TOSLEN,DATA_TOS,0,92H,0,0> ;92H=P ,DPL=0,TYPE=2
TOS_DATA_SEL = TOS_DATA - GDT
TOS_STACK   GDT_DESC <TOS_STACKLEN,TOS_STACKSEG,0,93H,0,0>   ;96H=R/W ,DOWN
TOS_STACK_SEL = TOS_STACK - GDT
TOS_TSS     GDT_DESC <TOS_TSSLEN,TOS_TSSSEG,0,089H,0,0> ;89H=386TSS DPL=0
TOS_TSS_SEL  = TOS_TSS - GDT
USER_PsTSS     GDT_DESC <USER_PsTSSLEN,USER_PsTSSSEG,0,089H,0,0> ;9AH=exec/read ,DPL=0
USER_PsTSS_SEL  = USER_PsTSS - GDT
USER_PsTSS_D     GDT_DESC <USER_PsTSSLEN,USER_PsTSSSEG,0,92H,0,0> ;9AH=exec/read ,DPL=0
USER_PsTSS_D_SEL  = USER_PsTSS_D - GDT
USER_PsLDTT     GDT_DESC <USER_PsLDTLEN,USER_PsLDTSEG,0,82H,0> ;82H=LDT
USER_PsLDT_SEL = USER_PsLDTT - GDT
GDT_ASDATA  GDT_DESC <GDTLEN,GDTSEG,0,92H,0,0>
IDT         GDT_DESC <IDTLEN,IDTSEG,0,92H,0,0> ;92H=P ,DPL=0,TYPE=2
IDT_SEL     =  IDT - GDT
GDT_ASDATA_SEL = $ - GDT
USER_PsLDTT_ASDATA  GDT_DESC <USER_PsLDTLEN,USER_PsLDTSEG,0,92H,0,0>
USER_PsLDTt_ASDATA_SEL = USER_PsLDTT_ASDATA - GDT ;+ 04H
DATASEG     GDT_DESC <DATALEN,DATA,0,92H,0,0> ;92H=P ,DPL=0,TYPE=2
DATA_SEL    = DATASEG - GDT
GDT_INIT_COUNT  = ($ - GDT_INIT_BEGIN)/(SIZE GDT_DESC)
G_VRAM      GDT_DESC <0FFFFH,08000H,0BH,92H,0,0>   ;92H=P ,DPL=0,TYPE=2
G_VRAM_SEL   =  G_VRAM - GDT  ;60h
G_BUF       GDT_DESC <0FFFFH,0,40H,92H,0,0> ;92H=P ,DPL=0,TYPE=2 ,base=4M
G_BUF_SEL    = G_BUF - GDT
V_TOS_CODE_SEL = $
V_TOS_DATA_SEL = $
GDTLEN      = $ - GDT
GDTSEG      ENDS
            include \tc\g\include\COS_DATA.asm
            include \tc\g\include\COS_IDT0.asm
;*************************************************TOS above
CODE        SEGMENT PARA USE16 ;PUBLIC 'CODE'  ;實模式代碼段
            ASSUME CS:CODE,DS:DATA,SS:STACK
            include \tc\g\include\a20.asm      ;見程序1-1
MAIN        PROC FAR
START:      
            REAL_BEGIN_PAGE  ;*******         ;在\tc\g\include\g_def.asm中,見程序1-1
            call g_input_file                  ;輸入文件名,并將文件取到緩沖區c_buf,在
; \tc\g\include\g_real.asm中,見程序1-2
TURN_TO_PROTECT_MODE:
            CALL GDT_INIT       ;初始化GDT表,在\tc\g\include\g_real.asm中,見程序1-2
            CALL USER_Ps_LDT_INIT  ;初始化LDT表,在\tc\g\include\ps_ldt.asm中
TURN_TO_PROTECT_PAGE  ;*****進入TOS任務,在\TC\G\INCLUDE\G_DEF.ASM中,見程序1-1
REAL_MODE:  
TO_DOS                 ;回到DOS 在\TC\G\INCLUDE\G_DEF.ASM中,見程序1-1
MAIN        ENDP
include \tc\g\include\g_real.asm
include \tc\g\include\ps_ldt.asm
CODE        ENDS
include \tc\g\include\DOS_DATA.asm
            END START

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国模大尺度一区二区三区| 26uuu亚洲婷婷狠狠天堂| 国产成人在线色| 成人免费视频国产在线观看| 国产成人综合在线观看| 不卡av电影在线播放| 色综合中文字幕国产 | 国产欧美在线观看一区| 国产精品福利av| 婷婷开心激情综合| 久久精品国产精品亚洲精品| 国产一区二区在线电影| 7878成人国产在线观看| 26uuu亚洲| 91精品国产品国语在线不卡| 欧美精品粉嫩高潮一区二区| 精品国产网站在线观看| 国产精品久久毛片| 麻豆成人综合网| 91免费国产视频网站| 国产亚洲一区二区在线观看| 亚洲美女区一区| 国产高清久久久| 2017欧美狠狠色| 亚洲午夜免费电影| www激情久久| 亚洲精品欧美综合四区| 国产福利91精品| 久久久久久久久久久电影| 亚洲一区二区三区影院| 色综合天天综合网天天看片| 久久久一区二区三区| 国产乱码精品一区二区三区忘忧草| 在线精品观看国产| 亚洲欧洲国产日本综合| 高潮精品一区videoshd| 国产蜜臀av在线一区二区三区 | 在线不卡a资源高清| 天堂久久久久va久久久久| 欧美一级二级三级蜜桃| 国产一区二区三区综合| 中文字幕成人网| 在线视频一区二区三| 日韩精品电影一区亚洲| 精品国产成人系列| 99热精品一区二区| 亚洲国产精品视频| 欧美一区二区三区免费大片| 精品亚洲国内自在自线福利| 国产蜜臀97一区二区三区| 在线中文字幕不卡| 精品一区二区三区在线观看| 国产精品沙发午睡系列990531| 色婷婷激情久久| 国产主播一区二区| 日韩电影免费在线看| 亚洲三级在线免费观看| 日韩欧美电影一区| 欧美日韩大陆在线| 成人综合在线观看| 国内精品不卡在线| 五月天激情小说综合| 亚洲乱码国产乱码精品精98午夜| 欧美一区二区三区影视| 欧美日韩免费高清一区色橹橹| 成人精品一区二区三区四区| 麻豆91精品视频| 日本色综合中文字幕| 五月天精品一区二区三区| 一区二区三区欧美在线观看| 亚洲人123区| 国产人妖乱国产精品人妖| 日韩欧美视频一区| 3d成人h动漫网站入口| 日韩一区二区三区av| 日韩欧美一区在线| 中文幕一区二区三区久久蜜桃| 久久精品无码一区二区三区| 亚洲综合激情小说| 日韩专区在线视频| 看电影不卡的网站| 高清不卡在线观看| 不卡一区二区三区四区| 91久久一区二区| 制服丝袜中文字幕亚洲| 精品国产sm最大网站| 中文字幕高清一区| 亚洲午夜免费福利视频| 九九视频精品免费| 91高清在线观看| 91精品久久久久久久久99蜜臂| 国产高清精品在线| av爱爱亚洲一区| 精品入口麻豆88视频| 亚洲天堂av一区| 国产99久久久精品| 欧美一区二区免费观在线| 久久久久久久电影| 日本不卡在线视频| 欧美日韩一区二区在线视频| 国产女人18水真多18精品一级做| 亚洲激情男女视频| 色8久久人人97超碰香蕉987| 日韩一区二区三区精品视频| 亚洲国产精品视频| 欧美色中文字幕| 亚洲午夜久久久久| 欧亚一区二区三区| 亚洲成国产人片在线观看| 91麻豆高清视频| 亚洲日本在线看| 在线免费亚洲电影| 一区二区三区日本| 91国产丝袜在线播放| 1024国产精品| 欧美日韩精品免费观看视频| 天天色综合天天| 欧美xxxxx牲另类人与| 国产精品一品视频| 一个色综合av| 69精品人人人人| 国产成人午夜精品5599| 亚洲另类春色国产| 日韩欧美不卡一区| 91亚洲大成网污www| 日韩精品电影在线| 欧美国产精品中文字幕| 在线看国产一区| 国产精品中文字幕日韩精品| 中文字幕制服丝袜成人av| 欧美日韩国产另类不卡| 豆国产96在线|亚洲| 视频一区欧美精品| 国产精品免费丝袜| 国产亚洲一区二区在线观看| 欧美在线色视频| 99r国产精品| 国产.精品.日韩.另类.中文.在线.播放 | 综合激情成人伊人| 精品成人私密视频| 91精品国产综合久久精品| 91性感美女视频| 91麻豆国产在线观看| 国产福利精品一区| 国产一区二区精品久久99| 日韩电影免费在线| 国产剧情av麻豆香蕉精品| 亚洲成a人片综合在线| 一区二区视频免费在线观看| 国产精品乱人伦| 亚洲乱码国产乱码精品精可以看 | 成人美女视频在线看| 国产资源在线一区| av在线播放不卡| 在线看国产一区| 日韩精品一区国产麻豆| 日韩精品最新网址| 国产欧美精品一区aⅴ影院| 国产视频一区二区在线| 中文字幕国产一区| 午夜免费久久看| 黄网站免费久久| 色拍拍在线精品视频8848| 欧美视频你懂的| 欧美国产精品v| 亚洲成人av中文| 成人avav影音| 精品国偷自产国产一区| 亚洲免费电影在线| 激情小说欧美图片| 在线视频国内一区二区| 久久美女艺术照精彩视频福利播放 | 精品国产一区二区三区四区四| 久久婷婷一区二区三区| 亚洲嫩草精品久久| 国产成人8x视频一区二区| 欧美日韩一区二区电影| 最新日韩av在线| www..com久久爱| 国产午夜亚洲精品理论片色戒| 日韩激情一二三区| 欧美色视频一区| 亚洲一区二区在线免费看| 成人午夜激情视频| 国产精品妹子av| 国产黑丝在线一区二区三区| 久久亚洲私人国产精品va媚药| 麻豆视频一区二区| 欧美刺激午夜性久久久久久久| 亚洲国产成人高清精品| 欧美人狂配大交3d怪物一区| 午夜影视日本亚洲欧洲精品| 色妞www精品视频| 亚洲色图视频网| 欧美视频一二三区| 精品制服美女丁香| 国产欧美精品区一区二区三区| 成人精品在线视频观看| 一区二区在线观看av| 91精品国产综合久久久蜜臀图片|