注册 登录
编程论坛 汇编论坛

好吧,我又忍不住回来问问题了。。。

admin_xyz 发布于 2012-09-16 18:13, 570 次点击
程序代码:
assume cs:code,ds:data

data segment
    db     'I am xyz !'
data ends

code segment
start:
    mov    ax, data
    mov     ds, ax
    mov    ax, 0B800h
    mov    es, ax
    mov    cx, 10
    mov    bx, 0
    mov    si, 0
   
s:
    mov    al, ds:[bx]
    mov    ah, 00001010B        ;很灵活。
    mov    es:[si+2000], ax     ;12*160+80
   
    inc   bx
    add    si, 2
loop s

    mov    ax, 4c00h            ;Debug中输入 g 4c 可显示
                            ;为什么输入g 4c才能显示。
    int    21h
   
code ends
end start
6 回复
#2
zklhp2012-09-16 19:55
帮顶
#3
admin_xyz2012-09-16 21:50
  z版。。。你怎么不回答!!!
#4
有容就大2012-09-16 22:30
g 4c貌似是走到了mov    ax, 4c00h 的CS:IP的位置吧
你想看结果最好再mov    ax, 4c00h 前加个 mov ah, 1
                                        int 21h
#5
有容就大2012-09-16 22:42
55 去实地考察了下 不光是-g 4c能看到结果 -g xx都能看到 或者-g都行 就是走到程序末尾了
要走到那一步就写 -g CS:IP

#6
爱末流2012-09-18 18:14
这个问题没有遇到过,你想问是不是直接写显存的时候不显示字符?,要到4c结束才显示?
但是我平时在debug下直接写入就可以显示了,你可以在movax,4c00h 前面加句 mov ah,07h  int 21h  看看,别在debug下运行了,直接运行生成的exe
#7
pangding2012-09-18 18:28
不懂帮顶。最近很少上论坛了……
1