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

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

?? v86_used.asm

?? 操作系統實驗教程核心技術與編程實例書中地例子代碼
?? ASM
字號:
COS_INT08   PROC FAR
            PUSH EAX
            PUSH EBX
            PUSH ECX
            PUSH EDX
            PUSH GS
            PUSH FS
            PUSH ES
            PUSH DS
            MOV  EAX,ESP
            ADD  EAX,36
            PUSH EAX          ;ESP
            PUSH SS           ;ss
            PUSH ESI
            PUSH EDI
            PUSH EBP
            MOV AX,V86_DATA_GDT_SEL
            MOV FS,AX
            DEC BYTE PTR FS:[TIME_COUNT]
            MOV AL,0
            CMP BYTE PTR FS:[TIME_COUNT],AL
            JNZ INT08_11
            ; display time
            MOV BYTE PTR FS:[TIME_COUNT],18
            MOV BX,OFFSET COS_TIME
            ADD BX,7
            INC BYTE PTR FS:[BX]
            CMP BYTE PTR FS:[BX],3AH   ;SECOND 1
            JNZ INT08_2
            MOV BYTE PTR FS:[BX],30H
            DEC BX
            INC BYTE PTR FS:[BX]
            CMP BYTE PTR FS:[BX],36H   ;SECOND 10
            JNZ INT08_2
            MOV BYTE PTR FS:[BX],30H
            DEC BX
            DEC BX
            INC BYTE PTR FS:[BX]
            ;
            CMP BYTE PTR FS:[BX],3AH   ;MONUTE 1
            JNZ INT08_2
            MOV BYTE PTR FS:[BX],30H
            DEC BX
            INC BYTE PTR FS:[BX]
            CMP BYTE PTR FS:[BX],36H   ;MINUTE 10
            JNZ INT08_2
            MOV BYTE PTR FS:[BX],30H
            DEC BX
            DEC BX
            INC BYTE PTR FS:[BX]
            ;
            CMP WORD PTR FS:[BX-1],3234H   ;HOUR 24
            JNZ INT08_3
            MOV WORD PTR FS:[BX-1],3030H
            JMP INT08_2
INT08_3:    CMP WORD PTR FS:[BX],3AH      ;HOUR 1
            JNZ INT08_2
            MOV BYTE PTR FS:[BX],30H
            DEC BX
            INC BYTE PTR FS:[BX]
INT08_2:
            MOV AX,G_VRAM_SEL
            MOV ES,AX
            MOV AH,41H  
            MOV BX,OFFSET COS_TIME
            MOV AL,BYTE PTR FS:[BX]      ;HOUR10
            MOV WORD PTR ES:[3982],AX
            INC BX
            MOV AL,BYTE PTR FS:[BX]      ;HOUR10
            MOV WORD PTR ES:[3984],AX
            INC BX
            MOV AL,BYTE PTR FS:[BX]      ;:
            MOV WORD PTR ES:[3986],AX
            INC BX
            MOV AL,BYTE PTR FS:[BX]      ;MINUTE10
            MOV WORD PTR ES:[3988],AX
            INC BX
            MOV AL,BYTE PTR FS:[BX]      ;MINUTE1
            MOV WORD PTR ES:[3990],AX
            INC BX
            MOV AL,BYTE PTR FS:[BX]      ;:
            MOV WORD PTR ES:[3992],AX
            INC BX
            MOV AL,BYTE PTR FS:[BX]      ;SECOND10
            MOV WORD PTR ES:[3994],AX
            INC BX
            MOV AL,BYTE PTR FS:[BX]      ;SECOND1
            MOV WORD PTR ES:[3996],AX
            ; display time
INT08_1:
            MOV AX,V_TOS_DATA_SEL
            MOV DS,AX
            CMP BYTE PTR DS:[NEED_RESCHED],1
            JNZ INT08_11

;jmp int08_11    
;;;;;;1.    save to TSS of PCB
            MOV AX,V_PCB_SEL 
            MOV FS,AX
            MOV EBP,DS:[CURRENT]
;mov eax,ebp
;call disp_ax
            ; next for return to the procedure of before time_interrupt
            POP EAX ;EBP
            MOV FS:[EBP+138+60],EAX
            POP EAX ;EDI
            MOV FS:[EBP+138+68],EAX
            POP EAX ;ESI
            MOV FS:[EBP+138+64],EAX
            POP AX  ;;;;;;;;;;;;;;;;;;;;;;;;SS
            MOV FS:[EBP+138+80],EAX
            POP EAX ;;;;;;;;;;;;;;;;;;;;;;;;ESP
            MOV FS:[EBP+138+56],EAX
            POP AX ;DS
            MOV FS:[EBP+138+84],AX
            POP AX ;ES
            MOV FS:[EBP+138+72],AX
            POP AX ;FS
            MOV FS:[EBP+138+88],AX
            POP AX ;GS
            MOV FS:[EBP+138+92],AX
            POP EDX
            MOV FS:[EBP+138+48],EDX
            POP ECX
            MOV FS:[EBP+138+44],ECX
            POP EBX
            MOV FS:[EBP+138+52],EBX
            POP EAX
            MOV FS:[EBP+138+40],EAX
            POP EAX
            MOV FS:[EBP+138+32],EAX    ;EIP
            POP EAX
            MOV FS:[EBP+138+76],EAX    ;CS
            POP EAX
            MOV FS:[EBP+138+36],EAX    ;EFLAG
;;;;;;1.    save to TSS of PCB
            MOV AL,20H
            OUT 20H,AL
            MOV AX,V_TOS_CODE_SEL    ;turn to schedule
            MOVZX EAX,AX
            PUSH EAX
            MOV EAX,OFFSET SCHED
            PUSH EAX
            RETD

INT08_11:
            POP EBP
            POP EDI
            POP ESI
            POP SS
            POP EAX ;ESP         ;pop ss&esp:error
            POP AX  ;DS
            POP ES
            POP FS
            POP GS
            POP EDX
            POP ECX
            POP EBX

            MOV AL,20H
            OUT 20H,AL
            POP EAX
            IRETD
COS_INT08   ENDP


COS_TIME_INIT   PROC FAR
      PUSH FS
      MOV AX,V86_DATA_GDT_SEL
      MOV FS,AX
      MOV AX,G_VRAM_SEL
      MOV ES,AX
      MOV AH,02H 
      INT 8AH
      MOV BX,OFFSET COS_TIME
      MOV AH,41H  
      MOV AL,DH
      AND AL,00001111B
      ADD AL,30H
      MOV BYTE PTR FS:[BX+7],AL
      MOV AL,DH
      SHR AL,4
      ADD AL,30H
      MOV BYTE PTR FS:[BX+6],AL
      MOV AL,CL
      AND AL,00001111B
      ADD AL,30H
      MOV BYTE PTR FS:[BX+4],AL
      MOV AL,CL
      SHR AL,4
      ADD AL,30H
      MOV BYTE PTR FS:[BX+3],AL
      MOV AL,CH
      AND AL,00001111B
      ADD AL,30H
      MOV BYTE PTR FS:[BX+1],AL
      MOV AL,CH
      SHR AL,4
      ADD AL,30H
      MOV BYTE PTR FS:[BX],AL
      POP FS
      RET
COS_TIME_INIT ENDP

COS_DOSINT  PROC FAR
            ; 10H02/03 13H02/03 16H10 21H09 21H0A
COS_DOSINT10:
            PUSH EBP
            MOV BP,10H      ;interrupt number
            JMP DO_DOSINTX
COS_DOSINT13:
            PUSH EBP
            MOV BP,13H      ;interrupt number
            JMP DO_DOSINTX
COS_DOSINT16:
            PUSH EBP
            MOV BP,16H      ;interrupt number  read 1 charater
            JMP DO_DOSINTX
COS_DOSINT1A:
            PUSH EBP
            MOV BP,1AH      ;interrupt number REAL TIMER
            JMP DO_DOSINTX
COS_DOSINT21:
            PUSH EBP
            MOV BP,21H      
            JMP DO_DOSINTX
DO_DOSINTX:
            PUSH EAX
            PUSH EBX
            PUSH ECX
            PUSH EDX
            PUSH ESI
            PUSH EDI
            PUSH DS          ;ADD
            PUSH ES          ;ADD
            PUSH FS          ;ADD
            PUSH GS

            PUSH AX
            MOV AX,V86_DATA_GDT_SEL
            MOV GS,AX
            POP AX
            MOV GS:G_INT,BP
            MOV GS:V86_AX,AX
            MOV GS:V86_BX,BX
            MOV GS:V86_CX,CX
            MOV GS:V86_DX,DX
            MOV GS:V86_ES,ES
            MOV GS:V86_DS,DS

            CMP BP,13H      
            JE  BIOS13H
            CMP BP,16H      
            JE  BIOS16H
            CMP BP,21H      
            JE  DOS21H
            JMP COSINT_A  ;10H,1AH NOTHING TO DO
BIOS13H:    CMP AH,03H    ;13H02 NOTHING TO DO
            JE  BIOS13H03  
            JMP COSINT_A  
BIOS13H03:  JMP COSINT_A  

BIOS16H:    CMP AH,00H    ;16H00 NOTHING TO DO
            JE  BIOS16H00  
            JMP COSINT_A  
BIOS16H00:  JMP COSINT_A  

DOS21H:     CMP AH,09H
            JE DOS21H09
            CMP AH,4CH
            JE  DOS21H4C
            CMP AH,4EH
            JE  DOS21H4E
            JMP COSINT_A  ;21H0A NOTHING TO DO
DOS21H09:   
            MOV SI,DX
            XOR DI,DI
DOS21H09_1: MOV AH,DS:[SI]
            MOV GS:V86_BUFFER[DI],AH
            CMP AH,24H
            JE DOS21H09_END
            INC SI
            INC DI
            CMP DI,4096                ;int 09H one time 4096 bytes
            JL DOS21H09_1
DOS21H09_END:
            MOV AH,24H
            MOV GS:V86_BUFFER[4096],AH
            MOV CX,DI
            MOV GS:V86_CX,CX          ;len of string
            JMP COSINT_A  
            ;*******************************enter TO V86 TASK
            ;*******************************enter TO V86 TASK
COSINT_A:   
            ; FOLLOWS:INITIAL 
            MOV AX,V86TSS_ASDATA_SEL
            MOV DS,AX

            MOV DS:[4],V86_STACK0LEN
            MOV DS:[32],V86BEGIN
            MOV DS:[36],3000H
            MOV DS:[38],2
            MOV DS:[56],V86_STACK3LEN
            MOV DS:[60],0
            MOV DS:[76],V86CODESEG
            MOV DS:[80],V86_STACK3SEG
            MOV DS:[84],V86_DATASEG
            MOV AX,V86_DATA_GDT_SEL
            MOV DS,AX
            SLDT DS:CURRENT_LDT
            STR DS:CURRENT_TR
            MOV AX,V_TOS_DATA_SEL
            MOV DS,AX
            MOV AX,SS
            MOV DS:CURRENT_SS,AX
            LIDT FWORD PTR DS:V86_IDTSIZE
            MOV BX,V86LDT_SEL
            LLDT BX

            PUSH ES
            PUSH FS
            
            MOV AX,REAL_SEL
            MOV ES,AX
            MOV FS,AX
            MOV GS,AX
            MOV DS,AX
            MOV SS,AX
            jmp COSINT_A_jmp
COSINT_A_jmp:   
            DB 0EAH  ;CALL=9AH  ;JMP=0EAH  ;
            DW 0;V86BEGIN
            DW V86TSS_SEL
FROM_V86:   
            MOV AX,V_TOS_DATA_SEL
            MOV DS,AX
            MOV AX,DS:CURRENT_SS
            MOV SS,AX
            LIDT FWORD PTR DS:IDTSIZE
            POP FS
            POP ES
            
;  push gs
;  mov ebx,01fffffh
;df123:
;  MOV AX,G_VRAM_SEL
;  MOV gS,AX
;  MOV AL,'-'
;  MOV AH,41H  
;  MOV WORD PTR gS:[804],AX
;  dec ebx
;  jnz df123
;  pop gs
; test

            MOV AX,V86_DATA_GDT_SEL  ;END_DEAL
            MOV GS,AX

            MOV AX,GS:G_INT
            CMP AX,10H
            JE  G10H_END
            CMP AX,13H
            JE  G13H_END
            CMP AX,16H
            JE  G16H_END
            CMP AX,1AH
            JE  G1AH_END
            CMP AX,21H
            JE  G21H_END
            JMP COS_DOSINT_END
G10H_END:   MOV AX,GS:V86_AX
            CMP AH,03H
            JE G10H03_END
            JMP COS_DOSINT_END
G10H03_END:
            MOV BP,SP
            MOV AX,GS:V86_DX_O
            MOV WORD PTR [BP+16],AX     ;OLD=10
            JMP COS_DOSINT_END
G13H_END:   MOV AX,GS:V86_AX
            CMP AH,02H
            JE G13H02_END
            JMP COS_DOSINT_END
G13H02_END: MOV BX,GS:V86_BX
            MOV DX,GS:V86_ES
            PUSH DS
            MOV DS,DX
            MOV CX,512
            MOV AX,OFFSET V86_BUFFER
            MOV SI,AX
G13H02_LOOP: 
            MOV  AL,GS:[SI]    ;V86_BUFFER
            MOV  DS:[BX],AL       ;USER BUFFER
            INC  BX
            INC SI
            LOOP G13H02_LOOP
            POP  DS
            JMP COS_DOSINT_END

G16H_END:   MOV AX,GS:V86_AX_O
            JMP COS_DOSINT_END
G1AH_END:   
            MOV CX,GS:V86_CX_O
            MOV DX,GS:V86_DX_O
            ;
            POP GS
            POP FS
            POP ES
            POP DS
            POP EDI
            POP ESI
            POP EBP            ;POP EDX  REMAINS DX
            POP EBP            ;POP ECX  REMAINS CX
            POP EBX
            POP EAX            
            POP EBP
sti
            IRETD
            ;
G21H_END:   MOV AX,GS:V86_AX
            CMP AH,0AH
            JE  G21H0A_END
            JMP COS_DOSINT_END
G21H0A_END: MOV BX,GS:V86_DX
            MOV DX,GS:V86_DS
            PUSH DS
            MOV DS,DX            ;DS:BX  USER_BUF
            MOV AX,OFFSET V86_BUFFER ;GS:SI  V86_BUFFER
            MOV SI,AX
            INC SI
            MOV CL,GS:[SI]
            INC BX               ;SECOND FOR USER_BUF
            MOV CH,0
            MOV DS:[BX],CL
            INC SI
            INC BX
            CMP CL,0
            JLE G21H0A_0
G21H0A_LOOP: 
            MOV  AL,GS:[SI]       ;V86_BUFFER
            MOV  DS:[BX],AL       ;USER BUFFER
            INC  BX
            INC  SI
            LOOP G21H0A_LOOP
G21H0A_0:
            MOV  DS:[BX],0       ;ADDITION 'NULL'
            POP  DS
            JMP  COS_DOSINT_END
DOS21H4C:
            POP GS
            POP FS
            POP ES
            POP DS
            POP EDI
            POP ESI
            POP EDX
            POP ECX
            POP EBX
            POP EBP            ;POP EAX  REMAINS AX
            POP EBP
            jmp DOS21H4C1
DOS21H4C1:  
            DB 0EAH  ;CALL=9AH  ;JMP=0EAH  ;
            DW 0;V86BEGIN
            DW V_TOS_TSS_SEL
            
DOS21H4E:
            CALL DO_DOS21H4E

COS_DOSINT_END:            
;mmmmmmmmmmm
;  push gs
;  mov ebx,02fffffh
;dff123:
;  MOV AX,G_VRAM_SEL
;  MOV gS,AX
;  MOV AL,'+'
;  MOV AH,41H  
;  MOV WORD PTR gS:[804],AX
;  dec ebx
;  jnz dff123
;  pop gs
;mmmmmmmmmmmm

            POP GS
            POP FS
            POP ES
            POP DS
            POP EDI
            POP ESI
            POP EDX
            POP ECX
            POP EBX
            POP EBP            ;POP EAX  REMAINS AX
            POP EBP
            IRETD
            ;*******************************enD V86 TASK
            ;*******************************enD V86 TASK
COS_DOSINT  ENDP
;test
  ;PUSH ES
  ;PUSH AX
  ;MOV AX,G_VRAM_SEL
  ;MOV ES,AX
  ;MOV AL,'z'
  ;MOV AH,41H  
  ;MOV WORD PTR ES:[804],AX
  ;POP AX
  ;POP ES
; test

;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
COS_INT09   PROC FAR
            PUSH EAX
            PUSH EBX
            PUSH ECX
            PUSH EDX
            PUSH GS
            PUSH FS
            PUSH ES
            PUSH DS
            ;PUSH ESP
            ;PUSH SS
            PUSH ESI
            PUSH EDI
            PUSH EBP

            MOV AX,G_VRAM_SEL
            MOV ES,AX
            MOV AH,41H  
            MOV AL,'G'
            MOV WORD PTR ES:[3996],AX
            
            POP EBP
            POP EDI
            POP ESI
            ;POP SS
            ;POP ESP
            POP DS
            POP ES
            POP FS
            POP GS
            POP EDX
            POP ECX
            POP EBX
tt1239:
;            MOV AL,20H
;            OUT 20H,AL
tt12329:
            POP EAX
            IRETD
COS_INT09   ENDP
;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚瑟在线精品视频| 成人一级片网址| 色婷婷av一区二区三区gif| 另类的小说在线视频另类成人小视频在线| 国产不卡视频一区二区三区| 欧美日韩一区二区三区四区五区| 国产欧美日韩激情| 日韩av网站在线观看| 91香蕉视频mp4| 国产午夜精品久久| 精品在线观看视频| 欧美精品自拍偷拍| 一区二区三区欧美亚洲| 成人黄色免费短视频| 久久久久久久久久久电影| 日本大胆欧美人术艺术动态| 91电影在线观看| 国产精品久久久久久福利一牛影视| 日韩不卡一二三区| 欧美美女一区二区| 亚洲自拍欧美精品| 91官网在线免费观看| 中文字幕在线观看一区| 成人一区二区三区| 中文字幕亚洲区| 成人综合婷婷国产精品久久 | 91天堂素人约啪| 国产丝袜在线精品| 国产成人午夜片在线观看高清观看| 欧美日韩1区2区| 五月天一区二区| 欧美男人的天堂一二区| 天天免费综合色| 欧美日韩你懂得| 午夜精品福利在线| 欧美日韩视频不卡| 午夜精品影院在线观看| 欧美日韩国产一级片| 亚洲va欧美va人人爽午夜 | 国产成人精品亚洲午夜麻豆| 2020国产精品| 懂色av噜噜一区二区三区av| 中文字幕日本乱码精品影院| 色综合天天综合网天天狠天天| 亚洲色图都市小说| 日本乱人伦aⅴ精品| 亚洲成人久久影院| 6080日韩午夜伦伦午夜伦| 美女在线观看视频一区二区| 欧美一区二区成人| 久久国产夜色精品鲁鲁99| 久久精品人人做人人爽人人| 972aa.com艺术欧美| 天天影视涩香欲综合网| 日韩精品一区国产麻豆| 国产精品影视天天线| 国产精品午夜久久| 欧美亚洲另类激情小说| 欧美aa在线视频| 欧美国产精品一区二区| 在线观看av不卡| 国模冰冰炮一区二区| 国产精品不卡一区| 69久久夜色精品国产69蝌蚪网| 国产成人99久久亚洲综合精品| 国产麻豆成人传媒免费观看| 色综合久久久久综合体| 日韩福利电影在线观看| 国产精品嫩草影院com| 欧美另类高清zo欧美| 成人免费看的视频| 日韩电影在线一区二区| 国产精品女同互慰在线看| 欧美日韩黄色一区二区| 国产福利一区二区三区视频在线 | 成人综合婷婷国产精品久久蜜臀 | 国产精品久久久久久久久免费丝袜| 欧美揉bbbbb揉bbbbb| 国产91精品入口| 男男成人高潮片免费网站| 国产精品视频在线看| 91精品国产综合久久福利软件| thepron国产精品| 蜜桃av一区二区三区| 一区二区三区在线播放| 久久综合给合久久狠狠狠97色69| 在线视频一区二区三| 成人亚洲一区二区一| 久久国产精品99久久久久久老狼| 日韩毛片精品高清免费| 日韩一级高清毛片| 欧美日韩国产大片| 色综合久久综合网欧美综合网 | 久久久亚洲综合| 91精品国产色综合久久不卡蜜臀 | 色婷婷综合久色| 国产盗摄女厕一区二区三区| 免费三级欧美电影| 亚洲国产色一区| 一区二区三区精密机械公司| 欧美国产乱子伦| 欧美国产精品v| 中文av字幕一区| 久久久久久久电影| 欧美大片一区二区| 日韩精品一区二区三区视频在线观看 | 成人黄色av网站在线| 国产乱子轮精品视频| 久久精品国产精品青草| 亚洲国产一二三| 亚洲国产日韩a在线播放性色| 一区二区三区四区激情| 亚洲精品欧美在线| 亚洲精品国产一区二区精华液| 中文字幕一区二区三区不卡| 国产精品护士白丝一区av| 亚洲四区在线观看| ●精品国产综合乱码久久久久| 国产精品福利在线播放| 日韩理论片中文av| 亚洲欧洲www| 一区二区三区四区蜜桃| 五月天丁香久久| 日韩高清不卡一区二区三区| 日本不卡视频在线观看| 六月丁香婷婷久久| 国产一区二区三区免费| 春色校园综合激情亚洲| www.爱久久.com| 欧美日韩在线不卡| 欧美精品久久天天躁| 精品区一区二区| 中文字幕久久午夜不卡| 亚洲欧美日韩一区二区三区在线观看| 亚洲人成在线播放网站岛国| 亚洲五码中文字幕| 免费高清不卡av| 懂色一区二区三区免费观看| 欧美在线观看视频一区二区三区| 91精品国产一区二区| 欧美国产禁国产网站cc| 亚洲超碰97人人做人人爱| 精品一区二区三区在线播放| 成人高清免费观看| 欧美日韩在线直播| 久久五月婷婷丁香社区| 亚洲欧洲av在线| 日韩1区2区3区| 成人在线视频首页| 欧美精品自拍偷拍| 久久久99精品免费观看不卡| 亚洲人亚洲人成电影网站色| 麻豆国产欧美一区二区三区| 欧美高清性hdvideosex| 不卡的av电影| 欧美色男人天堂| 久久久一区二区三区| 亚洲成人777| 成人精品在线视频观看| 7799精品视频| 亚洲天堂免费看| 理论电影国产精品| 欧美色图免费看| 国产精品午夜电影| 经典三级视频一区| 欧美午夜影院一区| 国产女人水真多18毛片18精品视频| 亚洲成人www| 色菇凉天天综合网| 久久久www成人免费毛片麻豆| 亚洲国产一区二区a毛片| 成人性视频网站| 亚洲精品在线观| 日韩精品免费专区| 色综合欧美在线| 国产精品污www在线观看| 久久精品99国产精品| 欧美日韩成人综合| 亚洲精品国产无天堂网2021| 不卡在线观看av| 久久天堂av综合合色蜜桃网| 视频在线观看91| 欧美在线free| 亚洲免费在线视频一区 二区| 国产91高潮流白浆在线麻豆| 精品国产乱子伦一区| 麻豆久久久久久久| 欧美一激情一区二区三区| 亚洲一区二区在线播放相泽 | 欧美最猛性xxxxx直播| 欧美激情在线一区二区三区| 狠狠色丁香婷综合久久| 日韩一区二区精品在线观看| 亚洲成a人v欧美综合天堂| 欧美视频在线观看一区二区| 一区二区欧美国产| 欧美综合欧美视频| 午夜视频在线观看一区| 欧美日韩黄色影视| 青青草91视频|