鱼C论坛

 找回密码
 立即注册
查看: 2496|回复: 17

[已解决]一个小小问题,求证下。

[复制链接]
发表于 2017-9-20 23:35:44 | 显示全部楼层 |阅读模式

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

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

x
大家好,又是我。我是很认真的在学。一个小小的问题。一样。看图中:这是两个变量和常量的灵活运用,挺简单的。可能对你们而言很简单。就第32行的add   bx,16。我看到这行的时候有点疑问为什么要用add这语句?如果定位前面错了。这句不是也会互加加错?所以mov  bx,16是不是可以这样用?麻烦有经验的回答我这三个问题。
我电脑没有debug所以我练得少。同时练得少的弊端也出来了,很生涩。就是能理解。但当你自己打的时候脑海里一片空白。所以也顺便问一句现在电脑里没有debug怎么办?
最佳答案
2017-9-21 12:08:39
我不知道你说的是不是37讲的题目,我就假设你的代码有4句语句前4个字母需要变成大写。
第一问:当然要用add,一开始bx=0代表的是第一行(从0开始),si和3都是用来定位这一行的第几个字母,每次循环si+1就可以到下一个字母,那行怎么切换到下一行,只有增加bx。
第二问:你说的前面是哪里?数据段还是一开始定位的位置?要是数据段错了,每行没凑够相等的字数那肯定就乱了;要是定位的位置错了,那每次增加就只会改变每一行的相同列数的字母。
第三问:如果只有两行,或只需要改变两行的可以,就是第一次定位在第一行,第二次改变bx到第二行,可是你这是循环,要改变的不止是两行,所以每次循环结束前都需要切换到下一行。设想一下要是用mov bx,16,除了第一次是在bx=0的第一行,以后每次都会在bx=16的第二行,切一直在这行。
至于没有debug,可以用dosbox,我就是用这个的。链接:链接:https://pan.baidu.com/s/1slUEn3R 密码:h8y9  解压——汇编语言环境一键配置——桌面打开——启动DOSBOX
如果没问题记得点“最佳答案”,有问题点“回复”

图1

图1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-9-21 09:05:07 | 显示全部楼层
求解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-21 09:22:48 | 显示全部楼层
最好是把完整代码添出来给大家看看吧!

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

使用道具 举报

发表于 2017-9-21 12:08:39 | 显示全部楼层    本楼为最佳答案   
我不知道你说的是不是37讲的题目,我就假设你的代码有4句语句前4个字母需要变成大写。
第一问:当然要用add,一开始bx=0代表的是第一行(从0开始),si和3都是用来定位这一行的第几个字母,每次循环si+1就可以到下一个字母,那行怎么切换到下一行,只有增加bx。
第二问:你说的前面是哪里?数据段还是一开始定位的位置?要是数据段错了,每行没凑够相等的字数那肯定就乱了;要是定位的位置错了,那每次增加就只会改变每一行的相同列数的字母。
第三问:如果只有两行,或只需要改变两行的可以,就是第一次定位在第一行,第二次改变bx到第二行,可是你这是循环,要改变的不止是两行,所以每次循环结束前都需要切换到下一行。设想一下要是用mov bx,16,除了第一次是在bx=0的第一行,以后每次都会在bx=16的第二行,切一直在这行。
至于没有debug,可以用dosbox,我就是用这个的。链接:链接:https://pan.baidu.com/s/1slUEn3R 密码:h8y9  解压——汇编语言环境一键配置——桌面打开——启动DOSBOX
如果没问题记得点“最佳答案”,有问题点“回复”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-9-21 14:34:40 | 显示全部楼层
丶忘却的年少o 发表于 2017-9-21 12:08
我不知道你说的是不是37讲的题目,我就假设你的代码有4句语句前4个字母需要变成大写。
第一问:当然要用ad ...

谢了,晚上我回去发一下全部的源程序。其实就是王爽老师那本书。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-21 14:59:02 | 显示全部楼层
已然就位 发表于 2017-9-21 14:34
谢了,晚上我回去发一下全部的源程序。其实就是王爽老师那本书。

其实发不发代码不重要,重要的是你自己要理解,先把DOSBox装起来,打代码自己实现下,再结合我说的理解下,如果搞懂就好了,还有问题就接着点“回复”。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-23 08:08:57 | 显示全部楼层
丶忘却的年少o 发表于 2017-9-21 14:59
其实发不发代码不重要,重要的是你自己要理解,先把DOSBox装起来,打代码自己实现下,再结合我说的理解下 ...

理解了,但是dosbox怎么用和debug一样吗。为什么-u没反应
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-23 09:45:20 | 显示全部楼层
已然就位 发表于 2017-9-23 08:08
理解了,但是dosbox怎么用和debug一样吗。为什么-u没反应

一样的。输入debug才能用u指令。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-19 13:21:09 | 显示全部楼层
丶忘却的年少o 发表于 2017-9-23 09:45
一样的。输入debug才能用u指令。

还是不行
Qasm.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-19 13:34:34 | 显示全部楼层
这个的意思是你这个文件所在的地方没有masm和link文件。当初解压的时候有这个文件夹吗
QQ拼音截图未命名.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-19 14:02:45 | 显示全部楼层
丶忘却的年少o 发表于 2017-10-19 13:34
这个的意思是你这个文件所在的地方没有masm和link文件。当初解压的时候有这个文件夹吗


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

使用道具 举报

 楼主| 发表于 2017-10-19 14:05:34 | 显示全部楼层
这个和放哪个盘有关系吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-19 14:51:44 | 显示全部楼层
已然就位 发表于 2017-10-19 14:05
这个和放哪个盘有关系吗

安装目录没有关系,但是asm文件也放在这个有masm和link文件夹下就可以直接编译连接的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-19 16:11:27 | 显示全部楼层
丶忘却的年少o 发表于 2017-10-19 14:51
安装目录没有关系,但是asm文件也放在这个有masm和link文件夹下就可以直接编译连接的。

在导.asm 文件时出现这个是怎么回事
masm后   有masm和link文件夹下也没有.obj  的文件
QQ图片2飒飒.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-19 16:14:42 | 显示全部楼层
丶忘却的年少o 发表于 2017-10-19 14:51
安装目录没有关系,但是asm文件也放在这个有masm和link文件夹下就可以直接编译连接的。

在导.asm 文件时出现这个是怎么回事
masm后   有masm和link文件夹
QQ图片2飒飒.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-10-19 16:23:38 | 显示全部楼层
已然就位 发表于 2017-10-19 16:14
在导.asm 文件时出现这个是怎么回事
masm后   有masm和link文件夹

啊,啥?导?我不是这么玩的
直接在那个文件夹里进行个TXT,然后改后缀.asm,用Notepad++打开直接写,写完打开软件,启动dosbox,直接就输入masm XX.asm;    link XX.obj;     debug XX.exe
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-19 16:29:01 | 显示全部楼层
丶忘却的年少o 发表于 2017-10-19 16:23
啊,啥?导?我不是这么玩的
直接在那个文件夹里进行个TXT,然后改后缀.asm,用Notepad++打开直接写,写 ...

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

使用道具 举报

发表于 2017-10-19 16:30:28 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 17:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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