鱼C论坛

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

[汇编作业] 问题7.2 用已学知识。 不用si di

[复制链接]
发表于 2014-4-28 18:39:37 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 传说。 于 2014-4-28 21:33 编辑

1U(WCE82U%IV$DG6_`I8]@3.jpg
这个源代码我编译不了。 哪里写错了。 用si 和di  有什么用?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-28 19:46:00 | 显示全部楼层
12行写错了,mov [bx],[bx+8]  ,这句话你没有指明是类型,cpu不知道是以字节为单位,还是以字为单位。
你可以改成 mov byte ptr [bx],[bx+8] ,或者 mov Word ptr [bx],[bx+8]

si,和di 只是在对串操作的指令上有区别,其他的指令都是一样的,都是表示地址指针寄存器。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-28 21:06:04 | 显示全部楼层

改了之后还是不行。我win7系统 ,用dosbox,masm编译老是This program cannot be run in DOS mode. 所以我都是直接拖进ml.exe。 也看不来哪里出错了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-28 21:14:44 | 显示全部楼层

回帖奖励 +2 鱼币

传说。 发表于 2014-4-28 21:06
改了之后还是不行。我win7系统 ,用dosbox,masm编译老是This program cannot be run in DOS mode. 所以我 ...

我说错了,存储器和存储器之间是不能相互传值的,你可以先把【bx+8】的内容先放到ax中,在mov 【bx】,ax
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-28 21:32:55 | 显示全部楼层
为之疯狂 发表于 2014-4-28 21:14
我说错了,存储器和存储器之间是不能相互传值的,你可以先把【bx+8】的内容先放到ax中,在mov 【bx】,ax

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 03:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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