作业帮 > 综合 > 作业

帮我解释一下下面汇编的代码,要详细点(一共9段,这是第4段)

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 01:02:52
帮我解释一下下面汇编的代码,要详细点(一共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
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