|  | 
 
| 
本帖最后由 lan_xin2578 于 2011-11-9 14:35 编辑
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 自己写了一个程序,是关于在屏幕中间显示三行有显示效果的“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
 
 
 
 
 求助,都快崩溃了
 
 
 
 
 
 | 
 |