|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 lan_xin2578 于 2011-11-9 14:35 编辑
自己写了一个程序,是关于在屏幕中间显示三行有显示效果的“welcome to masm!”,但是不能执行,反复检查了好几遍,还是没有发现什么问题,求大家帮我看看。
assume cs:codesg, ds:datasg, ss:stacksg
datasg segment
db 'welcome to masm!' ;要显示的字体
db 02h,24h,71h ;显示效果参数
datasg ends
stacksg segment
dw 8 dup(0)
stacksg ends
codesg segment
start: mov ax, datasg
mov ds, ax
mov ax, stacksg
mov ss, ax
mov sp, 10h
mov ax, 0b872h
mov bx,0
mov cx, 3
s: mov es, ax ;以ax中值作为在屏幕中显示字体的段地址
push cx
push ax
mov di, 0
mov si, 0
mov cx, 16
s0: mov al, [si] ;将所要显示的字符串写进显存,每个字符占一个word
mov es:[di], al
add di, 2
inc si
loop s0
mov cx, 16
mov al, [bx+16]
mov di, 1
s1: mov es:[di], al ;加入显示效果
add di, 2
loop s1
pop ax
pop cx
add ax, 0a0h ;将第二行地址放入ax
add bx, 1
loop s
mov ax, 4c00h
int 21h
codesg ends
end start
求助,都快崩溃了
|
|