帮我解释一下下面汇编的代码,要详细点(一共9段,这是第4段)move_shape proc nearpush axpush bxpush cxpush dxpush dimov ah,0fhint 10hsub ch,chmov cl,[di]inc dimov char_cnt,cxmov pointer,dimov line_on,dhmov col_on,dlplot_next:add dh,[
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/17 14:33:16
帮我解释一下下面汇编的代码,要详细点(一共9段,这是第4段)move_shape proc nearpush axpush bxpush cxpush dxpush dimov ah,0fhint 10hsub ch,chmov cl,[di]inc dimov char_cnt,cxmov pointer,dimov line_on,dhmov col_on,dlplot_next:add dh,[
帮我解释一下下面汇编的代码,要详细点(一共9段,这是第4段)
move_shape proc near
push ax
push bx
push cx
push dx
push di
mov ah,0fh
int 10h
sub ch,ch
mov cl,[di]
inc di
mov char_cnt,cx
mov pointer,di
mov line_on,dh
mov col_on,dl
plot_next:
add dh,[di+2]
add dl,[di+3]
cmp dl,78
jb mov_crsr
pop di
pop dx
pop cx
pop bx
pop ax
ret
mov_crsr:
mov ah,2
int 10h
mov al,[di]
mov bl,[di+1]
push cx
mov cx,1
mov ah,09
int 10h
pop cx
add di,4
loop plot_next
call dly_qrtr
cmp dl,3
je exit3
cmp dl,5
je exit3
cmp dl,77
je exit3
dec count_cx1
je exit2
call erase
jmp exit3
exit2:mov count_cx1,5
exit3:add col_on,2
mov dl,col_on
mov cx,char_cnt
mov di,pointer
mov dh,line_on
jmp short plot_next
move_shape endp
帮我解释一下下面汇编的代码,要详细点(一共9段,这是第4段)move_shape proc nearpush axpush bxpush cxpush dxpush dimov ah,0fhint 10hsub ch,chmov cl,[di]inc dimov char_cnt,cxmov pointer,dimov line_on,dhmov col_on,dlplot_next:add dh,[
move_shape proc near
push ax
push bx
push cx
push dx
push di
,以上是入栈,保护现场
mov ah,0fh
int 10h
,中断10 并设置参数
sub ch,ch
mov cl,[di]
inc di
mov char_cnt,cx
mov pointer,di
mov line_on,dh
mov col_on,dl
,设置参数及其初始化
plot_next:
add dh,[di+2]
add dl,[di+3]
cmp dl,78
jb mov_crsr
,以上是条件比较,转到mov_crsr
pop di
pop dx
pop cx
pop bx
pop ax
ret
,回复寄存器的值,函数返回.
mov_crsr:,这是主程序
mov ah,2 ,中断10h
int 10h
mov al,[di]
mov bl,[di+1]
push cx
mov cx,1
mov ah,09 ,中断10h
int 10h
pop cx ,之后的似乎没有原文件了 看不出来了 但都是函数调用
add di,4
loop plot_next
call dly_qrtr
cmp dl,3
je exit3
cmp dl,5
je exit3
cmp dl,77
je exit3
dec count_cx1
je exit2
call erase
jmp exit3