Sammy673 发表于 2014-5-18 11:56:48

王爽 汇编语言 实验9求助

代码如下:
assume cs:codesg,ds:datasg

datasg segment

db 'w','e','l','c','o','m','e','t','o','m','a','s','m','!'
db 02,24h,71h

datasg ends

codesg segment

start:mov ax,datasg
      mov ds,ax
      mov ax,0B800H
      mov es,ax
      mov bx,0
      mov si,1500
        mov di,0
      mov cx,7


s0:   mov al,
        mov ah,
        mov es:,ax
      inc bx
      add si,2
      loop s0

      inc si
      mov cx,2

s1:   mov al,
        mov ah,
      mov es:,ax
      inc bx
      add si,2
      loop s1

      inc si
      mov cx,5

s2:   mov al,
        mov ah,
      mov es:,ax
      inc bx
      add si,2
      loop s2

      mov ax,4c00h
      int 21h

codesg ends
end start


为何运行结果是:

hackershit 发表于 2014-5-18 13:55:01

本帖最后由 hackershit 于 2014-5-18 14:26 编辑

你没计算好空格~~~

db 'welcome to masm!'

db 'w','e','l','c','o','m','e',' ','t','o',' ','m','a','s','m','!' 注意空格

重新改写代码



或者简单的可以把你代码中
inc si
改成
add si,2
就可以

因为在显存地址中,即使是黑乎乎的一个空格,也占一个字(高位放属性,低位放ASC)
页: [1]
查看完整版本: 王爽 汇编语言 实验9求助