当前位置: 代码迷 >> 汇编语言 >> 在vmware虚拟机中输不出一起字
  详细解决方案

在vmware虚拟机中输不出一起字

热度:118   发布时间:2016-05-02 04:35:12.0
在vmware虚拟机中输不出一行字
    问题描述:向屏幕输出一行"Welcome to masm!",王爽的教材说 ,显存在b8000H--bffffH这段空间地址,由于各种原因,我在虚拟机中做的实验。(暂且不管我为什么用虚拟机而不是在win7的64位装dosbox),我发现,在虚拟机下根本输不出任何一个字!
后来我debug发现,这段内存被写入东西之后,执行下一条指令,数据立马恢复到没有改写数据的状态。具体调试如下。不知道我的猜测对不对,也请大神指教,为什么这段代码在虚拟机中没有输出任何字符!
    代码:
              assume    cs:codesg,ds:datasg

        datasg  segment
              db        'Welcome to masm!'
        datasg  ends

      codesg  segment
      start:  
              mov ax,   datasg
              mov ds,   ax    ;source adrress
              mov ax,   0b800h
              mov es,   ax
              mov cx,   10h
              mov bx,   0
              mov si,   0
              mov di,   0                            

              ;Show the grue colour
            s:mov al,   ds:[si]
              mov ah,   0cah
              mov es:[di],  ax
              inc si
              add di,       02h
              loop s  

              ;Show the grece white front color
              ;add es,80
              ;mov ax,   es
              ;add ax,  80d  
              ;mov es,  ax                                                     
              ;mov si, 0
              ;mov di, si
              ;mov cx, 10h                                          
          ;s0: mov al,   ds:[si]
          ;    mov ah,   01000010b 
          ;    mov es:[di],  ax
          ;    inc si
          ;    add di,       02h
          ;    loop s0                                                                                                                                                                                           
  相关解决方案