鱼C论坛

 找回密码
 立即注册
查看: 2003|回复: 7

汇编语言课后检测点6.1第二题求助

[复制链接]
发表于 2012-10-20 11:40:23 | 显示全部楼层 |阅读模式
1鱼币
这一题我按照课本给出的空间补充完整后成下面的样子,运行后得到正确的结果,
assume cs:code
code segment
    dw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H
    dw 0,0,0,0,0     →我的疑问在这个地方
start: mov ax,cs
        mov ss,ax
       mov sp,26
       mov ax,0
       mov ds,ax
       mov bx,0
      mov cx,8
s: push [bx]
    pop cs:[bx]
    add bx,2
    loop s
   
    mov ax,4c00H
    int 21H
  
code ends
end start
上面箭头处是我的疑问所在,箭头处定义的空间是我们作为栈空间使用的,下面循环实际使用的只有一个字单元,debug跟踪sp一直在1aH和18H跳动,也就是实际使用的栈空间只有最后一个0所占的栈空间,那么我想是不是只要定义一个子单元做为栈空间就可以了呢? 但是我把程序改成下面这样后,确得不到正确结果
assume cs:code
code segment
    dw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H
dw 0
start: mov ax,cs
    mov ss,ax
    mov sp,18
    mov ax,0
    mov ds,ax
    mov bx,0
    mov cx,8
s: push [bx]
    pop cs:[bx]
    add bx,2
    loop s
   
    mov ax,4c00H
    int 21H
  
code ends
end start

最佳答案

查看完整内容

因为程序会引发中断,需要进行现场保护。学到后边的中断你就明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-10-20 11:40:24 From FishC Mobile | 显示全部楼层
因为程序会引发中断,需要进行现场保护。学到后边的中断你就明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-10-22 10:30:12 | 显示全部楼层
我才学一半,大家一起努力把
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-11-4 13:25:22 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-11-4 13:25:59 | 显示全部楼层
luffy 发表于 2012-10-22 10:30
我才学一半,大家一起努力把

我才学习到第九章。共勉之
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-11-12 23:33:45 | 显示全部楼层
我也不明白  :'(
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-11-15 23:46:39 | 显示全部楼层

牵扯到中断~~往后继续学就可以明白了~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-9-20 18:20:06 | 显示全部楼层
我也试过只定义一个字空间,但是sp改为18H 就没有问题了,理论上12h就好了的,但是后面几个字不能复制,我也是刚学到这里。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-29 01:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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