|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
assume cs:code,ds:data
data segment
db 10 dup (0)
data ends
code segment
start: mov ax,12666
mov bx,data
mov ds,bx
mov si,0
call dtoc
mov dh,8
mov dl,3
mov cl,0cah
call show_str
mov ax,4c00h
int 21h
dtoc: push dx ;跟小甲鱼老师的不同,我将入栈操作在jcxz之前,这样的话,就可以将ascll码全部入栈,之后逆序出栈就行了
push cx
push ax
push si
push bx
push di
mov di,0
s1:mov cx,0
mov dx,0
mov bx,10
div bx
add dx,30h
push dx
inc di
mov cx,ax
jcxz s2
jmp s1
s2:mov cx,di
s3:pop dx
mov ds:[si],dl
inc si
loop s3
pop di
pop bx
pop si
pop ax
pop cx
pop dx
ret
show_str: push dx; 给定参数 dh=行号 dl=列号 cl=颜色 ds:si指向字符串首地址 返回:无 作用:在指定位置显示字符串,以0结尾
push si
mov ch,0
mov ax,0b800h
mov es,ax
mov al,160
dec dh
mul dh
mov bx,ax
mov al,2
mul dl
sub ax,2
add bx,ax
mov al,cl
mov di,0
mov ch,0
s: mov cl,ds:[si]
jcxz ok
mov es:[bx+di],cl
mov es:[bx+di+1],al
inc si
add di,2
jmp short s
ok:pop si
pop dx
ret
code ends
end start
|
|