小名叫(DAD) 发表于 2012-8-26 15:25:43

大神们教教我,为什么DEBUG这段代码运行不了

刚接触汇编,没几天,天天在看鱼C的汇编视频,努力学习。到第五章,段的安全空间,有个例题是:将内存ffff:0~ffff:b的数据拷贝到0000:200~0000:20b中去,例题是通过LOOP指令循环完成,那个看得懂,完成了。然后我觉着这个例题可以用栈完成,就写了这么一段,可以编译完成,就是用debug调试的时候,到了mov ss,ax就直接退出debug,退回cmd,这是为啥,还有在debug中,把SS SP DS都改成代码中的地址,用a命令,写push ,t执行下,也是直接退出debug,返回CMD,不明白这是为啥。是没有学到的这些内容,还是我本是写的代码就有问题,望大神们指点!乱写的不要笑,我真的是菜鸟中的战斗机,超菜,希望大神指导下,感激不尽!
assume cs:code
code segment
       start:mov ax,0ffffh
               mov ss,ax
               mov sp,1h
               mov ax,20h
               mov ds,ax
               push ds:
               push ds:
               push ds:
               push ds:
               push ds:
               push ds:

      mov ax,4c00h
      int 21h
code ends
endstart

璇玑 发表于 2012-8-26 16:01:47

0ffffh 这个地址有东西换个地址试下

璇玑 发表于 2012-8-26 16:02:33

额 你的栈指针也有问题

璇玑 发表于 2012-8-26 16:03:28

栈指针换成10H应该就好了

、回憶 发表于 2012-8-27 23:47:27

sp=sp-2,
4楼正解
页: [1]
查看完整版本: 大神们教教我,为什么DEBUG这段代码运行不了