📄 02_j.asm
字号:
mov dl,col1
jmp plot_next10
exit721: mov dh,line2
mov di,pot2
mov dl,col2
jmp plot_next10
exit733: sub cx,cx
mov col,4
mov col01,4
mov char01,2
mov char02,2
mov di,pointer1
mov dh,line_on1
mov dl,cool0
dec char02
jmp plot_next10
exit734: sub cx,cx
mov di,pointer2
mov dh,line_on2
mov dl,cool1
jmp plot_next10
exit031: jmp exit010
plot_next10:
add dh,[di+2]
add dl,[di+3]
mov ah,2
int 10h
cmp char0,0
je exit770
exit770: cmp char01,1
je exit790
cmp char01,0
je exit820
cmp char02,1
je exit790
cmp char02,0
je exit820
cmp dl,39
jb exit760
jmp exit780
exit790: cmp dl,39
ja exit760
jmp exit780
exit820: cmp dl,39
jb exit760
jmp exit780
exit780: mov al,[di]
mov bl,[di+1]
push cx
mov cx,1
mov ah,09
int 10h
pop cx
jmp exit760
exit032: jmp exit031
exit760:
dec col
je exit510
add di,4
jmp plot_next10
exit510: cmp char01,0
je exit032 ;-------------
cmp char01,1
je exit120
cmp char02,1
je exit520
cmp char02,0
je exit032
cmp char0,0
je exit032
mov line1,dh
mov col1,dl
add di,4
mov pot1,di
mov col,4
dec char0
jmp exit711
exit520:
mov line1,dh
mov col1,dl
add di,4
mov pot1,di
mov col,4
dec char02
jmp exit734
exit120: mov line1,dh
mov col1,dl
add di,4
mov pot1,di
dec char01
cmp col01,26
je exit830
mov col,4
jmp exit721
exit830: mov col,2
jmp exit721
must_21 endp
;------------------------------------------
;-----------------------------------------
erase2 proc near
mov dl,cool3
mov col0,dl
mov col,4
mov col01,4
mov char0,2
mov char01,2
mov char02,2
sub cx,cx
mov cx,char_cnt1
mov di,pointer1
mov dh,line_on1
mov dl,col_on1
mov cool0,dl
mov count_cx,8
jmp erase_next2
exit62L: sub cx,cx
mov cx,char_cnt2
mov di,pointer2
mov dh,line_on2
mov dl,col_on2
mov cool1,dl
dec char0
jmp erase_next2
exit011L: mov line2,dh
mov col2,dl
add di,4
mov pot2,di
mov dl,col01
cmp col0,dl
je exit021L
cmp col01,24
je exit013L
add col01,4
jmp exit014L
exit013L: add col01,2
mov col,2
jmp exit015L
exit014L: mov col,4
exit015L: mov char01,2
dec char01
jmp exit4101L
exit021L: dec count_cx
jne leftL
add col_on1,2
sub col_on2,2
ret
leftL: add cool0,6
sub cool1,6
cmp col0,26
je exit733L
mov dl,col0
add dl,12
cmp dl,26
jae exit732L
mov col0,dl
jmp exit733L
exit732L: mov col0,26
jmp exit733L
exit4101L: mov dh,line1
mov di,pot1
mov dl,col1
jmp erase_next2
exit3101L: mov dh,line2
mov di,pot2
mov dl,col2
jmp erase_next2
exit733L: sub cx,cx
mov col,4
mov col01,4
mov char01,2
mov char02,2
mov di,pointer1
mov dh,line_on1
mov dl,cool0
dec char02
jmp erase_next2
exit734L: sub cx,cx
mov di,pointer2
mov dh,line_on2
mov dl,cool1
jmp erase_next2
exit012L: jmp exit011L
erase_next2:
add dh,[di+2]
add dl,[di+3]
mov ah,2
int 10h
cmp char0,0
je exit77L
cmp dl,39
ja exit76L
jmp exit78L
exit77L: cmp char01,1
je exit79L
cmp char01,0
je exit82L
cmp char02,1
je exit79L
cmp char02,0
je exit82L
exit79L: cmp dl,39
ja exit76L
jmp exit78L
exit82L: cmp dl,39
jb exit76L
jmp exit78L
exit78L: mov al,'*'
mov bl,0
push cx
mov cx,1
mov ah,9
int 10h
pop cx
;-------------------------------------
exit76L: dec col
je exit07L
add di,4
jmp erase_next2
exit018L: jmp exit012L
exit07L: cmp char01,0
je exit018L ;-------------
cmp char01,1
je exit121L
cmp char02,1
je exit01L
cmp char02,0
je exit018L ;--------------------
cmp char0,0
je exit018L
mov line1,dh
mov col1,dl
add di,4
mov pot1,di
mov col,4
dec char0
jmp exit62L
exit01L:
mov line1,dh
mov col1,dl
add di,4
mov pot1,di
mov col,4
dec char02
jmp exit734L
exit121L: mov line1,dh
mov col1,dl
add di,4
mov pot1,di
dec char01
cmp col01,26
je exit122L
mov col,4
jmp exit3101L
exit122L: mov col,2
jmp exit3101L
erase2 endp
;------------------------------------------
;------------------------------------------
dly_qrtr proc near
push cx
push dx
mov dx,25
dll: mov cx,65530
dl2: loop dl2
dec dx
jnz dll
pop dx
pop cx
ret
dly_qrtr endp
;---------------------------------------
code_seg ends
end main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -