陈贱伟 发表于 2013-8-28 08:37:06

debug为什么查看不到显存数据

本帖最后由 陈贱伟 于 2013-8-28 08:53 编辑

我往 b800h地址 写入数据然后 用debugd b800:0 查看   都是不认识数据



assume cs:c,ds:d
d segment
db 'welcome to masm!'
d ends
c segment
sta: mov ax,d
      mov ds,ax
   mov ax,0b800h
   mov es,ax
      
   mov bx,0
   mov si,0
   mov ah,41h
      mov cx,0fh
k:   
   mov al,
   mov es:,al
   inc bx
   inc si
   mov es:,ah
   inc si
   
   loop k

   mov ax,4c00h
   int 21h
c ends
endsta

佐少love 发表于 2013-8-28 08:37:07

b800h地址 数据是一直在变的看图

牡丹花下死做鬼 发表于 2013-8-28 08:40:03

b800:0的 地址是b8000啊 O(∩_∩)O~
物理地址 = 段地址 * 16 + 偏移地址
你在b800h写入的 要查看试试 d 0b80:0

陈贱伟 发表于 2013-8-28 08:54:14

牡丹花下死做鬼 发表于 2013-8-28 08:40 static/image/common/back.gif
b800:0的 地址是b8000啊 O(∩_∩)O~
物理地址 = 段地址 * 16 + 偏移地址
你在b800h写入的 要查看试试 d 0 ...

试了不行

牡丹花下死做鬼 发表于 2013-8-28 08:58:35

本帖最后由 牡丹花下死做鬼 于 2013-8-28 08:59 编辑

你这代码能编译通过???
不可能吧好像很多错误啊

小咒 发表于 2013-8-28 09:02:01

cs:c编译器里不能用c来定义,把C改成其他的就可以。

cmd的时候先进入到你要打开程序的盘符,然后再debug随后q一下,再打开你要测试的程序名如名称是"1.exe",就1.exe

Crazy迷恋. 发表于 2013-8-28 09:51:11

本帖最后由 Crazy迷恋. 于 2013-8-28 09:52 编辑

C是关键字哦~~~~如果使用有高亮效果的编辑器,你会发现C是高亮的。

牡丹花下死做鬼 发表于 2013-8-28 09:55:48

Crazy迷恋. 发表于 2013-8-28 09:51 static/image/common/back.gif
C是关键字哦~~~~如果使用有高亮效果的编辑器,你会发现C是高亮的。

尼玛为什么我就这么倒霉 我来的时候没贴代码 就问了问题
够来发现贴代码了 ~~~~(>_<)~~~~

Crazy迷恋. 发表于 2013-8-28 10:00:45

牡丹花下死做鬼 发表于 2013-8-28 09:55 static/image/common/back.gif
尼玛为什么我就这么倒霉 我来的时候没贴代码 就问了问题
够来发现贴代码了 ~~~~(>_

请牡丹朋友文明用语~~~否则按版规处置{:5_90:}哈哈~~~~~{:5_97:}

牡丹花下死做鬼 发表于 2013-8-28 10:01:26

Crazy迷恋. 发表于 2013-8-28 10:00 static/image/common/back.gif
请牡丹朋友文明用语~~~否则按版规处置哈哈~~~~~

反正 看来下手太快也不好 ~~~~(>_<)~~~~

紸锭↗噯伱□ 发表于 2013-8-28 14:21:55

b800:0的地址是存你这窗口第二排第十六个字符开始的字符,你的第一、第二次都是Microsoft开头的,因为第一、第二次时那个位置的内容是这个,第三次d b800:0的时候由于这个屏幕因为上次的d命令滚动了一下所以那里的内容就发生了变化

紸锭↗噯伱□ 发表于 2013-8-28 14:22:55

你往b800写入数据后先别急着执行下一条命令,看看上面的字符是不是发生了变化

shi_1236 发表于 2013-9-3 13:15:38

顶。。。。{:1_1:}
页: [1]
查看完整版本: debug为什么查看不到显存数据