. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验9的问题,字母出来的时候没W  [待解决] 回复[ 3次 ]   点击[ 466次 ]  
wangzh001
[帖 主]   [ 发表时间:2008-03-31 23:08 ]   [引用]   [回复]   [ top ] 
荣誉值:14
信誉值:0
注册日期:2008-03-23 07:47
下面的是代码,为什么出来的没W,而且b870里面的东西也不是我写进去的呢?
assume cs:code,ds:data
data segment
db 'welcome to masm!'
data ends 
code segment
start:mov ax,data
     mov ds,ax
     mov ax,0b870h
     mov es,ax
     mov di,0
     mov si,0
     mov cx,10h
  s: mov al,ds:[di]
     mov es:[si],al
     mov ax,02h
     mov es:[si+1],al
     add di,1
     add si,2
     loop s
     mov ax,4c00h
     int 21h
code ends
end start
wdm
[第1楼]   [ 回复时间:2008-04-01 19:25 ]   [引用]   [回复]   [ top ] 
荣誉值:342
信誉值:0
注册日期:2007-12-06 10:21
直接运行了你的程序,显示没有问题。
这个程序不要在debug下跟踪,因为你是向显存中写数据,当你在debug下跟踪查看的时候,debug的显示信息也将写入显存,那样就会将你写入的内存中的值给覆盖了。造成你看不到你的正确运行结果。
如果在debug下进行跟踪,你就一个个的看看你的字符是不是写入了显存,而且要注意,不要和debug写入的数据重叠,否则,等你t完了,也就给你覆盖了。
wangzh001
[第2楼]   [ 回复时间:2008-04-01 21:27 ]   [引用]   [回复]   [ top ] 
荣誉值:14
信誉值:0
注册日期:2008-03-23 07:47
你的意思是说W位置的字符刚好被debug的显示信息的字符覆盖掉了,而其他的没有,所以W没显示而其他的都显示了?
wjw3072003
[第3楼]   [ 回复时间:2008-04-10 15:04 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-03-14 16:22
有收获
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved