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

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

?? menuetos.htm

?? Menuet 操作系統源代碼。 非常難得的東西
?? HTM
?? 第 1 頁 / 共 3 頁
字號:
labelt:
     db   'THREAD EXAMPLE'
labellen:
   
I_END:
   
   
   
   
   
                      1f) Real-Time data
                      ==================

   
The following example focuses on Real-Time data fetching and processing. 
Application informs the OS for all the ports and datatypes to read 
at a specific IRQ.
   
Steps:
   
1) reserve I/O port area
2) reserve IRQ
3) program IRQ
4) program EVENT list for wanted IRQ
   
5) runtime processing of the data
   
6) back to default events - free IRQ from EVENT list
7) free IRQ
8) free port area
9) terminate program
   
After IRQ's are programmed, the application has a new event for the
main event loop, number (IRQ+16).

When the application receives this event, the OS has recorded data
ready for the application to process.
   
The table below shows the main structure of processing real time data.
   
All the steps on the left of (A) are processed by the OS and the steps
right from (A) are processed by the application.
   
   
 IRQ           OWNER      =>  REC DATA  (A) SYS_EVENT => READ DATA => PROCESS
   
 0 TIMER       SYS
 1 KEYBOARD    SYS
 2             free      ->
 3 COM MOUSE   SYS/free  ?>
 4 COM MOUSE   SYS/free  ?>
 5 SOUND BL.   SYS
 6 FLOPPY      SYS
 7             free      ->
 8             free      ->
 9             free      ->
10             free      ->
11             free      ->
12 PS2 MOUSE   SYS/free  ?>
13 MATH PR.    SYS
14 IDE         SYS
15 IDE         SYS
   
   
An example of processing Real-Time data:
   
   
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;                                                ;
;    REAL-TIME DATA                              ;
;                                                ;
;    Compile with FASM for Menuet                ;
;                                                ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
   
use32
   
                org     0x0
   
                db      'MENUET00'              ; 8 byte id
                dd      56                      ; required os
                dd      START                   ; program start
                dd      I_END                   ; program image size
                dd      0x100000                ; required amount of memory
                                                ; esp = 0x7FFF0
                dd      0x00000000              ; reserved=no extended header
   
   
   
START:                          ; start of execution
   
    call draw_window            ; at first, draw the window
   
    call program_real_time_data ; program the OS to receive real time data
   
    call program_com_port       ; program the com port for specific device
   
event_wait:
   
    mov  eax,10                 ; wait here for event
    int  0x40
   
    cmp  eax,1                  ; redraw request ?
    je   red
    cmp  eax,2                  ; key in buffer ?
    je   key
    cmp  eax,3                  ; button in buffer ?
    je   button
   
    cmp  eax,16+4               ; RT: new event for wanted IRQ data (16+IRQ)
    je   read_rt
   
    jmp  event_wait
   
   
;  The next section reads the event and processes data.
   
   
  read_rt:                      ; RT data
    mov  eax,42                 ; Function 42 returns recorded data for IRQ 4
    mov  ebx,4                  ;
    int  0x40                   ; OS returns the recorded data.
                                ; eax  number of bytes in buffer left
                                ; bl   data
                                ; ecx  0 = success, other = no data in buf.
   
    call process_data
    jmp  event_wait
   
  red:                          ; redraw
    call draw_window
    jmp  event_wait
   
  key:                          ; key
    mov  eax,2                  ; just read it and ignore
    int  0x40
    jmp  event_wait
   
  button:                       ; button
    mov  eax,17                 ; get id
    int  0x40
   
   
    cmp  ah,1                   ; button id=1 ?
    jne  noclose
   
    call free_real_time_data
   
    mov  eax,-1                 ; close this program
    int  0x40
  noclose:
   
    jmp  event_wait
   
   
   
program_real_time_data:
   
   
    ;   Program the Real-Time data fetch
    ;
    ;   1) reserve I/O port area
    ;   2) reserve IRQ
    ;   3) program IRQ
    ;   4) program EVENT list for wanted IRQ
    ;
   
   
    pusha
   
    mov  eax,46           ; reserve ports 0x3f0 - 0x3ff
    mov  ebx,0
    mov  ecx,0x3f0
    mov  edx,0x3ff
    int  0x40
   
    mov  eax,45           ; reserve irq 4
    mov  ebx,0
    mov  ecx,4
    int  0x40
   
    mov  eax,44           ; set read ports for irq 4
    mov  ebx,irqtable
    mov  ecx,4
    int  0x40
   
    mov  eax,40                                 ; get com 1 data with irq 4
    mov  ebx,0000000000010000b shl 16 + 111b    ; after this we have a new
                                                ; event (16+4)
    int  0x40
   
    popa
   
    ret
   
  
   
irqtable:
   
    dd  0x3f8+0x01000000 ; 3f8 =port to read  : 01 =read byte, 02 =read word
   
    dd  0x0              ; 0x0 = termintes read per IRQ event
    dd  0x0
    dd  0x0
    dd  0x0
    dd  0x0
    dd  0x0
    dd  0x0
    dd  0x0
    dd  0x0
    dd  0x0
    dd  0x0
    dd  0x0
    dd  0x0
    dd  0x0
    dd  0x0
   
   
free_real_time_data:
   
    ;  Free the used resources
    ;
    ;  1) get default events
    ;  2) free irq with function 45,1
    ;  3) free port area with function 46,1
    ;
   
   
    pusha
   
    mov  eax,40                 ; default events - disable irq 4 event
    mov  ebx,111b
    int  0x40
   
    mov  eax,45                 ; free irq
    mov  ebx,1
    mov  ecx,4
    int  0x40
   
    mov  eax,46                 ; free ports 0x3f0-0x3ff
    mov  ebx,1
    mov  ecx,0x3f0
    mov  edx,0x3ff
    int  0x40
   
    popa
   
    ret
   


; The following functions are for processing device specific data.
   
   
process_data:
   
    cmp  ebx,80
    jne  nocd
   
    mov  eax,19
    mov  ebx,cdplayer
    mov  ecx,0
    int  0x40
   
   
  nocd:
   
    push ebx
    mov  eax,[pos]
    add  eax,1
    cmp  eax,10*20+1
    jb   noeaxz
    mov  esi,text+10*4
    mov  edi,text
    mov  ecx,10*21*4
    cld
    rep  movsb
    mov  eax,13
    mov  ebx,20*65536+260
    mov  ecx,22*65536+220
    mov  edx,[wcolor]
    int  0x40
    mov  eax,10*19+1
  noeaxz:
    mov  [pos],eax
    pop  ebx
    and  ebx,0xff
   
    call draw_data
   
    ret


   
draw_data:
   
    pusha
   
    xchg eax,ebx
   
    mov  ecx,10
    shl  ebx,2
    mov  esi,3
  newnum:
    xor  edx,edx
    div  ecx
    add  edx,48
    mov  [ebx+text-1],dl
    dec  ebx
    dec  esi
    jnz  newnum
   
    call draw_text
   
    popa
   
    ret

 

draw_text:
   
    pusha
   
    mov  ebx,25*65536+35           ; draw info text with function 4
    mov  ecx,0xffffff
    mov  edx,text
    mov  esi,40
    mov  edi,20
  newline:
    mov  eax,4
    int  0x40
    add  ebx,10
    add  edx,40
    dec  edi
    jne  newline
   
    popa
   
    ret
  

   
program_com_port:
   
    ; the following sequence programs COM port for infrared receiver
   
    mov  cx,0x3f3+8
    mov  bl,0x80
    mov  eax,43
    int  0x40
   
    mov  cx,0x3f1+8
    mov  bl,0
    mov  eax,43
    int  0x40
   
    mov  cx,0x3f0+8
    mov  bl,0x30 / 4
    mov  eax,43
    int  0x40
   
    mov  cx,0x3f3+8
    mov  bl,3
    mov  eax,43
    int  0x40
   
    mov  cx,0x3f4+8
    mov  bl,0xB
    mov  eax,43
    int  0x40
   
    mov  cx,0x3f1+8
    mov  bl,1
    mov  eax,43
    int  0x40
   
    mov  eax,5
    mov  ebx,100
    int  0x40
   
    mov  cx,0x3f8
    mov  bl,'I'
    mov  eax,43
    int  0x40
   
    mov  eax,5
    mov  ebx,10
    int  0x40
   
    mov  cx,0x3f8
    mov  bl,'R'
    mov  eax,43
    int  0x40
   
    ret
   
   

   
   
;   *********************************************
;   *******  WINDOW DEFINITIONS AND DRAW ********
;   *********************************************
   
   
draw_window:
   
    mov  eax,12                    ; function 12:tell os about windowdraw
    mov  ebx,1                     ; 1, start of draw
    int  0x40
   
                                   ; DRAW WINDOW
    mov  eax,0                     ; function 0 : define and draw window
    mov  ebx,100*65536+300         ; [x start] *65536 + [x size]
    mov  ecx,100*65536+250         ; [y start] *65536 + [y size]
    mov  edx,[wcolor]              ; color of work area RRGGBB,8->color
    mov  esi,0x8099bbff            ; color of grab bar  RRGGBB,8->color glide
    mov  edi,0x00ffffff            ; color of frames    RRGGBB
    int  0x40
   
                                   ; WINDOW LABEL
    mov  eax,4                     ; function 4 : write text to window
    mov  ebx,8*65536+8             ; [x start] *65536 + [y start]
    mov  ecx,0x00ffffff            ; color of text RRGGBB
    mov  edx,labelt                ; pointer to text beginning
    mov  esi,labellen-labelt       ; text length
    int  0x40
   
                                   ; CLOSE BUTTON
    mov  eax,8                     ; function 8 : define and draw button
    mov  ebx,(300-19)*65536+12     ; [x start] *65536 + [x size]
    mov  ecx,5*65536+12            ; [y start] *65536 + [y size]
    mov  edx,1                     ; button id
    mov  esi,0x5599cc              ; button color RRGGBB
    int  0x40
   
    call draw_text
   
    mov  eax,12
    mov  ebx,2
    int  0x40
   
    ret
   


   
; DATA AREA
   
wcolor   dd  0x0
pos      dd  0x0
   
cdplayer db  'CDPLAY     '
labelt   db  'INFRARED RECEIVER FOR IRMAN IN COM 1'
labellen:
   
text:
   
I_END:



eof

</PRE></TD></TD></TR></TBODY></TABLE></BODY></HTML>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产真实乱偷精品视频免| 日韩视频免费直播| 欧美性受极品xxxx喷水| 精品国产91久久久久久久妲己 | 国产精品网站在线观看| 亚洲一区av在线| 国产高清不卡一区| 欧美精品v国产精品v日韩精品| 亚洲国产成人一区二区三区| 天天综合天天做天天综合| 丁香网亚洲国际| 日韩欧美亚洲国产精品字幕久久久| 国产精品久久一卡二卡| 国产一区二区三区不卡在线观看 | 欧美日本在线播放| 自拍偷在线精品自拍偷无码专区 | 亚洲成人黄色影院| 成人国产精品免费观看| 精品999在线播放| 日本亚洲三级在线| 精品视频123区在线观看| 国产精品国产三级国产三级人妇| 久久www免费人成看片高清| 欧美三级中文字幕在线观看| 亚洲精品日韩一| 91免费国产在线观看| 国产精品久久二区二区| 成人免费毛片片v| 国产日产欧美一区| 国产成人午夜精品影院观看视频 | 色8久久精品久久久久久蜜| 亚洲欧洲日韩av| 成人免费黄色在线| 国产精品你懂的| 成人做爰69片免费看网站| 国产日韩欧美不卡在线| 懂色av噜噜一区二区三区av| 久久色成人在线| 国产精品一二三区在线| 欧美激情在线免费观看| 成人av电影观看| 亚洲欧美日韩国产综合| 在线观看免费一区| 亚洲国产精品人人做人人爽| 欧美男人的天堂一二区| 久久精品免费观看| 久久综合视频网| 国产 欧美在线| 中文字幕制服丝袜成人av| 日本久久一区二区| 午夜伦理一区二区| 日韩欧美你懂的| 国产精品一品视频| 亚洲视频狠狠干| 欧美吻胸吃奶大尺度电影| 日本中文一区二区三区| 精品国产1区二区| 99re6这里只有精品视频在线观看| 亚洲视频在线一区二区| 正在播放一区二区| 国产一区二区看久久| 亚洲欧美另类久久久精品| 欧美日韩精品一区二区天天拍小说 | 久久精品国产网站| 国产欧美中文在线| 欧洲视频一区二区| 激情另类小说区图片区视频区| 久久伊人蜜桃av一区二区| www.欧美日韩| 美女高潮久久久| 国产精品美女视频| 欧美精品久久一区| 国产a区久久久| 图片区小说区区亚洲影院| 久久众筹精品私拍模特| 91久久精品国产91性色tv| 久久99精品久久久| 亚洲老妇xxxxxx| 久久综合色天天久久综合图片| 色偷偷88欧美精品久久久| 久久丁香综合五月国产三级网站| 国产精品欧美久久久久无广告 | 97精品超碰一区二区三区| 视频一区欧美精品| 国产精品第一页第二页第三页| 欧美高清视频一二三区 | 91久久一区二区| 国产精品中文字幕日韩精品| 夜夜亚洲天天久久| 国产亚洲精品资源在线26u| 欧美日韩免费一区二区三区视频| 国产高清不卡一区二区| 麻豆精品久久精品色综合| 一区二区免费在线播放| 欧美激情一区二区| 欧美成人高清电影在线| 欧美三级资源在线| 91丨porny丨蝌蚪视频| 国产乱子伦视频一区二区三区 | 中文字幕一区二区三区av| 久久久噜噜噜久噜久久综合| 欧美一区二区三区四区在线观看| 欧洲一区二区三区在线| 一本大道av一区二区在线播放| 国产一区二区精品久久| 久久激五月天综合精品| 日韩影院精彩在线| 亚洲18色成人| 亚洲桃色在线一区| 亚洲人吸女人奶水| 中文字幕一区二区三区av| 日本一区二区三区国色天香| 久久久99免费| 久久久国际精品| 国产亚洲欧洲997久久综合 | 韩国在线一区二区| 久久激情五月激情| 蜜桃av一区二区在线观看| 日韩成人午夜精品| 久久精品噜噜噜成人88aⅴ| 麻豆视频观看网址久久| 另类小说色综合网站| 毛片av一区二区| 国产一区二区美女| 国产黄人亚洲片| 99久久精品一区| 精品视频一区三区九区| 欧美日本一区二区三区| 日韩欧美卡一卡二| 国产亚洲午夜高清国产拍精品| 亚洲国产成人一区二区三区| 18涩涩午夜精品.www| 一卡二卡三卡日韩欧美| 日精品一区二区三区| 国产精品影视网| 精品一区二区三区在线观看 | 亚洲成人先锋电影| 轻轻草成人在线| 国产在线精品一区二区三区不卡| 国产99久久久精品| 欧美综合在线视频| 欧美一区二区三区视频免费播放| 久久综合色8888| 日韩伦理av电影| 日产国产高清一区二区三区| 国产精品正在播放| 欧美性一级生活| 久久综合一区二区| 亚洲色图一区二区三区| 午夜精品久久久久| 国产成人自拍高清视频在线免费播放| 91在线国产福利| 欧美一级久久久久久久大片| 久久精品视频在线看| 亚洲国产综合91精品麻豆| 亚洲成av人片www| 国产乱理伦片在线观看夜一区| 一本一道综合狠狠老| 精品久久久久久久久久久久久久久 | 国产精品久久777777| 亚洲h在线观看| 岛国一区二区三区| 欧美日韩精品免费| 国产精品传媒入口麻豆| 美女国产一区二区| 在线精品视频免费播放| 久久精品一二三| 视频一区二区三区在线| 不卡视频一二三四| 精品国产凹凸成av人网站| 亚洲精品成人天堂一二三| 国内精品久久久久影院薰衣草| 欧美性一级生活| 亚洲三级免费观看| 国产精品18久久久久| 91精品国产日韩91久久久久久| 亚洲三级小视频| 在线看不卡av| 亚洲欧洲精品天堂一级| 国产精品亚洲专一区二区三区 | 日韩电影免费一区| 一本大道久久a久久精二百| 国产视频一区在线观看 | 亚洲精品高清在线观看| 国产91在线看| 久久亚洲捆绑美女| 日本欧美在线观看| 欧美日韩精品是欧美日韩精品| 中文字幕一区在线观看| 粉嫩av一区二区三区粉嫩| 日韩精品一区二区三区三区免费 | 麻豆精品视频在线观看| 欧美理论片在线| 亚洲综合一区在线| 99免费精品视频| 国产精品另类一区| 成人美女在线观看| 国产精品色噜噜| 97久久精品人人做人人爽50路| 中文字幕精品在线不卡|