鱼C论坛

 找回密码
 立即注册
查看: 3364|回复: 32

[技术交流] 错在哪里了,找不到,不知道怎么回事拉,求助!

[复制链接]
发表于 2014-8-15 08:38:04 | 显示全部楼层 |阅读模式

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

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

x
79.ASM 代码如下:

assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display......'
db '2. brows........'
db '3. replace......'
db '4. modify.......'
datasg ends
codesg segment
start: mov ax,stacksg
       mov ss,ax
    mov sp,16
    mov ax,datasg
    mov ds,ax
    mov bx,0
   
    mov cx,4
  s0:  push cx
       mov si,0
    mov cx,4

s: mov al,[bx+3+si]      ;这个是27行
    and al,11011111b
    mov [bx+3+si],al       ;这个是29行
    inc si
    loop s
   
    add bx,16
    pop cx
    loop s0
   
    mov ax,4c00h
    int 21h
   
codesg ends
end start



错在哪里了???


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

使用道具 举报

 楼主| 发表于 2014-8-15 08:56:38 | 显示全部楼层
把27行和29行改成下面就行了
s: mov ax,[bx+3+si]
           and al,11011111b
           mov [bx+3+si],ax

[BX+3+SI]其中的SI 是,双字节型的,所以要用AX,是这么一回事么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-15 09:05:58 | 显示全部楼层
把AL,换成AX,虽然可以运行了,可程序没有达到预期目的。
接连几个例题都没动手去做,这下遇到问题了,可真的找不出,错在哪里了
求高手指点{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-15 09:09:07 | 显示全部楼层
mov al,[bx+si+3]
mov [bx+si+3],al
这样就OK了。。。

评分

参与人数 1荣誉 +1 贡献 +1 收起 理由
小靚同学Leon + 1 + 1 热爱鱼C^_^

查看全部评分

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

使用道具 举报

 楼主| 发表于 2014-8-15 09:10:21 | 显示全部楼层
我的机器有问题??还是什么把79.ASM,和MASM、ML打包发到这里,是不是它们出问题了?

79.rar

334.83 KB, 下载次数: 0

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

使用道具 举报

发表于 2014-8-15 09:11:09 | 显示全部楼层
haiouda 发表于 2014-8-15 08:56
把27行和29行改成下面就行了
s: mov ax,
           and al,11011111b

你这样肯定不对啊,一个字母是一个Byte(字节),占用8位,ax是16位寄存器,不能这么接受。。。按我说的试试。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-15 09:13:42 | 显示全部楼层
一个人在战斗 发表于 2014-8-15 09:11
你这样肯定不对啊,一个字母是一个Byte(字节),占用8位,ax是16位寄存器,不能这么接受。。。按我说的 ...

没改前。出错
s: mov al,[bx+3+si]
           and al,11011111b
           mov [bx+3+si],al

改后:可运行,但与题意不符
s: mov ax,[bx+3+si]
           and al,11011111b
           mov [bx+3+si],ax
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-15 09:17:17 | 显示全部楼层
haiouda 发表于 2014-8-15 09:13
没改前。出错
s: mov al,
           and al,11011111b

看我给你回复的了吗?改成那样就可以了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-15 09:20:27 | 显示全部楼层
一个人在战斗 发表于 2014-8-15 09:09
mov al,
mov ,al
这样就OK了。。。

我和你写的差不多呀只是顺序差一点,这样也不可以么??

[BX+3+SI]  与[BX+SI+3] 难到是这里的顺序,看着不象是顺序的问题哟
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-15 09:21:26 | 显示全部楼层
真是的,把顺序一改不可以运行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-15 09:22:17 | 显示全部楼层
haiouda 发表于 2014-8-15 09:21
真是的,把顺序一改不可以运行了

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

使用道具 举报

 楼主| 发表于 2014-8-15 09:24:24 | 显示全部楼层

可以了,[BX+SI+3] 与[BX+SI+3] 到底有什么区别呀???为什么前者可以,后都不可以呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-15 09:26:22 | 显示全部楼层

可以了,[BX+SI+3] 与[BX+3+SI] 到底有什么区别呀???为什么前者可以,后都不可以呢?

不好意思,刚才打错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-15 09:29:54 | 显示全部楼层
haiouda 发表于 2014-8-15 09:24
可以了, 与 到底有什么区别呀???为什么前者可以,后都不可以呢?

应该是内存寻址的问题,刚开始我也没看出来,我试了一下才行的,看来我们还得好好看看内存寻址那章啊。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-15 09:31:30 | 显示全部楼层
一个人在战斗 发表于 2014-8-15 09:29
应该是内存寻址的问题,刚开始我也没看出来,我试了一下才行的,看来我们还得好好看看内存寻址那章啊。。 ...

我也是小白,我收听你了,以后有问题咱们可以一起交流啊。。。:handshake
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-15 09:34:22 | 显示全部楼层
一个人在战斗 发表于 2014-8-15 09:29
应该是内存寻址的问题,刚开始我也没看出来,我试了一下才行的,看来我们还得好好看看内存寻址那章啊。。 ...

手里这本书好象,没介绍那第细;
中括号内,只表示个数字,猜是BX+3后再加SI,应该是不PI配的事
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-15 09:43:03 | 显示全部楼层
一个人在战斗 发表于 2014-8-15 09:31
我也是小白,我收听你了,以后有问题咱们可以一起交流啊。。。

有些想通了
[BX+SI+IDATA]这是书上的定义,而我把定义改了,所以错了

可书上,问题7.5中,明确用了,MOV AX,[BX+2+SI] 这样的语句,
也就是说:[BX+IDATA+SI],也是合法的,至少书上是这么印的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-15 09:45:31 | 显示全部楼层
这书,少看一也不行,7.5后面还有个分析
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-8-15 09:47:25 | 显示全部楼层
分析和这事,没关系:sweat:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-8-15 09:50:27 | 显示全部楼层
haiouda 发表于 2014-8-15 09:47
分析和这事,没关系

你现在是大学生吗?以前接触过什么语言?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-11 17:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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