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

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

?? re5.asm

?? 用匯編語言編寫的電梯監控系統設計 程序。
?? ASM
?? 第 1 頁 / 共 3 頁
字號:
        jg cc0
        pop cx
        ret  
        CC endp  

;**************************************************
floorscan proc near                                  ;字符串掃描子程序
       push cx
       push di                                       ;已經知道運動方向上的下一層,判斷外部按鍵緩沖區內在這層是否要停下
       push ax  
       
       mov di ,offset copydata 
       mov al ,nextfloor
       add al ,30h
       mov cx ,1000
       cld
       repnz scasb                                
       jz found                                      ;找到了
       mov ah ,0
       mov nextstop ,ah 
       jmp scanexit                                  ;運行方向上下一層不停
found:       
       mov ah ,1
       mov nextstop ,ah                              ;運行方向上下一層要停 
       
scanexit:
       pop ax
       pop di
       pop cx
       ret
       floorscan endp
;****************************************************************************
arraycmp proc near                                  ;the feedback data is ah!!!
       push si                                      ;the feedback data is ah!!!
       push di
       push cx
       
       mov si ,offset empty
       mov di ,offset copydata 
       
       mov cx ,1000
       cld
       
       repz cmpsb                                
       
       jnz noequal                                   ;The buffer is empty!
       mov ah ,0
       jmp arraycmpexit                                             ;The buffer is empty!

noequal:       
       mov ah ,1                                     ;The buffer is not empty!
       
arraycmpexit:
       pop cx
       pop di
       pop si

       ret
       arraycmp endp

;********************************************************
quit proc near
       
       disp msg2
       mov ah ,0
       int 16h
       cmp ah ,15h
       jnz quitl0
       mov ah ,4ch
       int 21h
quitl0:ret
       quit endp

;***********************************************************
rlcf  proc near
       pusha 
       mov dl ,0ah
       mov ah ,2h
       int 21h

       mov dl ,0dh
       mov ah ,2h
       int 21h
       popa
       ret
       rlcf endp
;*************************************************************
epttest proc near                                    ;emptytest程序
        pusha                                        ;used rigister:ax               
emptytest:                                           ;input data: buffer ah(from arraycmp)  
        arraycopy up_buffer                          ;feedback data:bufferstate ubstate upstat ax(dbstate ubstate) 
        call arraycmp                                
        mov  ubstate,ah
        arraycopy down_buffer
        call arraycmp
        mov  dbstate,ah
       
        mov  al    ,ubstate
        cmp  ax     ,0
        jne noept 
       
ept:    mov bufferstate ,0                          ;寄存器還沒有確定
        jmp epttestexit
        
noept:  mov bufferstate ,1
epttestexit:        
        popa
        ret
        epttest endp

;**************************************************************************
scanstore     proc near                             ;scan keyboard ,analysis and rigister it to                                                      ;right buffer.
                                                    ;feedback data is buffer,inputvalue 
                 				    ;read data from kyboard input
                                                    ;the si and di is changing by time!!!!!!
                                                    ;How to protect them is very important.     
                                                    ;used rigister:ax,si(changing),di(changing)
                                                    ;bx(from up_convert,down_convert)
       push ax
waitinput:       
        in  al,60h
        mov ah,al
       
       cmp ah ,10h                                   ;是否結束
       jnz  upcmp

       call quit

upcmp: cmp ah ,3bh                                   ;F1-F7           
       jl  dncmp
       cmp ah ,42h
       jg  dncmp
       sub ah ,3bh
       mov al ,ah
       
       call up_convert       
       jmp ssexit

dncmp: cmp ah ,03h                                   ;2-8(on the left part of the keyboard)
       jl  pre1
       ;jl ssexit
       cmp ah ,0ah
       jg  pre1
       ;jg ssexit
       sub ah ,02h
       mov al ,ah

       call down_convert       
       jmp ssexit
       
pre1:
       cmp al ,4fh
       jne pre2
       mov al ,31h
       jmp keycmp 
pre2:
       cmp al ,50h
       jne pre3
       mov al ,32h
       jmp keycmp 
pre3:
       cmp al ,51h
       jne pre4
       mov al ,33h
       jmp keycmp 
pre4:
       cmp al ,4bh
       jne pre5
       mov al ,34h
       jmp keycmp  
pre5:
       cmp al ,4ch
       jne pre6
       mov al ,35h
       jmp keycmp 
pre6:
       cmp al ,4dh
       jne pre7
       mov al ,36h
       jmp keycmp 
pre7:
       cmp al ,47h
       jne pre8
       mov al ,37h
       jmp keycmp 
pre8:
       cmp al ,48h
       jne pre9
       mov al ,38h
       jmp keycmp 
pre9: 
       cmp al ,49h
       jne ssexit
       mov al ,39h
       jmp keycmp
  
keycmp:mov ah ,bh
       add ah ,30h
       cmp al ,31h                                   ;the inner key 1-8(on the right)
                                                     ;replaced by the next row  
       jl ssexit
       cmp al ,39h
                                                     ;replaced by the next row 
       jg ssexit
       cmp al ,ah                                    ;bh=floor
       jle uneffectkey
       call disp4                                    ;disp4
       ;call disp5
upkey: sub al ,31h
       call up_convert 
       jmp ssexit
      
         
uneffectkey:
       cmp al ,ah                                    ;bh=floor     
       jne downkey
       call disp4
       ;call disp5
       jmp ssexit           

downkey:       
       call disp4
       ;call disp5
       sub al ,31h
       call down_convert
       
       
ssexit:       
        pop ax
        ret
        scanstore endp

;**********************************************
up_convert proc near
       add al ,1
       mov inputvalue,al
       add al ,30h
       mov [si],al
       inc si
       ret
       up_convert endp
;**********************************************
down_convert proc near
       add al ,1h
       mov inputvalue,al
       add al ,30h
       mov [di],al
       inc di
       ret
       down_convert endp
;**************************************************
nfsjudge proc near                                 ;已知電梯運行狀態(當前所在樓層和運行方向)和外                                                   ;部按鍵狀態
    
                                                   ;判斷運行方向上的下一層
                                                   ;nfsjudge=next floor stop judge
    mov upeffect ,0                                 ;input data is floor,bh
    mov downeffect ,0
    arrayclear copydata                            ;feedback data is nextfloor,nextstop,upeffect,downeffect
                                                   ;清除arraycopy

up: 
                                                   ;此時是否正在向上運動 
    cmp bl ,0                                      ;bh rigister the direction value       
    jne down
    mov al ,bh
    add al ,1                                      ;floor+1                
    mov nextfloor,al
    
    arraycopy up_buffer                            ;復制外部上鍵的緩存    up_buffer到copydata
    call floorscan
    cmp nextstop ,1
    jne up00  
    mov upeffect ,1
    jmp nfsjudgeexit                               ;由up_buffer決定
    
up00:
    arraycopy down_buffer
    call floorscan 
    cmp nextstop ,0                                ;up_buffer,down_buffer中都沒有nextfloor,則給nextstop賦0的值 
    je nfsjudgeexit 

;************************determine whether have a larger number in down_buffer;     
    push di                                        ;up_buffer中沒有 down_buffer中有,此時nextstop=1
                                                   ;需要判斷down_buffer中有沒有值大于nextfloor
    push cx
    mov di ,offset copydata
    mov al ,nextfloor 
    add al ,30h
    mov cx ,1000
uploop:
    mov ah ,[di]
    cmp ah ,al                                     ;ah=element ,al=nextfloor
    jg  up1                                        ;down_buffer中存在元素大于nextfloor,存在元素等于nextfloor
    inc di
    dec cx   
    loop uploop
    jmp up2
up1:mov nextstop,0
    jmp up3
up2:mov nextstop,1
    mov downeffect,1   
up3:pop cx
    pop di
    jmp nfsjudgeexit
     
down:                                              ;此時是否正在向下運動  
        
    mov al ,bh
    sub al ,1                                      ;bh=floor, floor-1
    mov nextfloor,al    
    arraycopy down_buffer                          ;復制外部下鍵緩存down_buffer到copydata
    call floorscan
    
    cmp nextstop ,1
    jne down00
    mov downeffect,1
    jmp nfsjudgeexit
    
down00:
    arraycopy up_buffer
    call floorscan 
    cmp nextstop ,0                                ;down_buffer,up_buffer中都沒有nextfloor,則給nextstop賦0的值 
    je nfsjudgeexit 

 
    push di                                        ;down_buffer中沒有 up_buffer中有,此時nextstop=1
                                                   ;需要判斷up_buffer中有沒有值小于nextfloor
    push cx
    mov di ,offset copydata
    mov al ,nextfloor 
    add al ,30h
    mov cx ,1000
downloop:
    mov ah ,[di]
    cmp ah ,0
    jz  down0
    cmp ah ,al                                     ;ah=element ,al=nextfloor
    jl  down1
down0:    
    inc di
    dec cx   
    loop downloop
    jmp down2    
down1:
    mov nextstop,0
    jmp down3
down2:
    mov nextstop,1
    mov upeffect,1   
down3:
    pop cx
    pop di
    jmp nfsjudgeexit
     
nfsjudgeexit:
   
    ret
    nfsjudge endp
;*********************************************************
directionjudge proc near                          ;This judgement is made after the Wait (rp                                                       ;by CC)procedure!
     push ax
     
     call epttest                                 ;To decide the direction
     mov  al ,bufferstate                         ;input data is direction,floor(on which the                                                   ;lift open),buffer
     cmp al ,0                                    ;feedback data is direction
     je dj1                                       ;only focus on direction=0 or 1
                                                  ;when d=2,the direction is decided by the first                                                                               ;input during Wait procedure!                                                             
                                     
     
     cmp upeffect  ,1
     jne dj2                                      ;d=0
     call d0
     jmp djexit

dj2: call d1                                      ;d=1
     jmp djexit

dj1: mov bl,2                                     ;buffer is empty! So the lift is still on                                                                                     ;the floor!
     
djexit:
     pop ax
     ret

directionjudge endp

;**************************
d0 proc near
    push ax
    push di
    push si
    push cx
    ;push ds
    ;mov ax,data
    ;mov ds,ax
    arraycopy up_buffer
    mov di ,offset copydata
    mov cx ,1000

d00cmp: 
    mov ah ,[di]
    sub ah ,30h
    cmp ah ,bh
    jg d00
    inc di
    loop d00cmp
    nop
    nop
    nop

    arraycopy down_buffer
    mov di ,offset copydata
    
    mov cx ,1000

d01cmp:
    mov ah ,[di]
    sub ah ,30h
    cmp ah ,bh
    jg d00
    inc di
    loop d01cmp
    nop
    nop
    nop
    mov bl ,1
    jmp d0exit
d00:mov bl ,0
    
d0exit:
   ;pop ds
   pop cx
   pop si
   pop di
   pop ax
   ret
d0 endp
;**************************
d1 proc near
    push ax
    push di
    push si
    push cx
    ;???????????????????????????
    ;push ds
    ;mov ax,data
    ;mov ds,ax
    arraycopy down_buffer
    mov di ,offset copydata
    mov cx ,1000

d10cmp: 
    mov ah ,[di]
    cmp ah ,0
    jz d10cmpp
    sub ah ,30h
    cmp ah ,bh
    jl d10

d10cmpp:
    inc di
    loop d10cmp
    nop
    nop
    nop


    arraycopy up_buffer
    mov di ,offset copydata
    
    mov cx ,1000

d11cmp:
    mov ah ,[di]
    cmp ah ,0
    jz d11cmpp
    sub ah ,30h
    cmp ah ,bh
    jl d00
d11cmpp:    
    inc di
    loop d11cmp
    nop
    nop
    nop
    mov bl,0
    
    jmp d1exit
d10:mov bl,1
    
d1exit:
   ;pop ds
   pop cx
   pop si
   pop di
   pop ax
   ret
d1 endp
;**********************************************
CCD2 proc near

     mov cx ,0ffffh                           ;shoud be given again!
ccd20:     
     call epttest
     cmp bufferstate,0
     
     jne ccd22 
     
ccd21:   
     call scanstore
     call disp2
     call delay1
     call scanstore
     call disp2
     call delay1
     dec cx  
     cmp cx,1
     jnz ccd20   
     mov bl ,2 
     jmp ccd2exit

ccd22: 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲超碰97人人做人人爱| 91久久香蕉国产日韩欧美9色| 99久久99久久精品免费看蜜桃| 欧美三级中文字幕| 中文字幕av不卡| 久久精品国产**网站演员| 日本韩国精品一区二区在线观看| 精品理论电影在线观看| 亚洲午夜一二三区视频| www.欧美.com| 国产日韩欧美精品在线| 日韩和欧美一区二区三区| 97se狠狠狠综合亚洲狠狠| 国产日韩视频一区二区三区| 人人超碰91尤物精品国产| 欧美三级午夜理伦三级中视频| 亚洲色欲色欲www在线观看| 成人综合日日夜夜| 久久亚洲春色中文字幕久久久| 久久99在线观看| 欧美精品乱码久久久久久| 一区二区国产盗摄色噜噜| 99久久免费视频.com| 中文字幕一区在线观看| 国产69精品久久久久毛片| 久久久久高清精品| 国产suv一区二区三区88区| 久久亚洲综合av| 国产最新精品免费| 久久青草国产手机看片福利盒子| 国产综合一区二区| 久久精品水蜜桃av综合天堂| 国产高清精品网站| 国产精品国产三级国产普通话三级| 福利一区二区在线观看| 国产精品无人区| 色综合久久天天综合网| 亚洲影视在线播放| 9191成人精品久久| 精彩视频一区二区| 欧美激情一区二区三区| 97精品电影院| 五月激情综合网| 91精品国产色综合久久| 蜜臀av性久久久久蜜臀aⅴ流畅 | 中文字幕一区三区| 99久久久国产精品免费蜜臀| 亚洲精品日产精品乱码不卡| 欧美专区在线观看一区| 日本特黄久久久高潮| 欧美精品一区二区三区一线天视频 | 精品一区二区三区日韩| 久久精品网站免费观看| 91色porny在线视频| 亚洲第一会所有码转帖| 精品国精品国产尤物美女| 国产不卡视频一区二区三区| 一区二区在线看| 91精品国产欧美一区二区成人| 精品一区二区三区免费毛片爱 | 国产成人在线视频播放| 亚洲人成网站色在线观看| 制服丝袜在线91| 成人午夜av在线| 亚洲国产精品一区二区久久| 欧美成人精品3d动漫h| 成人av先锋影音| 午夜激情综合网| 日本一区二区久久| 欧美性高清videossexo| 国产成人亚洲综合a∨猫咪| 一区二区不卡在线播放| 久久影院视频免费| 欧美三级日韩三级国产三级| 粉嫩av一区二区三区| 亚洲成人一二三| 中文字幕一区二区三区四区 | 日韩欧美在线123| 99免费精品在线| 久草精品在线观看| 亚洲成av人综合在线观看| 久久久久久电影| 欧美精品久久99| 91麻豆精品秘密| 国产主播一区二区三区| 午夜亚洲国产au精品一区二区| 国产蜜臀av在线一区二区三区| 在线不卡中文字幕| 91成人在线免费观看| 成人av影院在线| 国产精品亚洲成人| 久久不见久久见免费视频1| 午夜影院在线观看欧美| 亚洲视频一二三| 国产亚洲精品超碰| 精品少妇一区二区三区免费观看| 91精品福利视频| av在线不卡免费看| 成人丝袜高跟foot| 国产麻豆午夜三级精品| 久久se精品一区二区| 奇米亚洲午夜久久精品| 午夜日韩在线电影| 一区二区三区小说| 一区二区三区免费观看| 成人免费在线视频观看| 国产精品乱码一区二区三区软件 | 粉嫩在线一区二区三区视频| 蜜乳av一区二区| 欧美96一区二区免费视频| 婷婷开心激情综合| 婷婷一区二区三区| 日韩高清不卡一区二区| 免费精品99久久国产综合精品| 石原莉奈在线亚洲二区| 欧美a级一区二区| 美女视频网站久久| 精品一区二区三区在线观看国产| 日本中文一区二区三区| 久久精品久久久精品美女| 精品一区二区三区免费毛片爱 | 欧美综合色免费| 欧美日韩一区二区在线观看| 69久久夜色精品国产69蝌蚪网| 欧美日韩高清一区二区不卡| 欧美男人的天堂一二区| 制服丝袜av成人在线看| 欧美电影免费观看高清完整版在线 | 亚洲黄色免费网站| 亚洲sss视频在线视频| 欧美96一区二区免费视频| 狠狠色丁香九九婷婷综合五月| 久久91精品久久久久久秒播| 成人免费不卡视频| 欧美综合一区二区三区| 日韩欧美精品在线| 国产精品久久久久精k8| 亚洲成人av一区| 精品一区二区三区日韩| 91视视频在线观看入口直接观看www | av亚洲精华国产精华精| 欧美中文字幕一区二区三区亚洲| 69堂国产成人免费视频| 欧美韩国一区二区| 香蕉久久夜色精品国产使用方法| 美女免费视频一区| hitomi一区二区三区精品| 欧美日韩另类国产亚洲欧美一级| 精品乱码亚洲一区二区不卡| 国产精品二三区| 麻豆国产91在线播放| 91欧美激情一区二区三区成人| 在线不卡中文字幕播放| 国产精品国产a| 麻豆国产91在线播放| 91久久免费观看| 亚洲精品一线二线三线| 亚洲免费大片在线观看| 韩国三级中文字幕hd久久精品| 91麻豆成人久久精品二区三区| 欧美一级艳片视频免费观看| 亚洲四区在线观看| 国产一区二区三区在线观看免费| 欧美亚洲国产bt| 国产精品高潮呻吟久久| 寂寞少妇一区二区三区| 欧美性色综合网| 中文字幕欧美日韩一区| 男男视频亚洲欧美| 在线看国产一区二区| 欧美激情综合五月色丁香| 免费视频最近日韩| 欧美三级电影精品| 国产精品伦理一区二区| 国产一区二区三区免费播放| 欧美精品 日韩| 伊人色综合久久天天| 成人99免费视频| 国产亚洲综合性久久久影院| 男男gaygay亚洲| 欧美日韩一区二区在线视频| 综合亚洲深深色噜噜狠狠网站| 精品一区二区三区免费播放 | 在线影院国内精品| 成人免费一区二区三区视频| 久久99日本精品| 日韩一区二区三区在线| 亚洲成人中文在线| 欧美日韩国产bt| 亚洲成人综合视频| 欧美日本国产一区| 亚洲高清视频在线| 欧美影视一区在线| 亚洲午夜在线电影| 欧美三区在线观看| 午夜精品久久久| 日韩一区二区在线观看视频播放| 日韩国产一二三区| 精品久久久网站| 国产米奇在线777精品观看|