原本以为这个很简单,结果写起来发现不容易。
学汇编很久了,终于第一次自己独立写出了一个有一点难度的。
其实不是很好,不过就是觉得完全是自己写出来的,没参考别人的。也在这儿留个印吧。以后好查找。
ssume cs:code
code segment
start:
mov bx,0b800h
mov es,bx
mov si,160*12+68
mov al,9
mov cx,3
s1: call zhi
add si,4
cmp cx,1
je s3
mov byte ptr es:[si],47
add si,2
dec al
loop s1
s3: add si,2
mov byte ptr es:[si],20h
mov cx,3
mov al,4
s2:call zhi
sub al,2
add si,4
cmp cx,1
je ok
mov byte ptr es:[si],58
add si,2
loop s2
zhi: push ax
push bx
push cx
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov es:[si],ah
mov es:[si+2],al
pop cx
pop bx
pop ax
ret
ok: mov ax,4c00h
int 21h
code ends
end start |