|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
assume cs:code
data segment
db 'welcome to masm!',0
data ends
code segment
start:
mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
show_str:
mov di,0
mov bx,0b800h
mov es,bx ;初始化
mov ax,0ah
mul dh
add dl,dl
mov dh,0
add ax,dx
mov bx,ax ;计算出要显示位置的偏移地址并赋值给bx
mov ah,cl ;将颜色数据保存在ah
s: mov cl,ds:[si]
mov ch,0
jcxz s1 ;当取到‘0’这个数时跳转到s1
mov es:[bx+di],cl ;将字符的ASCII码放在要求显示的位置
mov es:[bx+di+1],ah ;将颜色数据放在ASCII码后一位
inc si
add di,2
jmp short s
s1: ret
code ends
end start
以上是代码,在debug时可以正常结束程序,但是屏幕上什么都不显示,球大佬们指点一下啊
萌新刚开始学,要是什么低级错误,求大佬轻喷 |
|