鱼C论坛

 找回密码
 立即注册
查看: 1676|回复: 0

汇编程序 偏移地址问题 头疼啊

[复制链接]
发表于 2014-1-22 09:58:43 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 无名侠 于 2014-1-22 16:48 编辑

这是微机原理与接口技术,马维华,第一版,书上P137的例题

  1. STACKSEG  SEGMENT STACK
  2.           DB 256 DUP(?)
  3. STACKSEG  ENDS
  4. DATA1  SEGMENT WORD PUBLIC ‘CONST’
  5. CONS1  DW 100
  6. DATA1  ENDS
  7. DATA2  SEGMENT WORD PUBLIC ‘VARS’
  8. VAR1   DW ?
  9. DATA2  ENDS
  10. DATAGROUP  GROUP DATA1 ,DATA2            ;组合两个数据段
  11. CODESEG  SEGMENT PARA PUBLIC ‘CODE’    ;定义代码段
  12. ASSUME  CS:CODESEG,DS:DATAGROUP,SS:STACKSEG
  13. START:  MOV AX,DATAGROUP
  14.         MOV DS,AX                DS赋初值对该组寻址
  15.         MOV AX,CONS1             ;AX=100
  16.         MOV VAR1,AX             ;VAR=100
  17.         MOV AX,OFFSET VAR1       ;AX=2
  18.         MOV AX,OFFSET DATA1      ;AX=2(已分配2个字节内存单元)
  19.         MOV AX,OFFSET DATA2      ;AX=4(已分配4个字节内存单元)
  20.         MOV AX,4C00H             ;DOS功能调用,可正常返回到操作系统
  21.         INT 21H
  22. CODESEG ENDS
  23.         END  START               ;程序结束
复制代码

你看那条MOV AX,OFFSET DATA1      ;AX=2(已分配2个字节内存单元),为什么AX=2?
   我认为DATA1的偏移地址应该是0,
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-1-22 16:47:52 | 显示全部楼层
好乱!!!!!!!!!!!!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-1-22 16:49:19 | 显示全部楼层
OFFSET 是取出标号的偏移地址吧,AX=2说明DATA1的偏移地址是2啊。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-4 15:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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