鱼C论坛

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

王爽 汇编语言检测点10.4求解

[复制链接]
发表于 2015-12-29 12:07:46 | 显示全部楼层 |阅读模式

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

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

x
内存地址      机器码      汇编指令  
1000:0        b8 00 00   mov ax,6
1000:3        ff d0         call ax  
1000:5        40             inc ax  
1000:6        58             mov bp,sp  
                                    add ax,[bp]  
[bp]的值 怎么来的?

通过 call ax 后,ss:sp 指向的是栈顶,值是5

mov bp,sp 后, 在没有指定段寄存器的情况下,不是默认用ds么?  [bp] 也就是 ds:[bp] 吧 , 难道 ds:[bp] 的值 等于  ss:sp 的值?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-12-29 12:53:18 | 显示全部楼层
ss*16+bp
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-29 14:19:32 | 显示全部楼层

没有指定段寄存器的情况下, 默认应该是 ds 寄存器啊,[bp] 就是 ds*16 + bp 啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-29 16:01:03 | 显示全部楼层
是的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-12-29 17:26:03 | 显示全部楼层
本帖最后由 ★\天涯﹑ 于 2015-12-29 17:32 编辑


那我们现在只知道,ss:sp = 5 , 尽管 bp = sp 了 ,但是不知道 ds ,bp 的值啊,怎么就确定[bp] = 5 了呢

上面给出的是指令地址cs:ip的值 ,如果我的 ds = 2000H, ss = 3000H,尽管  mov bp,sp 指令让 bp = sp 了,但也不能确定 [bp] 的值啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-29 17:30:23 | 显示全部楼层
本帖最后由 ★\天涯﹑ 于 2015-12-29 17:34 编辑

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

使用道具 举报

发表于 2015-12-30 00:03:37 | 显示全部楼层
看书 ,在162页
mov ax, [bp]       含义: (ax) = ((ss)* 16 + (bp))
第三个明确说明 bp默认配ss
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-30 22:41:22 | 显示全部楼层
sp付给bp的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-3 15:32:16 | 显示全部楼层
关于bx,si,di,bp寄存器的讲解,bp寄存器在不特意指定段地址的情况下,默认匹配是ss为段地址,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-1-13 12:18:41 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-19 06:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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