新用户 发表于 2011-11-24 13:52:42

关于实验十,改进后还是无法显示!

本帖最后由 新用户 于 2011-11-24 14:16 编辑

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 ax,0b800H
   mov es,ax      ;设定显存的段地址
   
   mov ax,0
   mov al,160
   mul dh      
   mov bx,ax      ;计算行的绝对位置BX
   
   mov ax,0
   mov al,2
   mul dl
   mov di,0
   mov di,ax      ;计算列的绝对位置DI
   
   add bx,di      ;计算要显示的绝对起始地址BX
   mov di,0
   
s:    mov ax,0
   mov byte ptr al,ds:       ;SI为循环索引,AL为数据
   mov ah,cl          ;把颜色给AH
   mov cx,0
   mov cl,al          ;读取CX是否为零
   jcxz ok         ;如果CX=0跳到OK处
   mov byte ptr es:,al             ;把数据段起始数据给显存地址
   mov byte ptr es:,ah   ;把颜色给显存地址
   inc si          ;索引数加2
   add di,2
   loop s
   
ok:    ret   
code ends
end start   



运行文件,一闪而过,一直没有在电脑上显示!!
开始怀疑是不是电脑的关系

z310394543 发表于 2011-11-24 14:31:34

z310394543 发表于 2011-11-24 14:34:33

新用户 发表于 2011-11-24 14:36:43

你们可以调试?我的电脑怎么看不到?哪错了都不知道,郁闷!

z310394543 发表于 2011-11-24 14:38:16

z310394543 发表于 2011-11-24 14:38:58

新用户 发表于 2011-11-24 14:41:06

我的电脑调试看不见?什么原因?一闪而过!什么也没有!

z310394543 发表于 2011-11-24 14:42:12

新用户 发表于 2011-11-24 14:43:13

win7    32位

新用户 发表于 2011-11-24 14:44:44

看不见效果,没法调试!现实三行的哪个也是不显示!

z310394543 发表于 2011-11-24 14:46:28

新用户 发表于 2011-11-24 14:49:08

我下个试试!谢了

zyp2011_mit 发表于 2011-11-24 20:45:09

很高心大家热心讨论啊~

ever.g 发表于 2011-11-24 21:37:45

{:5_92:} 程序没问题的话就检查自己的环境吧,话说问题出多了好处也少不了

小B同学 发表于 2011-11-25 14:47:25

用deubg加载然后用G命令跳出,然后就会显示的吧,直接运行基本上不肯显示
页: [1]
查看完整版本: 关于实验十,改进后还是无法显示!