. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->更灵活的定位内存地址的方法
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  程序7.1的疑问  [已解决] 回复[ 4次 ]   点击[ 351次 ]  
regex
[帖 主]   [ 发表时间:2010-01-10 23:04 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
才开始第七章的学习。 别怪新人事多~, 呵呵。
书里程序7.1大致我能理解。 值得我疑惑的是图7.1里。 载入程序后用R命令查看寄存器状态,
DS=0B2D ES=0B2D SS=0B3D CS=0B3E
这里的CS为什么不是0B3D二是0B3E, 多了一个字节, 这一个字节是哪来的?
程序里虽然定义的DS段, 但是并没有载入。 也即是说, 这定义的字节在CS段中。 
书里第四章有载入程序那段我也看啦, 程序段的地址段由SA+10H:0组成。, 在这里SA是0B2D, 那么, 我的理解CS应为0B3D , 可是书里的是0B3E, 多了一个字节, 呵呵,这是哪来的呢?
regex
[第1楼]   [ 回复时间:2010-01-10 23:07 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
在我实验的时候, 也是多一个字节。 可是如果将入口的start去掉的话, 就没上述问题啦
还请高手解惑释疑。多谢。
versaariel
[第2楼]   [ 回复时间:2010-01-11 13:42 ]   [引用]   [回复]   [ top ] 
荣誉值:62
信誉值:0
注册日期:2009-12-03 13:14
段起始地址 = 段地址*10H,(0B3E-0B3D)*10H = 10H bytes
看看是不是cs之前还有一个段呢
regex
[第3楼]   [ 回复时间:2010-01-11 14:23 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
多谢回复。我再好好研究研究。
regex
[第4楼]   [ 回复时间:2010-01-12 01:04 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
此贴由 贴主 于 [ 2010-01-12 01:04 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved