鱼C论坛

 找回密码
 立即注册
查看: 3516|回复: 3

入栈的数据到怎么看不到?

[复制链接]
发表于 2011-7-24 17:42:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有个问题请教,知道的请指点
7.9这个程序的代码我写完了,调试了一下结果好像也正确,达到了目标,只是有一点不明白,和7.8改进了的那段代码一样,我把计数器入栈前没有指定sp,入栈后我查了一下,栈里没有看到数据,不知是什么原因?
代码如下:
assume cs:codesg,ds:datasg,ss:stacksg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display      '
db '2. brows        '
db '3. replace      '
db '4. modify       '
datasg ends
codesg segment
start: mov ax,datasg
       mov ds,ax
    mov ax,stacksg
    mov ss,ax
    mov bx,0
    mov cx, 4
s: push cx
    mov si,3
    mov cx,4
   
s0:   mov al,[bx+si]
      and al,11011111b
   mov [bx+si],al
   inc si
   loop s0
   
   add bx,16
   pop cx
   
   loop s
   
   mov ax,4c00h
   int 21h
codesg ends
end start

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-24 17:54:23 | 显示全部楼层
加了 mov sp,16这一句后,
全部代码如下:
assume cs:codesg,ds:datasg,ss:stacksg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display      '
db '2. brows        '
db '3. replace      '
db '4. modify       '
datasg ends
codesg segment
start: mov ax,datasg
       mov ds,ax
           mov ax,stacksg
           mov ss,ax
           mov sp,16
           mov bx,0
           mov cx, 4
        s: push cx
           mov si,3
           mov cx,4
          
s0:   mov al,[bx+si]
      and al,11011111b
          mov [bx+si],al
          inc si
          loop s0
          
          add bx,16
          pop cx
          
          loop s
          
          mov ax,4c00h
          int 21h

codesg ends
end start


又出现了一个新问题,:这个栈初始化是应该是空的啊,怎么查看时却是这样呢,请看截图

79.JPG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-24 23:38:55 | 显示全部楼层
前面没设置sp,故意的?
设置了栈空间,概念上来说是空的,可以有数据的!
比如你试下,push了,再pop,查看下内存,前面push的数据还是存在的,然后你试着在push次,就会发现前面的数据给覆盖了!:D
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-25 08:07:42 | 显示全部楼层
谢谢,但不是不明白,不是通过“dw 0,0,0,0,0,0,0,0 "这一句把栈内的内容设为0了么?那么按讲:-d ss:0后看到ss:0 10H的内容应该都是0啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 02:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表