鱼C论坛

 找回密码
 立即注册
查看: 2419|回复: 4

汇编第5实验求助

[复制链接]
发表于 2012-2-17 13:32:37 | 显示全部楼层 |阅读模式

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

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

x
我是循环到第6次崩溃了,也不知道这样写对不


assume cs:code
a segment
  dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends

b segment
  dw 0,0,0,0,0,0,0,0
b ends
code segment
    start:  mov ax,a
                        mov ds,ax
                        mov bx,0
                       
                        mov ax,b
                        mov ss,ax
                        mov sp,16
                       
                        mov cx,8
                s:        push ds:[bx]
                        add bx,2
                        loop s
                       
                        mov ax,4c00h
                        int 21h
code ends
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-17 16:49:03 | 显示全部楼层
这题不是要放到b段中吗?楼主貌似放到a段中去了??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-18 13:19:38 | 显示全部楼层

对啊,楼主只是把b段当做栈把a的数据逐个推入。
我debug了楼主的代码,发现到第六次循环时,执行完add bx, 2这句指令后,cs:ip就突然跳到0000:0077 此处的指令是int 3,而各个寄存器的数据也变的不知所以然。
我没想通为什么会这样,希望广大鱼油赐教,我也想弄懂这是为什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-20 16:01:04 | 显示全部楼层
mov sp 16 要写成 mov sp 16h
因为是16进制嘛。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-21 10:10:42 | 显示全部楼层
晕哦,你程序只定义了代码段,没有定义数据段、和堆栈段,不出错才怪哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-19 18:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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