|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如题,
讨论下。
我试了几次,把dh设置为0,dl设置为0,执行都不能显示出字符。设置成dh=1,dl=1也不行。
我用自己写的show_str,dh=1,dl=0能显示。
代码如下:
;在CMD中显示data中的字符串
assume cs:code,ds:data
data segment
db 'welcome to masm!',0
data ends
code segment
start: mov ax,data
mov ds,ax
mov si,0
mov dh,1h ;设置行
mov dl,0h ;设置列
mov cl,71h ;设置颜色
call show_str
mov ax,4c00h
int 21h
show_str: push ax
push bx
push cx
push dx
push si
push di
mov ax,0b800h
mov es,ax
mov al,0a0h
mov ah,0
mul dh
mov di,ax
mov al,2h
mov ah,0
mul dl
mov bx,ax
mov al,cl
chang: mov cl,[si]
mov ch,0
jcxz ok
mov ah,[si]
mov es:[di][bx],ah
mov es:1[di][bx],al
inc si
add bx,2
jmp short chang
ok: pop di
pop si
pop dx
pop cx
pop bx
pop ax
ret
code ends
end start
|
|