鱼C论坛

 找回密码
 立即注册
查看: 3395|回复: 13

实验五 (5)

[复制链接]
发表于 2017-8-2 10:08:08 | 显示全部楼层 |阅读模式

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

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

x
这是我自己写的程序,用DEBUG 调试调不出来
请大神看看程序对不对,麻烦改正
assume cs:code
a segment
  db 1,2,3,4,5,6,7,8
a ends
b segment
  db 1,2,3,4,5,6,7,8
b ends
c segment
  db 0,0,0,0,0,0,0,0
c ends
code segment
start:   mov ax,a
           mov ds,ax
           mov bx,0
           mov ax,b
           mov es,ax
           mov bx,0
           mov ax,c
           mov ss,ax
           mov sp,8
           mov cx,8
         s0: push ds:[0]
              inc bx
              loop s
         s1: mov ax ,es:[bx]
              add ss:[sp],ax
                 inc bx
                  
                 loop s1
         mov ax,4c00h
         int 21h
         code ends
         end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-2 10:09:48 | 显示全部楼层
s0: push ds:[0]
              inc bx
              loop s

这里的s到哪里哟?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-2 10:15:40 | 显示全部楼层
S0  漏掉了一个0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-2 10:16:38 | 显示全部楼层
本帖最后由 f393 于 2017-8-2 10:23 编辑

等会,  add ss:[sp],ax   ,你是怎么编译出来的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-2 10:24:26 | 显示全部楼层
我已经加上了  但是DEBUG 调试的时候很迷,我不会验证它的正确性
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-2 10:28:19 | 显示全部楼层
f393 发表于 2017-8-2 10:16
等会,  add ss:[sp],ax   ,你是怎么编译出来的?

我的电脑好奇怪……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-2 10:29:52 | 显示全部楼层
酸辣小白菜 发表于 2017-8-2 10:24
我已经加上了  但是DEBUG 调试的时候很迷,我不会验证它的正确性

你看栈段的数据啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-2 10:35:33 | 显示全部楼层
f393 发表于 2017-8-2 10:29
你看栈段的数据啊?

用d来查看内存中的数据
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-2 10:41:26 | 显示全部楼层
最后不知道为啥直接没了   
6(PTTQR2}5CR`AI[}HU8.png
SM@7J13]YO9K(@CZYIJN$4F.png
VE{EE8XL]]GP348BD6IN{ZF.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-2 10:48:29 | 显示全部楼层
f393 发表于 2017-8-2 10:29
你看栈段的数据啊?

栈段里的数据不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-2 10:54:06 | 显示全部楼层
f393 发表于 2017-8-2 10:16
等会,  add ss:[sp],ax   ,你是怎么编译出来的?

你能运行么?   
程序能不能看出哪里错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-2 10:57:21 | 显示全部楼层

cx有问题,cx在第一次循环完毕后就是0000了,第二次循环先cx-1,在循环。0000-1得到的是FFFF,所以会执行10000次s1的内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-2 10:59:27 | 显示全部楼层
酸辣小白菜 发表于 2017-8-2 10:54
你能运行么?   
程序能不能看出哪里错了

我这边add ss:[sp],ax这条过不了编译器
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-2 18:35:20 | 显示全部楼层
assume cs:code
a segment
   db 1,2,3,4,5,6,7,8
a ends
b segment
   db 1,2,3,4,5,6,7,8
b ends
cb segment
   db 0,0,0,0,0,0,0,0
cb ends
code segment
start:  mov ax,a
        mov ds,ax
        mov ax,cb
        mov es,ax
        mov ax,b
        mov ss,ax
        mov sp,0
        mov cx,4
        mov bx, 0
                       
s1:     pop ax
                add ax, [bx]
        mov es:[bx], ax
        inc bx
                inc bx
loop s1
        mov ax,4c00h
        int 21h
code ends
end start


修改了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-20 04:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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