?? jiayouji .txt
字號:
cseg segment
assume cs:cseg
start:
MOV AX,CS
MOV DS,AX
;-----8255初始化-----
MOV DX,203H
MOV AL,80H
OUT DX,AL
;-----8279初始化-----
MOV DX,210H
MOV AL,00H;8字符顯示,左入口,編碼掃描鍵盤,雙鍵所定
OUT DX,AL
MOV AL,38H ;24分頻
OUT DX,AL
;——--8259初始化——
mov al,13h;邊緣觸發,單級,需要設置ICW4
mov dx,230h
out dx,al;Icw1
mov al,8h;設置中斷類型碼的高5位,為08H。
mov dx,231h
out dx,al;Icw2
mov al,01h
out dx,al;Icw4
mov al,0feh
out dx,al;Ocw1
wait1: ; 判斷ram
mov dx,212h
in al,dx
test al,80h
jnz wait1
;——顯示輸入鍵盤——選擇輸入加油的種類有3——a一元每升,b二元每升,c三元每升
aa: mov dx,212h
in al,dx
test al,0fh
jz aa
mov dx,210h
in al,dx
mov ah,al
cmp ah,0ah
jz aone;跳轉到加一元油的子程序
cmp ah,0bh
jz btwo;跳轉到加二元油的子程序
cmp ah,0ch
jnz aa
cthree:
mov al,02h
mov bx,offset table2
xlat
mov ah,al
mov dx,212h
mov al,85h
out dx,al
mov al,ah
mov dx,210h
out dx,al
call int1
jmp aa
aone: mov al,00h
mov bx,offset table2
xlat
mov ah,al
mov dx,212h
mov al,87h
out dx,al
mov al,ah
mov dx,210h
out dx,al
call int1
jmp aa
btwo:
mov al,01h
mov bx,offset table2
xlat
mov ah,al
mov dx,212h
mov al,86h
out dx,al
mov al,ah
mov dx,210h
out dx,al
call int1
jmp aa
;開始加油
;——顯示輸入鍵盤——選擇輸入定量加油d,定錢加油e,還是隨機加油f
int1 proc far
mov dx,212h
in al,dx
test al,80h
jnz int0
cc:
mov dx,212h
in al,dx
test al,0fh
jz cc
mov dx,210h
in al,dx
cmp al,0dh
jz dingliang
cmp al,0eh
jz dingqian
cmp al,0fh
jnz cc
;suiji:
tt:
ret
dingliang:
call dingliang1
jmp tt
dingliang1 proc
;按開始鍵加油,顯示方式D
mov dx,212h
mov al,84h
out dx,al
mov al,00h
mov bx,offset table3
xlat
mov dx,210h
out dx,al
bb:
mov dx,212h
in al,dx
test al,0fh
jz bb
mov dx,210h
in al,dx
cmp al,13h
jnz bb
;輸入定量數
dd:
mov dx,212h
in al,dx
test al,0fh
jz dd
mov dx,210h
in al,dx
mov cl,al
mov bx,offset table1
xlat
mov ah,al
mov dx,212h
mov al,81h
out dx,al
mov dx,210h
mov al,ah
out dx,al
mov dx,210h
in al,dx
mov ch,al
mov bx,offset table1
xlat
mov ah,al
mov dx,212h
mov al,80h
out dx,al
mov dx,210h
mov al,ah
out dx,al
mul cl,10
add cl,ch
;------8253初始化----
MOV AL,34H
MOV DX,223H
OUT DX,AL;計數器0,模式2
MOV AX,9600
MOV DX,220H
MOV AL,AH
OUT DX,AL
mov dx,223h
mov al,74h
out dx,al
mov dx,221h
mov ax,10
out dx,al
mov al,ah
out dx,al
xor ax,ax
mov ds,ax
cli
mov ax, offset qq
mov bx,20h
mov [bx],ax
mov ax,8100h
mov 2[bx],ax
sti
mov bl,0eeh
mov al,bl
mov dx,200h
out dx,al
jmp $
qq: rol bl,1
dec cl
mov [di],cl
mov ax,word ptr cl
mov cl,10
div cl
mov ch,ah
mov bx,offset table1
xlat
mov ah,al
mov dx,212h
mov al,81h
out dx,al
mov dx,210h
mov al,ah
out dx,al
mov al,ch
mov bx,offset table1
xlat
mov ah,al
mov dx,212h
mov al,80h
out dx,al
mov dx,210h
mov al,ah
out dx,al
mov cl,[di]
mov al,bl
mov dx,200h
out dx,al
loop qq
ret
;dingqian:
;jmp tt
suiji:
;jmp tt
led db 00,01,02,03,04,05,06,07,08,09
table1 db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh; 對應鍵盤0——9
table2 db 77h,7ch,39h;對應鍵盤a——c
table3 db 5eh,79h,71h;對應鍵盤d——f
cseg ends
end start
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -