请教霓虹灯的程序流程图,在线等,着急 2
时间:2011-01-15
来源:互联网
接上部分
must_2 proc near
push ax
push bx
push cx
push dx
push di
mov ah,0fh
int 10h
exit41: sub cx,cx
mov col,2
mov col01,2
mov char0,2
mov char01,2
mov cx,char_cnt
mov di,pointer
mov dh,line_on
mov dl,col_on
mov char,cx
jmp plot_next1
exit31: sub cx,cx
mov cx,char_cnt2
mov di,pointer2
mov dh,line_on2
mov dl,col_on2
mov char,cx
jmp plot_next1
;-------------------------------------
exit61: call dly_qrtr
mov char0,2
mov char01,2
mov col01,2
mov col,2
mov dl,col_on2
inc dl
cmp char2,dl
je exit71
call dly_qrtr
call dly_qrtr
call dly_qrtr
call dly_qrtr
call erase1
cmp col0,26
je exit41
add col0,2
jmp exit41
;----------------------------
exit71: cmp count1,1
je exit93
cmp line_on,16
jne exit91
cmp col0,26
jne exit92
exit91: sub col0,2
je exit82
dec line_on
dec line_on2
add col_on,2
sub col_on2,2
call dly_qrtr
call dly_qrtr
call dly_qrtr
call dly_qrtr
call erase1
mov count1,2
jmp exit41
exit82: cmp count_cx,1
je exit22
jmp exit81
exit92: mov al,26
sub al,col0
mov count2,al
add count2,2
mov dl,col0
mov col00,dl
exit93: sub count2,2
je exit91
dec line_on
dec line_on2
add col_on,2
sub col_on2,2
sub col0,2
call dly_qrtr
call dly_qrtr
call erase1
mov dl,col00
mov col0,dl
dec count1
cmp count1,1
je exit94
mov count1,1
exit94: jmp exit41
exit22: jmp exit21
exit81: add char1,2
sub char2,2
cmp char1,39
je exit21
mov line_on,4
mov line_on2,4
mov dl,char1
inc dl
mov col_on,dl
mov dl,char2
dec dl
mov col_on2,dl
mov col0,2
mov count1,2
jmp exit41
exit01: mov line2,dh
mov col2,dl
add di,4
mov pot2,di
mov dl,col01
cmp col0,dl
je exit02
add col01,2
mov col,2
mov char01,2
dec char01
jmp exit410
exit02: jmp exit61
exit21: pop di
pop dx
pop cx
pop bx
pop ax
ret
exit03: jmp exit01
exit410: mov dh,line1
mov di,pot1
mov dl,col1
jmp plot_next1
exit310: mov dh,line2
mov di,pot2
mov dl,col2
;----------------------------------------
plot_next1:
add dh,[di+2]
add dl,[di+3]
mov ah,2
int 10h
mov al,[di]
mov bl,0ah
push cx
mov cx,1
mov ah,09
int 10h
pop cx
dec col
je exit51
add di,4
jmp plot_next1
exit51: cmp char01,0
je exit03 ;-------------
cmp char01,1
je exit12
cmp char0,1
je exit03 ;--------------------
mov line1,dh
mov col1,dl
add di,4
mov pot1,di
mov col,2
dec char0
jmp exit31
exit12: mov line1,dh
mov col1,dl
add di,4
mov pot1,di
mov col,2
dec char01
jmp exit310
must_2 endp
;----------------------------------------
erase1 proc near
sub cx,cx
mov cx,char_cnt
mov di,pointer
mov dh,line_on
mov dl,col_on
mov char,cx
jmp erase_next1
exit62: sub cx,cx
mov cx,char_cnt2
mov di,pointer2
mov dh,line_on2
mov dl,col_on2
mov char,cx
jmp erase_next1
exit011: mov line2,dh
mov col2,dl
add di,4
mov pot2,di
mov dl,col01
cmp col0,dl
je exit021
add col01,2
mov col,2
mov char01,2
dec char01
jmp exit4101
exit021: jmp left
exit012: jmp exit011
exit4101: mov dh,line1
mov di,pot1
mov dl,col1
jmp erase_next1
exit3101: mov dh,line2
mov di,pot2
mov dl,col2
erase_next1:
add dh,[di+2]
add dl,[di+3]
mov ah,2
int 10h
mov al,[di]
mov bl,0ah
push cx
mov cx,1
mov ah,9
int 10h
pop cx
;-------------------------------------
dec col
je exit0
add di,4
jmp erase_next1
exit0: cmp char01,0
je exit011 ;-------------
cmp char01,1
je exit121
cmp char0,1
je exit012 ;--------------------
mov line1,dh
mov col1,dl
add di,4
mov pot1,di
mov col,2
dec char0
jmp exit62
exit121: mov line1,dh
mov col1,dl
add di,4
mov pot1,di
mov col,2
dec char01
jmp exit3101
left: sub col_on,2
add col_on2,2
ret
erase1 endp
;------------------------------
;--------------------------------------
dly_qrtr proc near
push cx
push dx
mov dx,2000
dll: mov cx,65530
dl2: loop dl2
dec dx
jnz dll
pop dx
pop cx
ret
dly_qrtr endp
;---------------------------------------
code_seg ends
end main
must_2 proc near
push ax
push bx
push cx
push dx
push di
mov ah,0fh
int 10h
exit41: sub cx,cx
mov col,2
mov col01,2
mov char0,2
mov char01,2
mov cx,char_cnt
mov di,pointer
mov dh,line_on
mov dl,col_on
mov char,cx
jmp plot_next1
exit31: sub cx,cx
mov cx,char_cnt2
mov di,pointer2
mov dh,line_on2
mov dl,col_on2
mov char,cx
jmp plot_next1
;-------------------------------------
exit61: call dly_qrtr
mov char0,2
mov char01,2
mov col01,2
mov col,2
mov dl,col_on2
inc dl
cmp char2,dl
je exit71
call dly_qrtr
call dly_qrtr
call dly_qrtr
call dly_qrtr
call erase1
cmp col0,26
je exit41
add col0,2
jmp exit41
;----------------------------
exit71: cmp count1,1
je exit93
cmp line_on,16
jne exit91
cmp col0,26
jne exit92
exit91: sub col0,2
je exit82
dec line_on
dec line_on2
add col_on,2
sub col_on2,2
call dly_qrtr
call dly_qrtr
call dly_qrtr
call dly_qrtr
call erase1
mov count1,2
jmp exit41
exit82: cmp count_cx,1
je exit22
jmp exit81
exit92: mov al,26
sub al,col0
mov count2,al
add count2,2
mov dl,col0
mov col00,dl
exit93: sub count2,2
je exit91
dec line_on
dec line_on2
add col_on,2
sub col_on2,2
sub col0,2
call dly_qrtr
call dly_qrtr
call erase1
mov dl,col00
mov col0,dl
dec count1
cmp count1,1
je exit94
mov count1,1
exit94: jmp exit41
exit22: jmp exit21
exit81: add char1,2
sub char2,2
cmp char1,39
je exit21
mov line_on,4
mov line_on2,4
mov dl,char1
inc dl
mov col_on,dl
mov dl,char2
dec dl
mov col_on2,dl
mov col0,2
mov count1,2
jmp exit41
exit01: mov line2,dh
mov col2,dl
add di,4
mov pot2,di
mov dl,col01
cmp col0,dl
je exit02
add col01,2
mov col,2
mov char01,2
dec char01
jmp exit410
exit02: jmp exit61
exit21: pop di
pop dx
pop cx
pop bx
pop ax
ret
exit03: jmp exit01
exit410: mov dh,line1
mov di,pot1
mov dl,col1
jmp plot_next1
exit310: mov dh,line2
mov di,pot2
mov dl,col2
;----------------------------------------
plot_next1:
add dh,[di+2]
add dl,[di+3]
mov ah,2
int 10h
mov al,[di]
mov bl,0ah
push cx
mov cx,1
mov ah,09
int 10h
pop cx
dec col
je exit51
add di,4
jmp plot_next1
exit51: cmp char01,0
je exit03 ;-------------
cmp char01,1
je exit12
cmp char0,1
je exit03 ;--------------------
mov line1,dh
mov col1,dl
add di,4
mov pot1,di
mov col,2
dec char0
jmp exit31
exit12: mov line1,dh
mov col1,dl
add di,4
mov pot1,di
mov col,2
dec char01
jmp exit310
must_2 endp
;----------------------------------------
erase1 proc near
sub cx,cx
mov cx,char_cnt
mov di,pointer
mov dh,line_on
mov dl,col_on
mov char,cx
jmp erase_next1
exit62: sub cx,cx
mov cx,char_cnt2
mov di,pointer2
mov dh,line_on2
mov dl,col_on2
mov char,cx
jmp erase_next1
exit011: mov line2,dh
mov col2,dl
add di,4
mov pot2,di
mov dl,col01
cmp col0,dl
je exit021
add col01,2
mov col,2
mov char01,2
dec char01
jmp exit4101
exit021: jmp left
exit012: jmp exit011
exit4101: mov dh,line1
mov di,pot1
mov dl,col1
jmp erase_next1
exit3101: mov dh,line2
mov di,pot2
mov dl,col2
erase_next1:
add dh,[di+2]
add dl,[di+3]
mov ah,2
int 10h
mov al,[di]
mov bl,0ah
push cx
mov cx,1
mov ah,9
int 10h
pop cx
;-------------------------------------
dec col
je exit0
add di,4
jmp erase_next1
exit0: cmp char01,0
je exit011 ;-------------
cmp char01,1
je exit121
cmp char0,1
je exit012 ;--------------------
mov line1,dh
mov col1,dl
add di,4
mov pot1,di
mov col,2
dec char0
jmp exit62
exit121: mov line1,dh
mov col1,dl
add di,4
mov pot1,di
mov col,2
dec char01
jmp exit3101
left: sub col_on,2
add col_on2,2
ret
erase1 endp
;------------------------------
;--------------------------------------
dly_qrtr proc near
push cx
push dx
mov dx,2000
dll: mov cx,65530
dl2: loop dl2
dec dx
jnz dll
pop dx
pop cx
ret
dly_qrtr endp
;---------------------------------------
code_seg ends
end main
作者: aaron_carter1 发布时间: 2011-01-15
我勒个去啊
作者: mic47 发布时间: 2011-01-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28