?? zxl9.asm
字號(hào):
cseg segment
assume cs:cseg
start:
mov dx,222h
mov al,0c1h
out dx,al
t0: in al,dx
test al,80h
jnz t0
mov al,0h
out dx,al
mov al,30h
out dx,al
mov ax,8100h
mov ds,ax
mov cx,3
tt1: push cx
t3: mov dx,222h ;接收一個(gè)字節(jié)
in al,dx
test al,0fh
jz t3
mov al,40h
out dx,al
mov dx,220h
in al,dx
mov dx,222h ;輸出8個(gè)點(diǎn)
mov al,90h
out dx,al
mov cx,8
mov al,80h
mov dx,220h
t2: out dx,al
loop t2
mov si,offset hh ;接收銀行卡號(hào)
mov cx,8
mov dx,222h
mov al,90h
out dx,al
t1: mov dx,222h
in al,dx
test al,0fh
jz t1
mov al,40h
out dx,al
mov dx,220h
in al,dx
mov [si],al
inc si
mov bx,offset tab
xlat
out dx,al
loop t1
cld ;判斷卡號(hào)是否正確并顯示結(jié)果
mov di,offset yh1
mov ax,8100h
mov es,ax
mov cx,3 ;3個(gè)用戶
te1: push cx
mov bx,di
mov si,offset hh
mov cx,8
rep cmpsb
jz te7
mov di,bx
add di,24
pop cx
loop te1
jmp t7
te7: mov bl,80h
jmp t6
t7: mov bl,3fh
t6: mov dx,222h
mov al,90h
out dx,al
mov cx,8
mov al,bl
mov dx,220h
t4: out dx,al
loop t4
cmp bl,80h
jz tx1
pop cx
dec cx
cmp cx,0
jz tmj
jmp tt1
tmj: jmp tm
push di
xx: pop di
push di
tx1:
mov dx,222h ;輸出8個(gè)點(diǎn)
mov al,90h
out dx,al
mov cx,8
mov al,80h
mov dx,220h
tn2: out dx,al
loop tn2
mov dx,222h ;接收選項(xiàng)
in al,dx
test al,0fh
jz tx1
mov al,40h
out dx,al
mov dx,220h
in al,dx
push ax
push ax
mov dx,222h
mov al,87h
out dx,al
pop ax
mov bx,offset tab
xlat
mov dx,220h
out dx,al
pop ax
mov bx,offset zong
mov [bx],al
mov ah,0
mov 1[bx],ah
cmp al,01h ;判斷選項(xiàng)
jz chaxun1
cmp al,02h
jz qukuan1
cmp al,03h
jz cunkuan1
jmp tm
chaxun1: jmp chaxun
qukuan1: jmp qukuan
cunkuan1: jmp cunkuan
chaxun: push di
mov cx,3
ztt1: pop di
push di
push cx
mov si,offset hh ;接收銀行卡查詢密碼
mov cx,8
mov dx,222h
mov al,90h
out dx,al
zt1: mov dx,222h
in al,dx
test al,0fh
jz zt1
mov al,40h
out dx,al
mov dx,220h
in al,dx
cmp al,11h
jz zt2
mov [si],al
inc si
mov al,40h
out dx,al
loop zt1
zt2: cmp cx,2 ;判斷查詢密碼
jnz zt7
mov si,offset hh
mov cx,6h
rep cmpsb
jnz zt7
mov bl,80h
jmp zt6
zt7: mov bl,3fh
zt6: mov dx,222h
mov al,90h
out dx,al
mov cx,8
mov al,bl
mov dx,220h
zt4: out dx,al
loop zt4
cmp bl,80h
jz ztx1
pop cx
dec cx
cmp cx,0
jz tmp
jmp ztt1
tmp: jmp tm
ztx1: ;顯示余額
mov dx,222h ;輸出8個(gè)點(diǎn)
mov al,90h
out dx,al
mov cx,8
mov al,80h
mov dx,220h
tn1: out dx,al
loop tn1
mov dx,222h
mov al,87h
out dx,al
mov dx,220h
mov al,49h
out dx,al
add di,6
mov dx,222h
mov al,90h
out dx,al
mov bx,10
mov ax,[di]
zt9: mov dx,0
div bx
push ax
mov ax,dx
mov dx,220h
push bx
mov bx,offset tab
xlat
out dx,al
pop bx
pop ax
cmp ax,0
jnz zt9
tz3: mov dx,222h ;接收一個(gè)字節(jié)
in al,dx
test al,0fh
jz tz3
mov al,40h
out dx,al
mov dx,220h
in al,dx
mov bx,offset zong
mov ah,[bx]
cmp ah,01h
jz aa1
cmp ah,02h
jnz zy1
mov ah,1[bx]
cmp ah,1
jz zy1
jmp aa2
aa1: cmp al,13h ;接受'+'號(hào),改密碼
jnz zy1
mov dx,222h ;輸出8個(gè)點(diǎn)
mov al,90h
out dx,al
mov cx,8
mov al,80h
mov dx,220h
tg1: out dx,al
loop tg1
mov dx,222h
mov al,87h
out dx,al
mov dx,220h
mov al,76h
out dx,al
sub di,12 ;接收銀行卡查詢新密碼
mov cx,6
mov dx,222h
mov al,90h
out dx,al
zg2: mov dx,222h
in al,dx
test al,0fh
jz zg2
mov al,40h
out dx,al
mov dx,220h
in al,dx
mov [di],al
inc di
mov bx,offset tab
xlat
out dx,al
loop zg2
zg3: mov dx,222h ;接收一個(gè)任意字節(jié)
in al,dx
test al,0fh
jz zg3
mov al,40h
out dx,al
mov dx,220h
in al,dx
zy1: pop di
jmp xx
qukuan: push di
mov cx,3
qtt1: pop di
push di
push cx
mov si,offset hh ;接收銀行卡取款密碼
mov cx,8
mov dx,222h
mov al,90h
out dx,al
qt1: mov dx,222h
in al,dx
test al,0fh
jz qt1
mov al,40h
out dx,al
mov dx,220h
in al,dx
cmp al,11h
jz qt2
mov [si],al
inc si
mov al,40h
out dx,al
loop qt1
qt2: cmp cx,2 ;判斷取款密碼
jnz qt7
add di,6
mov si,offset hh
mov cx,6h
rep cmpsb
jnz qt7
mov bl,80h
jmp qt6
qt7: mov bl,3fh
qt6: mov dx,222h
mov al,90h
out dx,al
mov cx,8
mov al,bl
mov dx,220h
qt4: out dx,al
loop qt4
cmp bl,80h
jz qtx1
pop cx
dec cx
cmp cx,0
jz tmp1
jmp qtt1
tmp1: jmp tm
qtx1: sub di,6
jmp ztx1
aa2:
mov dx,222h ;輸出8個(gè)點(diǎn)
mov al,90h
out dx,al
mov cx,8
mov al,80h
mov dx,220h
tf2: out dx,al
loop tf2
mov dx,222h
mov al,87h
out dx,al
mov dx,220h
mov al,38h
out dx,al
mov bx,0 ;接收銀行卡取款額
mov ah,0
mov cx,8
mov dx,222h
mov al,90h
out dx,al
qt11: mov dx,222h
in al,dx
test al,0fh
jz qt11
mov al,40h
out dx,al
mov dx,220h
in al,dx
cmp al,11h
jz qt22
push ax
shl bx,1
mov ax,bx
shl bx,1
shl bx,1
add bx,ax
pop ax
add bx,ax
push bx
mov bx,offset tab
xlat
out dx,al
pop bx
loop qt11
qt22: mov ax,[di]
cmp ax,bx
js qcc
mov cx,2[di]
add cx,bx
cmp cx,1000 ;每天取不能超過(guò)1000元
jns qcc1
mov 2[di],cx
sub ax,bx
mov [di],ax
mov al,40h
jmp qw
qcc: mov al,8h
jmp qw
qcc1: mov al,1h
qw: push ax
mov dx,222h
mov al,87h
out dx,al
pop ax
mov dx,220h
out dx,al
tq3: mov dx,222h ;接收一個(gè)字節(jié)
in al,dx
test al,0fh
jz tq3
mov al,40h
out dx,al
mov dx,220h
in al,dx
cmp al,13h ;接受'+'號(hào),改密碼
jz aa3
mov bx,offset zong
mov ah,1
mov 1[bx],ah
sub di,6
jmp ztx1
aa3: mov dx,222h ;輸出8個(gè)點(diǎn)
mov al,90h
out dx,al
mov cx,8
mov al,80h
mov dx,220h
tg4: out dx,al
loop tg4
mov dx,222h
mov al,87h
out dx,al
mov dx,220h
mov al,76h
out dx,al
sub di,6 ;接收銀行卡取款新密碼
mov cx,6
mov dx,222h
mov al,90h
out dx,al
qg2: mov dx,222h
in al,dx
test al,0fh
jz qg2
mov al,40h
out dx,al
mov dx,220h
in al,dx
mov [di],al
inc di
mov bx,offset tab
xlat
out dx,al
loop qg2
qg3: mov dx,222h ;接收一個(gè)任意字節(jié)
in al,dx
test al,0fh
jz qg3
mov al,40h
out dx,al
mov dx,220h
in al,dx
zy2: pop di
jmp xx
cunkuan: push di
mov bx,0 ;接收銀行卡存款額
mov ah,0
mov cx,8
mov dx,222h
mov al,90h
out dx,al
ct11: mov dx,222h
in al,dx
test al,0fh
jz ct11
mov al,40h
out dx,al
mov dx,220h
in al,dx
cmp al,11h
jz ct22
push ax
shl bx,1
mov ax,bx
shl bx,1
shl bx,1
add bx,ax
pop ax
add bx,ax
push bx
mov bx,offset tab
xlat
out dx,al
pop bx
loop ct11
ct22: add di,12
mov ax,[di]
add ax,bx
mov [di],ax
sub di,6
jmp ztx1
jmp tm
tab db 3fh,6h,5bh,4fh,66h,6dh,7dh,7h,7fh,6fh,77h,7ch,39h,5eh,79h,71h
yh1 db 1,2,3,4,5,6,7,8
db 1,1,1,1,1,1
db 2,2,2,2,2,2
dw 2000
dw 0
yh2 db 8,7,6,5,4,3,2,1
db 3,3,3,3,3,3
db 4,4,4,4,4,4
dw 1500
dw 0
yh3 db 8,8,8,8,6,6,6,6
db 5,5,5,5,5,5
db 6,6,6,6,6,6
dw 2500
dw 0
zong db 0,0
zc db 0ah
hh db 8 dup(?)
tm: jmp tm
cseg ends
end start
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -