梦断神殇 发表于 2012-6-4 15:03:10

实验9,为什么有的显示出来是乱码

assume cs:code
data segment
   db 'welcome to masm!'
db 02h,24h,71h
data ends
stack segment
   dw 8 dup(0)
stack ends

code segment
start:   mov ax,data
         mov ds,ax
   mov ax,stack
   mov ss,ax
   mov sp,10h
   mov ax,0b872h
   mov es,ax
   mov bx,0
   mov di,0
       mov cx,3
s2:push cx
   mov cx,16
      mov si,0
   
    s1:mov al,
   mov es:,al
   mov al,16
   mov es:1,al
   add si,2
   loop s1
   pop cx
   inc di
   add bx,0a0h
   loop s2
   mov ax,4c00h
   int 21h
怎么那几个字符显示的不全,还有笑图案,郁闷啊哪里错了吗

玩酷子弟lv 发表于 2012-6-4 15:44:31

,前面要加段名。

梦断神殇 发表于 2012-6-4 16:09:59

不是段名原因,不加段前缀,是默认DS的,我已经找到原因了
assume cs:code,ds:data,ss:stack
data segment
   db 'welcome to masm!'
       db 02h,24h,71h
data ends

stack segment
   dw 8 dup(0)
stack ends
       
code segment
start:   mov ax,data
         mov ds,ax
               mov ax,stack
               mov ss,ax
               mov sp,10h
               mov ax,0b872h
               mov es,ax
               xor bx,bx
               mov bp,0
          mov cx,3
        s2:push cx
               mov cx,16
             mov si,0
               mov di,0
    s1:       mov al,
               mov es:,al
               mov al,ds:16
               mov es:1,al
               add si,1
               add di,2
               loop s1
               pop cx
               inc bp
               add bx,0a0h
               loop s2
               mov ax,4c00h
               int 21h
code ends
end start
修改后的程序DEBUG成功,我是将字符和背景颜色一次性放过去的

玩酷子弟lv 发表于 2012-6-4 17:26:33

梦断神殇 发表于 2012-6-4 16:09 static/image/common/back.gif
不是段名原因,不加段前缀,是默认DS的,我已经找到原因了
assume cs:code,ds:data,ss:stack
data segmen ...

哦,我搞错了

jianqitao 发表于 2012-6-25 14:51:41

玩酷子弟lv 发表于 2012-6-4 17:26 static/image/common/back.gif
哦,我搞错了

好笑,A跟B说:B,你左脚比右脚大。B对A说:A,不是我左脚比右脚大,是我右脚比左脚小。A说:哦,我搞错了
页: [1]
查看完整版本: 实验9,为什么有的显示出来是乱码