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

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

?? 接口課程設計0.asm

?? 用8255實現一個5層模擬電梯
?? ASM
字號:
             
 data segment
   table db      06h ;   1  ;樓層轉換表
          db      5bh ;  2
          db      4fh ;  3
          db      66h ;  4
          db      6dh ;  5 
    uds_sign db  2  ;    0 up,1 down ,2 stop
    now_floor db 1;    當前電梯所在樓層
    array db  0,0,0,0,0   ;樓層隊列,保存掃描到的樓層
    array_pre db 0              ;指針,實現循環隊列
    array_next db 0 
    d_div db     5         ;循環隊列最長的長度
    floor db  0            ;讀取的樓層
    sign_b  db 0           ;保存b口前一狀態,用于比較跟當前b口對比,判斷是否有人需要乘電梯
data ends       
              
   stack  segment
         db 256 dup(0) 
 stack  ends          
   code   segment
   ioyo    equ    0e400h
   port_a  equ    ioyo+00h*4          ;8255 四個口的地址
   port_b  equ    ioyo+01h*4
   port_c  equ    ioyo+02h*4
   contl   equ    ioyo+03h*4   
   
  ;/**********主程序*************/
main proc     
   assume as:data,cs:code,ss:stack
       
   begin:
         mov ax,data
         mov ds,ax
         mov dx,contl    ;讀出B口的初狀態,后面要用到
         mov al,10011011b
         out dx,al
         mov dx,port_b
         in  al,dx
         mov sign_b,al   ;保存b口狀態
     run:
         mov cx,400
     loop_dis: 
         call display_floor       ;這幾個子程序輪換執行,顯示樓層,
         call display_up3
         call display_down3        ;        上下樓,
         call display_sr          ;         停止或運行,
         call check_b             ;        檢測是否用人需用電梯,
         call scan                ;         掃描按鍵 .
         loop loop_dis
         mov al,array_pre
         cmp al,array_next
         je run
         mov bh,0
         mov bl,array_pre
         mov al,[array+bx]
         cmp al,now_floor
         jns up
         je  stop
         mov uds_sign,1           ;正在下樓
         mov bl,array_pre
         mov bh,0
         mov al,[array+bx]
    down_:     
         mov cx,400        ;延時 
   down_loop:      
         call display_floor
         call display_down3
         call display_sr
         call check_b
         call scan
         loop down_loop
         dec now_floor
         cmp al,now_floor
         je stop
         jmp  down_
      up:                            ;正在上樓
         mov uds_sign,0
         mov bl,array_pre
         mov bh,0
         mov al,[array+bx]
     up_:     
         mov cx,400
     up_loop:    
         call display_floor
         call display_up3
         call display_sr
         call check_b
         call scan 
         loop up_loop
         inc now_floor
         cmp al,now_floor
         je stop
         jmp up_
      stop:                        ;在某樓層停下
         mov uds_sign,2
         mov al,array_pre
         inc al
         mov ah,0
         div d_div
         mov array_pre,ah
         jmp run 
            
main endp
;  /******主程序*****end******/

       ;/**********行反轉法掃描鍵盤子程序***********/
   scan proc near
         push dx
         push ax
         
         mov dx,contl
         mov al,10000001b 
         out dx,al          
         mov al,0h
         mov dx,port_a    ;關閉數碼管,因為數碼管和鍵盤共四引腳
         out dx,al          
         mov dx,port_c      
         mov ax,0h        ;C口掃描鍵盤  
         out dx,al        ;c口高4位 行值
         in  al,dx        ;低4位   列值
         and al,00001111b
         cmp al,00001111b
         jz  scan_d         ;沒鍵按下,退出
         push ax 
         call delay1  
         
         mov dx,contl
         mov al,10001000b
         out dx,al
         
         mov dx,port_a    ;關閉數碼管
         out dx,al 
         mov al,0
         out dx,al
         
         pop ax
         mov ah,al
         mov dx,port_c
         out dx,al
         in  al,dx
         
         and ax,0ff0h
         add al,ah
         mov ah,al
         xor al,11011110b
         jz  make5
         mov al,ah
         xor al,11100111b
         jz make4
         mov al,ah
         xor al,11101011b
         jz make3
         mov al,ah
         xor al,11101101b
         jz  make2
         mov al,ah
         xor al,11101110b
         jz  make1
         jmp scan_d 
        
    make5:
         mov floor,5         ;轉化所得的按鍵值
         jmp scan_end
    make4:
         mov floor,4
         jmp scan_end
    make3:
         mov floor,3
         jmp scan_end
    make2:
         mov floor,2
         jmp scan_end
    make1:
         mov floor,1
         jmp scan_end                    
    scan_end:
         call get_array      ;將轉換后的按鍵值存在樓層隊列中
    scan_d:
         pop ax
         pop dx
         ret
   scan endp  
   ;/****行反轉法掃描鍵盤子程序***end********/ 
   
         
   
   ;/***********樓層顯示子程序*************/
   display_floor  proc
         push dx
         push bx
         push ax
         cmp uds_sign,2
         je  floor_e 
         mov bl,array_pre
         mov bh,0
         mov al,[array+bx]
         cmp al,now_floor
         je  floor_e 
         js  floor_s
         mov bl,now_floor+1
         jmp floor_end
  floor_e:
         mov bl,now_floor
         jmp floor_end
  floor_s:
         mov bl,now_floor-1
         jmp floor_end
  floor_end:       
         mov dx,contl
         mov al,10001010b 
         out dx,al
         mov bh,0
         sub bx,1
         mov al,[table+bx]    ;置斷碼
         mov dx,port_a
         out dx,al
         mov al,11111110b    ;置位碼
         mov dx,port_c
         out dx,al 
         call delay1 
         pop ax
         pop bx
         pop dx  
         ret
   display_floor  endp  
   ;/****樓層顯示子程序*****end********/
   
   ;/***********上樓顯示**********/
   
   
   
   
   display_up3 proc
          push dx
          push ax
          cmp uds_sign,0
          jne up_end3
          mov dx,contl
          mov al,10000000b
          out dx,al
          mov dx,port_a
          mov al,00000111b
          out dx,al
          mov dx,port_c
          mov al,11111101b
          out dx,al
          call delay1
      up_end3:
          pop ax
          pop dx
          ret
   display_up3 endp 
   ;/*****上樓顯示****end******/
   
   
   ;/************下樓顯示子程序***********/
   
   
   
   display_down3 proc
         push dx
         push ax
         
         cmp uds_sign,1
         jne down_end3
         mov dx,contl
         mov al,10000000b
         out dx,al
         mov dx,port_a
         mov al,00111000b
         out dx,al
         mov dx,port_c
         mov al,11111101b
         out dx,al
         call delay1
     down_end3:
         pop ax
         pop dx
         ret
   display_down3 endp
   ;/******下樓顯示子程序****end*******/
   
   ;/*************檢測是否有人需要乘電梯子程序**************/
   check_b proc
         push dx
         push ax
         push cx
         
         mov dx,contl
         mov al,10011011b
         mov dx,port_b
         in  al,dx
         mov bl,al     ;保存現在b口狀態
         xor al,sign_b
         je check_end
         mov sign_b,bl  ;刷新b口狀態
         shl al,3
         mov cx,5
    check_floor:         ;判斷哪樓有人需要用電梯
         cmp al,80h
         je check_out
         loop check_floor  
    check_out:
         mov floor,cl
         call get_array
    check_end:
         pop cx
         pop ax
         pop dx
         ret
   check_b endp 
   ;/*****檢測是否有人需要乘電梯子程序****end**********/   
   
   
   ;/***********電梯停或運行顯示子程序*********/ 
   display_sr proc
         push dx
         push ax
       
         mov dx,contl
         mov al,10011001b
         out dx,al
         mov dx,port_b
         cmp uds_sign,2
         je  dis_stop
         mov al,10000000b   ;綠燈行
         out dx,al
         jmp display_sre
     dis_stop:              ;紅燈停
         mov al,01000000b
         out dx,al
         jmp display_sre
     display_sre:
         call delay1 
         pop ax
         pop dx
         ret
   display_sr endp 
   ;/***電梯停或運行顯示子程序***end******/ 
   
   ;/**********獲取樓層隊列子程序***********/
   get_array proc
         push dx
         push cx
         push ax
         push bx
         
         mov dl,array_pre
         mov dh,array_next
    get_:     
         cmp dl,dh
         je  get
         mov cl,floor  
         mov bl,dl
         mov bh,0
         mov ch,[array+bx]
         cmp ch,cl
         je  get_end
         inc bl
         mov al,bl
         mov ah,0
         div d_div
         mov bl,ah
         jmp get_
     get:
         mov cl,floor    
         mov bl,dh
         mov bh,0
         mov [array+bx],cl
         inc bl
         mov al,bl
         mov ah,0
         div d_div
         mov array_next,ah
     get_end:
         pop bx
         pop ax
         pop cx
         pop dx    
         ret       
   get_array endp
   ;/*****獲取樓層隊列子程序***end********/
   
   ;/***********延時子程序***********/
   delay1 proc 
          push cx
          
          mov cx,200
     loop7: loop loop7 
          pop cx
          ret
  delay1 endp 
   ;/****延時子程序****end*******/
code ends
      end  begin     
          
                          

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人毛片在线观看| 成人精品免费网站| 国产一区在线视频| 色999日韩国产欧美一区二区| 972aa.com艺术欧美| 日韩一区二区三区电影在线观看 | 亚洲国产精品成人综合| 亚洲高清三级视频| 国产不卡在线一区| 91精品国产美女浴室洗澡无遮挡| 国产精品美日韩| 裸体健美xxxx欧美裸体表演| 色综合天天综合狠狠| www激情久久| 日韩 欧美一区二区三区| 91亚洲午夜精品久久久久久| 国产日韩影视精品| 首页欧美精品中文字幕| 欧美性受极品xxxx喷水| 中文av字幕一区| 国产一区91精品张津瑜| 久久久精品影视| 欧美高清视频一二三区| 国产一区不卡在线| 亚洲精品在线免费观看视频| 久久er精品视频| 欧美激情在线看| 91在线观看一区二区| 亚洲小说欧美激情另类| 欧美一级片在线| 福利一区福利二区| 亚洲欧洲日韩av| 成人免费在线视频| 亚洲综合成人在线| 在线看一区二区| 亚洲一二三区不卡| 在线观看视频一区| 一区二区成人在线| 欧美三级欧美一级| 香蕉久久一区二区不卡无毒影院 | 懂色av一区二区三区蜜臀| 日韩一级完整毛片| 日韩精品三区四区| 欧美综合一区二区| 91黄色小视频| 日韩av成人高清| 日韩亚洲国产中文字幕欧美| 亚洲高清在线精品| 欧美日韩视频不卡| 亚洲一级电影视频| 在线视频你懂得一区二区三区| 免费在线一区观看| 欧美中文字幕一区二区三区| 亚洲欧美日韩系列| 99国产精品99久久久久久| 国产精品久久久久毛片软件| 99久久精品国产观看| 亚洲日本va午夜在线影院| 99久久亚洲一区二区三区青草| 国产精品成人免费精品自在线观看| 丁香五精品蜜臀久久久久99网站| 国产精品色哟哟网站| 国产精品一区二区男女羞羞无遮挡 | 欧美日韩在线播放三区| 一区二区三区不卡视频在线观看 | 日韩一区二区在线观看视频 | 欧美一区二区三区成人| 免费观看在线色综合| 久久人人97超碰com| 国产福利不卡视频| 日韩一区中文字幕| 精品福利一区二区三区| 国产高清不卡二三区| 国产精品国产三级国产专播品爱网| 91污在线观看| 日韩精品一级二级| 久久九九久精品国产免费直播| 成人av影视在线观看| 中文字幕不卡一区| 91视频www| 另类小说视频一区二区| 欧美韩国一区二区| 在线观看精品一区| 精品一区二区三区视频在线观看| 国产目拍亚洲精品99久久精品| 91玉足脚交白嫩脚丫在线播放| 日韩电影在线观看电影| 久久蜜桃av一区二区天堂| 91免费国产在线| 老司机午夜精品| 亚洲另类在线一区| 日韩欧美国产综合在线一区二区三区| 九九**精品视频免费播放| 久久精品在这里| 在线影院国内精品| 激情深爱一区二区| 亚洲午夜精品久久久久久久久| 久久久99精品免费观看| 欧美色网站导航| 成人中文字幕合集| 蜜臀久久久99精品久久久久久| 日韩伦理av电影| 久久久久青草大香线综合精品| 欧美日韩在线播放三区| 成人激情开心网| 国产一区欧美二区| 亚洲日本va在线观看| 国产目拍亚洲精品99久久精品| 日韩亚洲国产中文字幕欧美| 欧美亚洲禁片免费| 暴力调教一区二区三区| 精品一区二区三区av| 午夜精品久久久久久久蜜桃app| 国产精品日韩成人| 精品成a人在线观看| 欧美日韩黄色一区二区| 99久久er热在这里只有精品66| 国内不卡的二区三区中文字幕 | 亚洲欧美日韩系列| 国产精品每日更新在线播放网址| 日韩免费在线观看| 欧美高清dvd| 欧美日韩一二三区| 欧美午夜电影一区| 色综合av在线| 色爱区综合激月婷婷| 99久久婷婷国产| 国产成人精品三级麻豆| 国产乱一区二区| 国产精品自在欧美一区| 天堂精品中文字幕在线| 亚洲丝袜美腿综合| 亚洲女同女同女同女同女同69| 成人免费在线视频| 美女视频黄a大片欧美| 亚洲午夜在线电影| 亚洲国产欧美一区二区三区丁香婷| 一区二区三区av电影| 亚洲黄色av一区| 婷婷综合另类小说色区| 午夜国产精品一区| 天天爽夜夜爽夜夜爽精品视频| 亚洲aaa精品| 美女网站色91| 蜜桃精品视频在线| 国产剧情av麻豆香蕉精品| 国产久卡久卡久卡久卡视频精品| 国产精品小仙女| av网站免费线看精品| 在线免费亚洲电影| 欧美久久久久免费| 精品国产欧美一区二区| 国产亚洲欧美激情| 国产精品久久久久永久免费观看| 亚洲男帅同性gay1069| 亚洲免费视频成人| 人人狠狠综合久久亚洲| 久久99日本精品| 成人夜色视频网站在线观看| 色噜噜久久综合| 日韩一区二区三区四区| 国产日产精品1区| 一区二区三区中文免费| 美腿丝袜在线亚洲一区| 国产99精品国产| 欧美日韩1234| 欧美变态口味重另类| 久久久国产精品不卡| 国产精品毛片无遮挡高清| 一区二区三区精品在线| 亚洲一区二区三区在线播放| 国产尤物一区二区| 91久久久免费一区二区| 欧美一区二区成人6969| 中文字幕欧美三区| 一区二区三区产品免费精品久久75 | 久久午夜老司机| 夜夜精品视频一区二区| 国产一区二区三区四| 91国产福利在线| 欧美激情一区二区在线| 午夜精品福利一区二区三区蜜桃| 韩国毛片一区二区三区| 欧美日韩精品一区二区| 国产精品乱子久久久久| 日韩成人一级片| 91丨九色丨黑人外教| 久久影视一区二区| 丝袜美腿亚洲一区二区图片| www.成人在线| 欧美本精品男人aⅴ天堂| 一区二区三区在线视频播放 | 国产亚洲欧美日韩俺去了| 亚洲图片欧美视频| 国产一本一道久久香蕉| 欧美亚男人的天堂| 成人免费在线视频| 国产成a人亚洲| 国产日韩欧美高清在线| 日本欧美一区二区三区|