马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
assume cs:code,ds:data,ss:stack
data segment
db 10 dup(0)
data ends
stack segment
db 0
dw 8 dup(0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
mov di,1
mov ax,0A1C2hs
call dtoc
mov dh,10 ; 行数
mov dl,50 ; 列数
mov si,di
call show_str
mov ax,4c00h
int 21h
; 将数据以10进制ascii码存放到di目标空间去
dtoc:
push cx
push bx
mov bx,10
s:
mov cx,ax
jcxz jisu
mov dx,0
div bx
add dl,30h
mov [di],dl
inc di
jmp s
jisu:
dec di
pop bx
pop cx
ret
;名称:show_str
;功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串
;参数:(dh)=行号(取值范围0-24),(dl)=列号(取值范围0-79),(cl)=颜色,ds:si指向字符串的首地址
;返回无
show_str:
push cx
push si
push ax
push di
push es
mov ax,0b800h
mov es,ax
push dx
mov ah,0
mov al,dh
mov bx,160
mul bx
pop dx
push ax
mov ah,0
mov al,dl
mov bx,2
mul bx
pop bx
add ax,bx
mov di,ax
ks:
mov cl,[si]
mov ch,0
jcxz jishu
mov es:[di],cl
mov byte ptr es:[di+1],02h
dec si ; 下一个字符
add di,2 ; 下一个要显示的位置
jmp short ks
jishu:
pop es
pop di
pop ax
pop si
pop cx
ret
code ends
end start
|