鱼C论坛

 找回密码
 立即注册
查看: 2657|回复: 9

汇编疑问

[复制链接]
发表于 2015-8-9 20:58:24 | 显示全部楼层 |阅读模式
50鱼币
本帖最后由 u654f 于 2015-8-10 12:33 编辑

assume cs:codesg,ds:datasg
datasg segment
        db 'welcome to masm!'
        db '................'
datasg ends
codesg segment
        start:
        mov ax,datasg
        mov ds,ax
        mov ss,ax
        mov sp,20h
        mov bx,14
        mov cx,8
        s:
        push [bx]
        dec bx
        dec bx
        loop s
        mov ax,4c00h
        int 21h
codesg ends
end start
以上代码是将第二行db作为栈,将第一行数据送入....中,代码达到了预期效果但还出现个疑问,第一段内存为何会发生改变?看图片
1.jpg

最佳答案

查看完整内容

mov bx,14有点不太明白。不应该是mov bx,10h吗?要移动的数据有16个字节啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-9 20:58:25 | 显示全部楼层
mov bx,14有点不太明白。不应该是mov bx,10h吗?要移动的数据有16个字节啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-9 21:55:33 | 显示全部楼层
不科学啊!难道是用dosbox的原因吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-8-9 22:16:34 | 显示全部楼层
不知道是环境问题,还是代码问题。一步一步调试了。是循环到bx为8时发生改变的,但是程序里面都没有修改过这段内存的值,调试时发现bx为8时执行push高地址内存的8位数据会往低内存地址的数据平移了8位。有点莫名其妙。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-8-9 23:22:33 | 显示全部楼层
jmuxiaolu 发表于 2015-8-9 23:12
mov bx,14有点不太明白。不应该是mov bx,10h吗?要移动的数据有16个字节啊!

push [bx=14]取得是m!   bx=16取得就是..了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-13 11:42:00 | 显示全部楼层
push [bx=14]取得是m!   bx=16取得就是..了
这个办法好。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-24 23:18:41 | 显示全部楼层
完全看不出问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-31 21:35:36 | 显示全部楼层
路过,赚鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-9-3 23:26:28 | 显示全部楼层
感谢楼主的奉献 我要鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-9-6 15:51:34 | 显示全部楼层
jmuxiaolu 发表于 2015-8-9 23:12
mov bx,14有点不太明白。不应该是mov bx,10h吗?要移动的数据有16个字节啊!

虽然问题没解决,但至少证明你动了脑子,强烈鄙视只管要鱼币不用脑子的!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 02:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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