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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? reposit0.asm

?? 操作系統(tǒng)實(shí)驗(yàn)教程核心技術(shù)與編程實(shí)例書中地例子代碼
?? ASM
字號(hào):
G_EXEC      PROC FAR
            ;in---- (ds)=system data segment
            ;       (gs)=gDT_BUF segment-->head+program
            ;       (ax)=THIS TASK GDT FIRST ADDRESS:OFFSET
            ;       DS:G_WORK 100 DB PARA AREA
            ;this   FS:USER_PsLDTT_ASDATA_SEL

;jmp G_EXEC_END
            PUSH AX            ;SS:1=USER_PsLDT ADDR
            MOV BX,GS:00H
            CMP BX,5A4DH
            JZ  G_EXEC0
            POP AX
            MOV AX,1           ;Not DOS .exe  first 2 bytes is 4D5AH
            JMP G_EXEC_END
            ;*********************get program_size
G_EXEC0:    
;pop ax
;jmp G_EXEC_END
            ;                   ss:1=GDT ADDR
            MOV AX,USER_PsLDTT_ASDATA_SEL ;should use selector in gdt
;pop ax
;jmp G_EXEC_END

            MOV FS,AX
;pop ax
;jmp G_EXEC_END
            ;                    set ldt_desc for CS OF USER PROCESS  -->START
            MOV AX,GS:08H       ;SIZE_HEAD PARA
            SHL AX,4            ;SIZE_HEAD BYTE
            PUSH AX             ;SS:1=GDT ADDR 2=SIZE_HEAD BYTE INTO STACK
            ;;;;;;;;;           ;GET FILE_SIZE
            MOV BX,GS:02H     ;mod512
            MOV AX,GS:04H     ;file_sectors
            CMP BX,0
            JZ  g_exec1
            DEC AX
g_exec1:    XOR DX,DX
            MOV CX,512
            MUL CX         
            ADD AX,BX      
            ADC DX,0              ;DX:AX  file_size
            MOV DS:G_WORK,AL       
            MOV DS:G_WORK[1],AH      
            MOV DS:G_WORK[2],DL
            MOV DS:G_WORK[3],DH   ;DS:G_WORK FILE SIZE
            MOV BX,GS:0EH
            MOV DS:G_WORK[4],BL
            MOV DS:G_WORK[5],BH
            ;;;;;;;;;;
            POP BX                ;GET SIZE_HEAD 
            SUB AX,BX
            SBB DX,0              ;DL:AX=PROGRAM_SIZE=LIMIT
            POP DI                ;DI=GDT ADDR   SS:0
            PUSH DI
            PUSH BX            ;SS:1=GDT ADDR 2=SIZE_HEAD BYTE INTO STACK
            MOV FS:[DI].LIMIT,AX
            MOV FS:[DI].GRAN,DL      ;limit HIGH 4 IN DL_LOW4  LIMIT<=1M
            MOV FS:[DI].ACCESS,9AH
                                  ;9EH:P=1 ,DPL=00,S=1 DATA SEGMENT,TYPE=EH
                                  ;BASE_ADDR=3M+SIZE_HEAD+CS_OFF
            MOV AX,GS:16H
            ADD AX,BX
            MOV FS:[DI].BASE_L,AX      
            MOV FS:[DI].BASE_M,G_BUF_BASE
            MOV FS:[DI].BASE_H,0 
            ;                     set gdt_desc for CS OF USER PROCESS  --->END

            ;                     LOOP OTHER SEGMENT-----START 
            MOV SI,GS:6H     ;reposit_count
g_exec_1:   OR SI,SI
            JZ g_exec_end1
            MOV AX,SI
            DEC AX
            CMP AX,0
            JLE g_exec_2
            MOV CL,4
            MUL CL
g_exec_2:
            MOV BX,GS:18H         
            ADD BX,AX             
            MOV CX,GS:[BX]       ;offset 0007
            PUSH CX
            MOV AX,GS:[BX+2]     ;SEG    0000  IN PARAG
            XOR DX,DX
            MOV CX,4
            MUL CX               ;DX:AX= SEG IN BYTE
            POP CX         ;SS:1=GDT ADDR 2=SIZE_HEAD BYTE INTO STACK
            ADD AX,CX            
            ADC DX,0             ;DX:AX=OFFSET IN PROGRAM 
            POP CX               ;GET HEAD_SIZE
            PUSH CX     ;SS:1=GDT ADDR 2=SIZE_HEAD BYTE INTO STACK
            MOVZX EBX,CX          ;HEAD_SIZE
            MOVZX EDX,DX
            SHL EDX,16
            MOVZX EAX,AX          ;OFFSET IN PROGRAM
            ADD EDX,EAX
            ADD EBX,EDX          ;EBX=OFFSET IN GS
            MOV AX,GS:[EBX]      ;AX=SEG---GET SEGMENT IN PARA 0292
                                 ;SEG TURN TO SEL.
            push dx
            MOV dL,DS:G_WORK[4]
            MOV dH,DS:G_WORK[5]
            CMP dX,AX
            JZ g_exec_3
            MOV DS:G_WORK[6],0      ;OTHER SEG
            jmp g_exec_3_3
g_exec_3:
            MOV DS:G_WORK[6],1      ;STACK SEG
g_exec_3_3: pop dx
            MOV DX,SI
            SHL DX,3
            ADD DX,user_ps_sel      ;SEL. OF CS=NO.7
                                    ;DX IS SEL. TI=0 RPL=0(2)
            MOV GS:[EBX],DX         ;;;;;;;;reposit
            CMP DS:G_WORK[6],1
            JNE g_exec_33
            MOV DS:G_WORK[7],DL
            MOV DS:G_WORK[8],DH
            ;set desc for segment
g_exec_33:  XOR DX,DX
            MOV CX,16
            MUL CX               ;DX:AX SEG IN BYTE IN PROGRAM
            POP CX         ;SS:1=GDT ADDR 2=SIZE_HEAD BYTE INTO STACK
            ADD AX,CX            
            ADC DX,0             ;DX:AX=OFFSET IN GS
            PUSH CX        ;SS:1=GDT ADDR 2=SIZE_HEAD BYTE INTO STACK
            MOVZX EDX,DX
            SHL EDX,16
            MOVZX EAX,AX          ;OFFSET LOW16
            ADD EDX,EAX           ;EDX= SEG OFFSET IN GS  IN BYTE 
                                  ;EDX= BASE IN GS
            PUSH EDX              ;EDX=OFFSET FROM GS START 
            MOV EAX,G_BUF_BASE
            SHL EAX,16            ;EAX=300000H
            ADD EDX,EAX           ;EDX= BASE FROM 0
            MOV BX,SI
            SHL BX,3              ;OFFSET IN USER_P 
            MOV FS:[DI+BX].BASE_L,DX    ;DI NO CHANGE:GDT ADDR  
            SHR EDX,16
            MOV FS:[DI+BX].BASE_M,DL
            MOV FS:[DI+BX].BASE_H,0 

            MOV CL,DS:G_WORK
            MOV CH,DS:G_WORK[1]
            MOV AL,DS:G_WORK[2]
            MOV AH,DS:G_WORK[3]     ;AX:CX FILE_SIZE
            MOVZX EAX,AX
            SHL EAX,16
            MOVZX ECX,CX
            ADD EAX,ECX          ;EAX FILE_SIZE
            POP EDX              ;EDX=OFFSET FROM GS START
            SUB EAX,EDX          ;EAX=SEG_LIMIT LEN(STACK)=200
            MOV FS:[DI+bx].LIMIT,AX
            SHR EAX,16
            MOV FS:[DI+bx].GRAN,AL      ;limit HIGH 4 IS IN AL_LOW4  LIMIT<=1M
            CMP DS:G_WORK[6],1
            JE g_exec_4
            MOV FS:[DI+bx].ACCESS,92H 
            JMP g_exec_5
g_exec_4:
            MOV FS:[DI+bx].ACCESS,92H
                         ;96H:P=1 ,DPL=00,S=1 DATA SEGMENT,TYPE=3 (SS)
                         ;BASE_ADDR=3M+SIZE_HEAD+SS_OFF
g_exec_5:
            DEC SI
            JMP g_exec_1
g_exec_end1:  
            POP DX      ;SS:1=GDT ADDR 2=SIZE_HEAD BYTE INTO STACK
            POP AX
            ;                  LOOP OTHER SEGMENT-----END
            ;INIT SS,SP,CS,IP--->WORK[0..7]
            ;DX=SIZE_HEAD
            MOV AL,DS:G_WORK[7]
            MOV AH,DS:G_WORK[8]
            MOV DS:G_WORK,AL     ;SEL. OF SS
            MOV DS:G_WORK[1],AH
            MOVZX EDX,DX 
            MOV AX,GS:10H
            dec ax
            MOV DS:G_WORK[2],AL     ;SP
            MOV DS:G_WORK[3],AH
            MOV DS:G_WORK[4],G_BUF_BASE    ;CS
            MOV DS:G_WORK[5],0H
            MOV AL,GS:14H        
            MOV AH,GS:15H        
            MOV DS:G_WORK[6],AL     ;IP
            MOV DS:G_WORK[7],AH
            ;*********************A  -->end   deal with loading .exe
G_EXEC_END: RET
G_EXEC      ENDP

; ////////////disp USER_Psldt AND head of dos_program after repositiom
disp_ldt_head PROC FAR
            ; ////////////disp USER_Psldt
            MOV AH,9
            MOV CX,0400H ;15 row 21 column
            MOV DX,OFFSET TEST1_MSG
            INT 21H
            push fs
            mov ax,USER_PsLDTT_ASDATA_SEL
            mov fs,ax
            MOV di,fs:offset user_pS  ;USER_PsLDT FIRST ADDR
            mov ax,fs:[di].limit;/////CS 
            mov cx,0600H
            call disp_ax
            mov ax,fs:[di].BASE_L
            mov cx,0608H
            call disp_ax
            mov aL,fs:[di].BASE_M
            mov aH,fs:[di].ACCESS
            mov cx,0610H
            call disp_ax
            mov aL,fs:[di].GRAN
            mov aH,fs:[di].BASE_H
            mov cx,0618H
            call disp_ax
            mov ax,fs:[di+8].limit;/////SS
            mov cx,0700H
            call disp_ax
            mov ax,fs:[di+8].BASE_L
            mov cx,0708H
            call disp_ax
            mov aL,fs:[di+8].BASE_M
            mov aH,fs:[di+8].ACCESS
            mov cx,0710H
            call disp_ax
            mov aL,fs:[di+8].GRAN
            mov aH,fs:[di+8].BASE_H
            mov cx,0718H
            call disp_ax
            mov ax,fs:[di+16].limit;/////DS
            mov cx,0800H
            call disp_ax
            mov ax,fs:[di+16].BASE_L
            mov cx,0808H
            call disp_ax
            mov aL,fs:[di+16].BASE_M
            mov aH,fs:[di+16].ACCESS
            mov cx,0810H
            call disp_ax
            mov aL,fs:[di+16].GRAN
            mov aH,fs:[di+16].BASE_H
            mov cx,0818H
            call disp_ax
            POP fS
; ////////////disp USER_Psldt

;disp head of user_ps: after reposition in g_buf
            MOV AH,9
            MOV CX,0A00H ;15 row 21 column
            MOV DX,OFFSET HEAD_DOS
            INT 21H
            mov ax,g_buf_sel
            mov gs,ax
            mov ax,gs:0200h
            mov cx,0C00H
            call disp_ax
            mov ax,gs:0202h
            mov cx,0C08H
            call disp_ax
            mov ax,gs:0204h
            mov cx,0C10H
            call disp_ax
            mov ax,gs:0206h
            mov cx,0C18H
            call disp_ax
            mov ax,gs:0208h
            mov cx,0C20H
            call disp_ax
            mov ax,gs:020Ah
            mov cx,0C28H
            call disp_ax
            mov ax,gs:020Ch
            mov cx,0C30H
            call disp_ax
            mov ax,gs:020Eh
            mov cx,0C38H
            call disp_ax
            ret
disp_ldt_head ENDP
;disp head of user_ps: after reposition in g_buf

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久婷婷香蕉| 三级精品在线观看| 国产精品亚洲专一区二区三区| 日韩欧美电影一区| 国产精品自在在线| 中文字幕巨乱亚洲| 97久久精品人人爽人人爽蜜臀| 亚洲欧美一区二区不卡| 欧美在线短视频| 婷婷国产在线综合| 久久综合一区二区| 99免费精品在线观看| 亚洲五码中文字幕| 日韩欧美成人午夜| 成人免费va视频| 亚洲一区二区三区影院| 日韩欧美一级二级| 成人网男人的天堂| 亚洲无线码一区二区三区| 日韩精品一区国产麻豆| 成人晚上爱看视频| 午夜欧美视频在线观看| 国产亚洲精品7777| 欧美日韩中字一区| 国产乱码精品一区二区三区五月婷 | 久久99久久久欧美国产| 国产精品欧美精品| 在线电影院国产精品| 国产一区二区不卡老阿姨| 亚洲视频香蕉人妖| 日韩午夜在线影院| 91片在线免费观看| 国产最新精品免费| 亚洲第一二三四区| 日本一区二区在线不卡| 欧美猛男男办公室激情| 国产成人精品亚洲午夜麻豆| 亚洲mv在线观看| 国产精品你懂的在线| 欧美一级免费大片| 欧美影视一区在线| 高清免费成人av| 麻豆精品在线播放| 亚洲乱码国产乱码精品精小说| 精品毛片乱码1区2区3区| 欧美体内she精高潮| 成人福利视频在线看| 99久久精品国产毛片| 日韩在线a电影| 依依成人综合视频| 国产精品午夜久久| 亚洲精品一区二区三区影院| 欧美日韩亚洲综合一区 | 亚洲综合成人在线| 亚洲国产精品av| 精品少妇一区二区三区视频免付费| 色老汉av一区二区三区| 懂色一区二区三区免费观看| 久久国产福利国产秒拍| 日韩影院精彩在线| 午夜a成v人精品| 一区二区三区欧美| 综合激情成人伊人| 国产精品久久影院| 国产免费成人在线视频| 久久精品夜色噜噜亚洲a∨| 日韩欧美一区中文| 欧美成人高清电影在线| 欧美一区二区黄| 欧美一区二区三区四区高清| 欧美精品777| 欧美一区二区免费| 欧美一区二区三区免费视频| 在线观看91精品国产麻豆| 欧美久久久影院| 884aa四虎影成人精品一区| 欧美日韩综合不卡| 欧美乱妇15p| 91精品国产手机| 日韩视频一区二区三区| 日韩美女在线视频| 亚洲一区二区三区四区五区黄 | 1024亚洲合集| 亚洲欧美在线aaa| 亚洲日本乱码在线观看| 亚洲美女视频一区| 亚洲成人精品一区| 蜜桃在线一区二区三区| 韩国av一区二区三区四区| 激情小说欧美图片| 成人av在线一区二区三区| www.色精品| 在线观看亚洲专区| 91精品国产综合久久香蕉麻豆| 欧美一区二区啪啪| 久久久99精品免费观看不卡| 国产精品人妖ts系列视频| 亚洲精品国久久99热| 日韩电影免费在线看| 韩国女主播一区二区三区| 东方aⅴ免费观看久久av| 91麻豆免费观看| 91精品国产综合久久久久| 精品91自产拍在线观看一区| 国产精品欧美久久久久一区二区| 亚洲一区二区三区视频在线播放| 日日夜夜一区二区| 国产成人精品免费| 欧美色涩在线第一页| 91精品国产一区二区三区蜜臀 | 久久久夜色精品亚洲| 日韩一区在线免费观看| 亚洲另类一区二区| 日韩电影在线观看一区| 粉嫩欧美一区二区三区高清影视| 在线观看亚洲一区| 精品国产露脸精彩对白| 亚洲欧洲中文日韩久久av乱码| 美女一区二区在线观看| 91美女视频网站| 精品国产乱码久久久久久蜜臀| 最新欧美精品一区二区三区| 麻豆国产欧美日韩综合精品二区| 成人久久18免费网站麻豆| 91精品国产全国免费观看| 国产精品女主播av| 蜜桃av一区二区三区电影| 99久久久久久| 久久综合九色综合久久久精品综合 | 欧美日韩一卡二卡三卡| 国产日产欧美一区| 午夜精品成人在线视频| 菠萝蜜视频在线观看一区| 欧美精品一二三| 亚洲精品伦理在线| 成人av资源网站| 欧美精品一区二区久久婷婷| 亚洲超丰满肉感bbw| 9色porny自拍视频一区二区| 一区二区三区在线观看视频 | 国产一区二区不卡| 日韩一区二区三区在线| 亚洲免费观看高清| 国产xxx精品视频大全| 欧美电视剧在线观看完整版| 香蕉影视欧美成人| 91亚洲男人天堂| 中文字幕在线观看一区二区| 久久91精品国产91久久小草| 欧美群妇大交群的观看方式| 亚洲欧美一区二区视频| 成人小视频免费在线观看| 精品久久久网站| 麻豆精品一区二区三区| 日韩三级.com| 一个色综合网站| 在线亚洲人成电影网站色www| 中文一区一区三区高中清不卡| 精品一区二区三区不卡| 日韩一区二区三区免费看 | 欧美剧情片在线观看| 中文字幕综合网| 波多野结衣中文字幕一区| 亚洲国产精品激情在线观看| 国产乱人伦偷精品视频免下载| 精品日韩99亚洲| 激情文学综合插| 国产亚洲欧美日韩在线一区| 久久精品理论片| 久久久久久**毛片大全| 国产精品影视网| 国产精品视频一二三区| 成人国产精品视频| 亚洲人成小说网站色在线 | 欧美国产一区视频在线观看| 国产精品一区不卡| 中文字幕欧美日本乱码一线二线| 国产91精品一区二区麻豆亚洲| 国产丝袜欧美中文另类| 懂色av中文字幕一区二区三区 | 国产成人午夜99999| 国产精品视频麻豆| 色噜噜狠狠成人中文综合| 亚洲成人av免费| 日韩精品一区二区三区蜜臀| 韩国精品主播一区二区在线观看 | 国产一区不卡视频| 亚洲夂夂婷婷色拍ww47| 欧美电影一区二区| 国产精品资源网| 亚洲免费视频中文字幕| 欧美日韩国产小视频| 久久爱另类一区二区小说| 国产人成一区二区三区影院| 91丨porny丨国产| 日本麻豆一区二区三区视频| 2020日本不卡一区二区视频| 一本色道综合亚洲| 免播放器亚洲一区| 中文字幕一区二区三区在线播放|