标题:求调试,程序执行到mov ax,0b800h崩溃
只看楼主
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
结帖率:97.22%
已结贴  问题点数:30 回复次数:29 
求调试,程序执行到mov ax,0b800h崩溃
assume cs:code ,  ss:stack

code segment
    db 'Welcome to masm!',0
code ends

stack segment

  dw 8 dup (0)
stack ends

code segment
    _start:mov dh,8
           mov dl,3
           mov cl,2
           
              mov ax,code
              mov ds,ax

              mov ax,stack
              mov ss,ax
              mov sp,16
     
           mov si,0
           call show_str
           
           mov ax,4c00h
           int 21h
           
     show_str:
               push si                      ;si记录字符串读取地
                                            ;dh记录行地址
                                            ;dl记录列数地址
               push cx                      ;ch记录读取字符
               push ax                      ;al记录字符属性
               push bx                      ;bx用来存放行的基础地址
               push dx
               
               mov  ax,0b800h
               mov  es,ax
        
                  mov ah,0
               mov al,0a0h
               mul dh
               mov bx,ax
               
               mov dh,0
               mov si,dx
               
               mov  al,cl
               mov  cl,0
              
          print: mov ch,ds:[si]                 ;如果ch为0,则跳出循环
          jcxz _out
                 mov es:[bx+si],ch
                 inc si
                 mov es:[bx+si+1],al
                 add dl,2
               jmp short print
      
         _out: pop dx
               pop bx      
               pop ax
               pop cx
               pop si
               ret
code ends

end _start


搜索更多相关主题的帖子: start Welcome 
2013-02-22 11:49
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
得分:0 
巴嘎我知道了...

I have not failed completely
2013-02-22 11:50
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
得分:0 
程序代码:
assume cs:code ,  ss:stack , ds:data

data segment
    db 'Welcome to masm!',0
data ends

stack segment

  dw 8 dup (0)
stack ends

code segment
    _start:mov dh,8
           mov dl,3
           mov cl,2
          
              mov ax,data
              mov ds,ax

              mov ax,stack
              mov ss,ax
              mov sp,16
    
           mov si,0
           call show_str
          
           mov ax,4c00h
           int 21h
          
     show_str:
               push si                      ;si记录字符串读取地
                                            ;dh记录行地址
                                            ;dl记录列数地址
               push cx                      ;ch记录读取字符
               push ax                      ;al记录字符属性
               push bx                      ;bx用来存放行的基础地址
               push dx
              
               mov  ax,0b800h
               mov  es,ax
       
                  mov ah,0
               mov al,0a0h
               mul dh
               mov bx,ax
              
               mov dh,0
               mov si,dx
              
               mov  al,cl
               mov  cl,0
             
          print: mov ch,ds:[si]                 ;如果ch为0,则跳出循环
          jcxz _out
                 mov es:[bx+si],ch
                 inc si
                 mov es:[bx+si+1],al
                 add dl,2
               jmp short print
      
         _out: pop dx
               pop bx     
               pop ax
               pop cx
               pop si
               ret
code ends

end _start


debug调试到mov ax,b800h时依然崩溃

I have not failed completely
2013-02-22 11:54
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:0 
搬砖中 楼主结题的时候记得给我点分
2013-02-22 13:17
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:3 
切分

授人以渔,不授人以鱼。
2013-02-22 13:26
信箱有效
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1102
专家分:4268
注 册:2012-6-19
得分:2 
抢台词
2013-02-22 13:39
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
得分:0 
好吧我已经做出来了...30分就这么没了,天哪坑爹的有木有啊...

I have not failed completely
2013-02-22 13:42
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
得分:0 
再来几个切分的先,T版说得好啊,不以散分为目的的散分就是耍流氓,所以我不能耍流氓,啊...睡一觉先

I have not failed completely
2013-02-22 13:49
神龙赖了
Rank: 10Rank: 10Rank: 10
来 自:萨塔星
等 级:青峰侠
威 望:2
帖 子:711
专家分:1788
注 册:2012-10-13
得分:0 
z版那个masmplus汇编编辑器:

data segment
db 0
data ends

code segment
 mov ax,data
mov ax,data这一句怎么成非法的了?有什么办法能改成合法的吗?

I have not failed completely
2013-02-22 16:19
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:5 
以下是引用神龙赖了在2013-2-22 16:19:35的发言:

z版那个masmplus汇编编辑器:

data segment
db 0
data ends

code segment
 mov ax,data
mov ax,data这一句怎么成非法的了?有什么办法能改成合法的吗?

mov ax, seg data

行不行呢 不同版本有不同是正常的
2013-02-22 16:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-398952-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.056973 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved