鱼C论坛

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

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

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

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

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

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

这是微机原理与接口技术,马维华,第一版,书上P137的例题
STACKSEG  SEGMENT STACK
          DB 256 DUP(?)
STACKSEG  ENDS
DATA1  SEGMENT WORD PUBLIC ‘CONST’
CONS1  DW 100
DATA1  ENDS 
DATA2  SEGMENT WORD PUBLIC ‘VARS’
VAR1   DW ?
DATA2  ENDS
DATAGROUP  GROUP DATA1 ,DATA2            ;组合两个数据段
CODESEG  SEGMENT PARA PUBLIC ‘CODE’    ;定义代码段
ASSUME  CS:CODESEG,DS:DATAGROUP,SS:STACKSEG
START:  MOV AX,DATAGROUP
        MOV DS,AX                DS赋初值对该组寻址
        MOV AX,CONS1             ;AX=100
        MOV VAR1,AX             ;VAR=100
        MOV AX,OFFSET VAR1       ;AX=2
        MOV AX,OFFSET DATA1      ;AX=2(已分配2个字节内存单元)
        MOV AX,OFFSET DATA2      ;AX=4(已分配4个字节内存单元)
        MOV AX,4C00H             ;DOS功能调用,可正常返回到操作系统
        INT 21H
CODESEG ENDS
        END  START               ;程序结束
你看那条MOV AX,OFFSET DATA1      ;AX=2(已分配2个字节内存单元),为什么AX=2?
   我认为DATA1的偏移地址应该是0,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-1-22 16:47:52 | 显示全部楼层
好乱!!!!!!!!!!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-1-22 16:49:19 | 显示全部楼层
OFFSET 是取出标号的偏移地址吧,AX=2说明DATA1的偏移地址是2啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 11:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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