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

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

?? 微機電梯課程設計.asm

?? 電梯控制匯編經典程序 結合清華大學的TCP微機實驗裝置模擬電梯運行 很好用
?? ASM
字號:
data segment

ioport     equ 0cc00h-0280h

ls273a      equ ioport+2a8h;74ls273芯片地址
ls273b      equ ioport+2b0h
;ls273c      equ ioport+2b8h

io8255a equ ioport+288h;8255控制端以及a,c端口地址
io8255b equ ioport+289h
io8255c equ ioport+28ah
io8255  equ ioport+28bh
io8253a equ ioport+280h;8253控制端以及0,1計數端口地址

io8253b equ ioport+281h

io8253c equ ioport+283h

led  db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh;七段碼
MENU   DB      '               ************************************************',0DH,0AH
	DB      '               *                 電梯                          *',0DH,0AH	
       db      '               *      8255b--pb6~pb0--led6~led0               *',0Dh,0Ah
       db      '               *                                              *',0Dh,0Ah
       db      '               *      pa0~pa7-----a~g                         *',0Dh,0Ah
       db      '               *      8255CS~288H  8253cs~280h ls273~2a8,2b0  *',0Dh,0Ah
       db      '               *    08006127   凌學夢                          *',0Dh,0Ah
	db      '               ************************************************',0Dh,0Ah
	DB      '1~8------1 ~ 8FLOOR!',0DH,0AH
       DB      'P----------STOP!',0DH,0AH
	DB      'V----------DIRECT ARRIVE!',0DH,0AH
       DB      'ESC----------EXIT!',0DH,0AH
       DB      'ENTER----------RUN!',0DH,0AH,'$'

data ends

code segment

       assume cs:code,ds:data

start:       mov ax,data

       mov ds,ax
	mov dx,offset menu
	mov ah,09
	int 21h
       mov dx,io8255;8255初始化,a口輸出,c口輸入


       mov al,89h

       out dx,al

       mov cl,31h;cl代表當前電梯所在樓層,初始值設為1   

main:     mov al,0

       call disp;顯示當前樓層

       mov bl,0;bl為第一次輸入的要去的樓層

       mov ch,0;ch為在中途中再次輸入的要去的樓層

       call disp8led

       mov ah,01;鍵盤輸入bl

       int 21h

       cmp al,1bh;是esc則退出

       je exit1

       cmp al,31h;在1-8之間?如不是重新輸入

       jl main

       cmp al,38h

       jg main

       mov bl,al

       call disp8led;8led顯示bl對應的樓層

       cmp bl,cl;bl與cl比較

       je main;相等則返回重新輸入

       jg up;大于則向上運行

jl down;小于則向下運行

up:  call stop;調用暫停子程序

goup:     add cl,1

       call updelay;調用向上運行延時子程序

       call disp;調用顯示子程序,用于顯示當前樓層cl

       cmp cl,bl;cl,bl不等則繼續

       je main;相等則返回

       jmp goup

exit1: jmp exit

tomain:jmp main

upgetch:mov ah,1;在上升過程中如在有按鍵則跳轉此處

       int 21h

       cmp al,73h;s鍵斷電待修,驗收時改用開關改變8253門控信號實現該功能

       je uprepair

       cmp al,70h;p鍵急停鍵

       je urgent

       cmp al,31h;在1-8之間?如不是繼續上行

       jl gotoup

       cmp al,38h

       jg gotoup

       mov ch,al

       call disp8led;顯示cl對應樓層led

       call delay2;兩秒計時時間到

       call disp;顯示當前樓層

       call blequcl;判斷bl與cl是否相等

       cmp ch,cl;比較ch與cl的區別

       je stopupbl;相等著在該層停,等待運行信號輸入

       jl upbldownch;ch小于cl則先上行至bl在下行至ch

       cmp ch,bl;ch大于cl則在判斷ch與bl的大小關系

       je jmpupbl;相等則一直上行至bl

       jl upchupbl;ch大于cl小于bl則先上行到ch在上行到bl

       jg toupblupch;ch大于bl則先上行到bl在上行到ch

gotoup:call delay2

       jmp goup     

uprepair:mov al,0;驗收時未用

       mov ah,1

       int 21h

       cmp al,73h

       jne uprepair

       call delay2

       call disp

 jmp goup

urgent:   call delay2;急停功能

       call disp

       jmp main

updelay proc near;向上運行延時子程序

       call delay;用于初始化8253

       push dx

ud:  mov ah,1;鍵盤是否有輸入

       int 16h

       jne upgetch;如有則跳轉到輸入處理

       mov dx,io8255c;8255c口輸入

       in al,dx

       and al,01;是否計時結束

       jz ud

       pop dx

       ret

updelay endp

toupblupch:jmp upblupch

down:    call stop;調用暫停子程序

godown:       sub cl,1

       call downdelay;調用向下運行延時子程序

       call disp;調用顯示子程序,用于顯示當前樓層cl

       cmp cl,bl;cl,bl不等則繼續

       je tomain;相等則返回

       jmp godown

stopupbl:call disp

       mov ch,0

       call disp8led

       call stop2

       call upbl

       jmp main

upbldownch:call disp8led

       call upbl

       mov bl,0

       call disp8led

       call stop2

       call downch

       jmp main

jmpupbl:mov ch,0

       call disp8led

       call upbl

       jmp main

upchupbl:call disp8led

       call upch

       mov ch,0

call disp8led

call stop2

       call upbl

       jmp main

upblupch:call disp8led

       call upbl

       mov bl,0

       call disp8led

       call stop2

       call upch

       jmp main

downdelay proc near;向下運行延時子程序,與向上運行延時子程序大體相同

       call delay

       push dx

ddy:  mov ah,1

       int 16h

       jne downgetch

       mov dx,io8255c

       in al,dx

       and al,01

       jz ddy

       pop dx

       ret

downdelay endp

downgetch:mov ah,1;在下降過程中如在有按鍵則跳轉此處

       int 21h

       cmp al,73h;s鍵斷電待修,驗收時改用開關改變8253門控信號實現該功能

       je downrepair

       cmp al,70h;p鍵急停鍵

       je urgent2

       cmp al,31h;在1-8之間?如不是繼續下降

       jl gotodown

       cmp al,38h

       jg gotodown

       mov ch,al

       call disp8led;顯示cl對應樓層led

       call delay2;兩秒計時時間到

       call disp;顯示當前樓層

       call blequcl;判斷bl與cl是否相等

       cmp ch,cl;比較ch與cl的區別

       je stopdownbl;相等著在該層停,等待運行信號輸入

jg downblupch;ch大于cl則先下行至bl在上行至ch

       cmp ch,bl;ch小于cl則在判斷ch與bl的大小關系

       je jmpdownbl;相等則一直下行至bl

       jl downbldownch;ch小于cl小于bl則先下行到bl在下行到ch

       jg downchdownbl;ch大于bl則先下行到ch在下行到bl

gotodown:call delay2

       jmp godown

downrepair:mov al,0

       mov ah,1

       int 21h

       cmp al,73h

       jne downrepair

       call delay2

       call disp

       jmp godown

stopdownbl:call disp8led

       mov ch,0

       call disp8led

       call stop2

       call downbl

       jmp main

downblupch:call disp8led

       call downbl

       mov bl,0

       call disp8led

       call stop2

       call upch

       jmp main

urgent2:call delay2;急停功能

       call disp

       jmp main

jmpdownbl:mov ch,0

       call disp8led

       call downbl

       jmp main

downbldownch:call disp8led

       call downbl

       mov bl,0

       call disp8led

       call stop2

       call downch

       jmp main

downchdownbl:call disp8led

       call downch

mov ch,0

       call disp8led

       call stop2

       call downbl

       jmp main

vip: cmp bl,cl;直達功能

       jl vipdown

       jg vipup

       jmp main

vipup:    add cl,1

       call vipdelay

       call disp

       jmp vip

vipdown:sub cl,1

       call vipdelay

       call disp

       jmp vip

vipgetch:mov ah,1;直達過程中對急停以及斷電待修的處理

       int 21h

       cmp al,73h

       je viprepair

       cmp al,70h

       je urgent2

       call delay2

       jmp vip

viprepair:mov al,0

       mov ah,1

       int 21h

       cmp al,73h

       jne viprepair

       call delay2

       call disp

       jmp vip

vipdelay proc near;直達的延時子程序

       call delay

       push dx

vd:  mov ah,1

       int 16h

       jne vipgetch

       mov dx,io8255c

       in al,dx

       and al,01

       jz vd

       pop dx

       ret

vipdelay endp

stop proc near;暫停子程序,實現按回車繼續和判斷是否為直達鍵

gostop:  mov al,0

       mov ah,1

       int 21h

       cmp al,76h;是否為直達鍵

       je vip

       cmp al,13;是否為運行鍵

       jne gostop

       mov al,0

       ret

stop endp

upbl proc near;上行到bl的子程序

upbl1:    add cl,1

       call dirdelay

       call disp

       cmp cl,bl

       jl upbl1

       ret

upbl endp

upch proc near;上行到ch的子程序

upch1:   add cl,1

       call dirdelay

       call disp

       cmp cl,ch

       jl upch1

       ret

upch endp

 

downbl proc near;下行到bl的子程序

downbl1:sub cl,1

       call dirdelay

       call disp

       cmp cl,bl

       jg downbl1

       ret

downbl endp

downch proc near;下行到ch的子程序

downch1:sub cl,1

       call dirdelay

       call disp

       cmp cl,ch

       jg downch1

       ret

downch endp

delay proc near;初始化8253的子程序,兩計數器連級

       push dx

mov dx,io8253c;8253的計數器0置方式3

       mov al,36h

       out dx,al

       mov dx,io8253a;計數器0初始值為10000

       mov ax,10000

       out dx,al

       mov al,ah

       out dx,al

       mov dx,io8253c;8253的計數器1置方式0

       mov al,70h

       out dx,al

       mov dx,io8253b;計數器1初始值為200

       mov ax,200

       out dx,al

       mov al,ah

       out dx,al

       pop dx

       ret

delay endp

urgent3:call delay2

       call disp

       jmp main

 

blequcl proc near

       cmp bl,cl

       jne back

       cmp bl,ch

       je blequch

       mov bl,0

       call disp

       call disp8led

       call stop2

       cmp ch,cl

       jg upchhere

       jl downchhere

upchhere:call upch

       jmp main

downchhere:call downch

       jmp main

blequch:mov ch,0

       call disp8led

       call delay2

       jmp main

back:      ret

blequcl endp

dirdelay proc near;直接上下行的延時子程序

       call delay

       push dx

dirback:mov ah,1

       int 16h

       jne dirgetch

       mov dx,io8255c

       in al,dx

       and al,01

       jz dirback

       pop dx

       ret

dirdelay endp

dirgetch:mov ah,1;直接上下行對按鍵的處理

       int 21h

       cmp al,73h

       je dirrepair

       cmp al,70h

       je urgent3

       jmp dirback

dirrepair:mov al,0

       mov ah,1

       int 21h

       cmp al,73h

       jne dirrepair

       call delay2

       call disp

       jmp dirback

 

stop2 proc near;沒有直達鍵的暫停子程序

gostop2:mov al,0

       mov ah,1

       int 21h

       cmp al,13

       jne gostop2

       mov al,0

       ret

stop2 endp

delay2 proc near;判斷延市時是否結束的子程序

       push dx

delay3:  mov dx,io8255c

       in  al,dx           ;查詢8255的Pc0是否為高電平

       and al,01

       jz  delay3

pop dx

       ret

delay2 endp

disp proc near;顯示當前樓層的子程序

 

       mov dl,cl

        mov ah,2    

        int 21h;用于在屏幕上顯示

       mov dl,0dh

        mov ah,2      ;回車符      

        int 21h

        mov dl,0ah

        mov ah,2      ;換行符      

       int 21h



       sub cl,30h;七段碼顯示
       mov al,cl


       push bx

       push dx

	mov dx,io8255b

	out dx,al

       mov bx,offset led

       xlat

       mov dx,io8255a

       out dx,al



       pop dx

       pop bx

       add cl,30h

       mov al,0

       ret

disp endp




disp8led proc near;8led顯示,顯示bl與cl對應的樓層

push ax

       cmp bl,0h

       je n0

       cmp bl,31h

       je n1

       cmp bl,32h

       je n2

       cmp bl,33h

       je n3

       cmp bl,34h

       je n4

       cmp bl,35h

       je n5

       cmp bl,36h

       je n6

       cmp bl,37h

       je n7

       cmp bl,38h

       je n8

n0:  mov al,0b

       jmp chled

n1:  mov al,1b

       jmp chled

n2:  mov al,10b

       jmp chled

n3:  mov al,100b

       jmp chled

n4:  mov al,1000b

       jmp chled

n5:  mov al,10000b

       jmp chled

n6:  mov al,100000b

       jmp chled

n7:  mov al,1000000b

       jmp chled

n8:  mov al,10000000b

       jmp chled

chled:    cmp ch,0

       je m0

       cmp ch,31h

       je m1

       cmp ch,32h

       je m2

       cmp ch,33h

       je m3

       cmp ch,34h

       je m4

       cmp ch,35h

       je m5

       cmp ch,36h

       je m6

       cmp ch,37h

       je m7

       cmp ch,38h

       je m8

m0: add al,0b

       jmp displed

m1: add al,1b

       jmp displed

m2: add al,10b

       jmp displed

m3: add al,100b

       jmp displed

m4: add al,1000b

       jmp displed

m5: add al,10000b

       jmp displed

m6: add al,100000b

       jmp displed

m7: add al,1000000b

       jmp displed

m8: add al,10000000b

       jmp displed

displed:push dx

	push ax

	mov al,0ffh

	mov dx,ls273a

	out dx,al

	mov dx,ls273b

	pop ax

	out dx,al

       pop dx

pop ax

       mov al,0

       ret

disp8led endp

exit:       mov ah,4ch

       int 21h

code ends

end start

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美日韩国产手机在线| 色综合久久久久综合99| 韩国精品在线观看| 高潮精品一区videoshd| 精品视频在线免费看| 国产日韩欧美精品一区| 午夜视频在线观看一区二区| 国产a久久麻豆| 欧美一区二区三区视频免费 | 成人自拍视频在线| 欧美丰满高潮xxxx喷水动漫| 国产精品美日韩| 国产一区91精品张津瑜| 91精品国产免费| 一区二区三区不卡视频在线观看 | 蜜桃av一区二区三区电影| 日本福利一区二区| 中文字幕五月欧美| 国产成人综合网| 久久免费电影网| 极品美女销魂一区二区三区免费| 欧美日韩精品一区二区三区蜜桃 | 欧美性感一区二区三区| 国产精品污www在线观看| 精品一区二区免费看| 欧美一区二区在线观看| 亚洲国产aⅴ成人精品无吗| 成人av资源下载| 国产精品你懂的在线欣赏| 国产一区二区三区黄视频| 日韩欧美亚洲一区二区| 人人精品人人爱| 91精品国产综合久久久蜜臀图片| 亚洲一区二区偷拍精品| 一本大道久久精品懂色aⅴ| 欧美国产丝袜视频| 成人小视频在线观看| 国产欧美日韩在线观看| 成人性生交大片免费看视频在线| 国产免费成人在线视频| 成人小视频免费在线观看| 日日夜夜精品免费视频| 欧美性受xxxx| 视频一区欧美精品| 欧美自拍丝袜亚洲| 无吗不卡中文字幕| 欧美一级日韩不卡播放免费| 久久精品99久久久| 久久在线观看免费| 国产乱一区二区| 国产精品免费视频观看| 色婷婷激情综合| 三级精品在线观看| 一区二区视频在线| 亚洲日本中文字幕区| 在线视频欧美区| 丝瓜av网站精品一区二区| 精品少妇一区二区三区免费观看| 国产一区二区免费视频| 国产精品成人午夜| 欧美亚洲综合一区| 日韩精品乱码免费| 精品美女在线播放| 91蜜桃视频在线| 免费的成人av| 成人欧美一区二区三区白人| 欧美日韩综合在线| 国产精品羞羞答答xxdd| 亚洲欧美一区二区久久| 91精品国产一区二区| 风间由美中文字幕在线看视频国产欧美 | 亚洲综合色区另类av| 欧美日韩在线三区| 韩国精品主播一区二区在线观看 | 久久久精品tv| 一本一本久久a久久精品综合麻豆| ...xxx性欧美| 欧美成人aa大片| 91精品福利在线| 国产精品一品二品| www国产亚洲精品久久麻豆| 国产成人精品影院| 性感美女极品91精品| 国产欧美一区二区三区在线看蜜臀| 一本到不卡精品视频在线观看 | 亚洲一区二区精品视频| 精品播放一区二区| 欧美日韩午夜影院| 成人的网站免费观看| 蜜桃av一区二区| 亚洲精品国产无天堂网2021| 2020日本不卡一区二区视频| 欧洲一区二区三区免费视频| 国产v综合v亚洲欧| 免费成人美女在线观看| 亚洲国产精品一区二区www| 国产精品久久久久久久岛一牛影视 | 天天综合色天天| 亚洲色图制服丝袜| 亚洲国产精品传媒在线观看| 欧美电影免费观看高清完整版在线| 91蜜桃在线观看| 成人做爰69片免费看网站| 精品亚洲国产成人av制服丝袜| 亚洲香蕉伊在人在线观| 中文字幕在线不卡国产视频| 久久蜜臀精品av| 久久久99久久| 欧美男男青年gay1069videost| 麻豆国产精品777777在线| 午夜私人影院久久久久| 午夜a成v人精品| 午夜精品一区二区三区三上悠亚| 中文字幕佐山爱一区二区免费| 久久九九全国免费| 欧美不卡在线视频| 日韩欧美久久久| 精品国精品国产尤物美女| 日韩三级精品电影久久久| 欧美二区乱c少妇| 在线观看不卡视频| 欧美偷拍一区二区| 欧美精品日日鲁夜夜添| 91精品国产综合久久国产大片| 这里只有精品99re| 精品国产网站在线观看| 精品处破学生在线二十三| 久久日韩精品一区二区五区| 欧美成人精品福利| 久久女同性恋中文字幕| 国产精品色眯眯| 最好看的中文字幕久久| 亚洲一区二区在线免费看| 五月婷婷久久丁香| 激情综合五月天| 成人黄色av电影| 欧美性生活一区| 欧美成人综合网站| 国产精品污网站| 亚洲va中文字幕| 久久国产视频网| 成人av午夜影院| 欧美日韩免费一区二区三区视频 | 国产偷国产偷亚洲高清人白洁| 久久久不卡影院| 日韩一区二区三区在线观看 | 亚洲制服丝袜av| 日本不卡视频在线观看| 六月丁香婷婷久久| av午夜一区麻豆| 欧美理论片在线| 日本一区二区在线不卡| 亚洲综合在线视频| 国产一二三精品| 91丨porny丨在线| 欧美一区二区播放| 中文字幕欧美一区| 日本aⅴ精品一区二区三区| 国产成人午夜视频| 欧美中文字幕久久| 欧美成人a视频| 亚洲自拍都市欧美小说| 国产精品夜夜爽| 欧美日韩国产系列| 国产精品天干天干在观线| 三级欧美韩日大片在线看| 不卡在线视频中文字幕| 日韩美女在线视频| 一区二区三区蜜桃| 国产一区二区免费在线| 91.com在线观看| 亚洲精品免费播放| 国产成人丝袜美腿| 日韩欧美一区在线观看| 夜夜嗨av一区二区三区网页| 国内精品伊人久久久久av影院| 欧美性色欧美a在线播放| 国产精品天干天干在线综合| 久久精品国产99| 欧美一级片在线看| 亚洲国产一区二区在线播放| 成人中文字幕在线| 久久久av毛片精品| 日韩 欧美一区二区三区| 91高清视频在线| 欧美色涩在线第一页| 欧美精品一区二区高清在线观看| 亚洲成人精品一区| 日本久久一区二区| ●精品国产综合乱码久久久久 | 久久麻豆一区二区| 美女视频黄频大全不卡视频在线播放| 91免费观看在线| 中文字幕免费一区| 高清av一区二区| 亚洲欧洲日韩在线| 成人精品鲁一区一区二区| 久久综合久久99| 国产福利精品导航| 国产亚洲欧洲997久久综合|