汇编伪指令的问题.

[复制链接]
2593|4
 楼主| wplparam 发表于 2007-8-21 00:32 | 显示全部楼层 |阅读模式
 PSIZE EQU 32 

 DSEG AT 20H  ;不明白
 ORG 40H
 BUFFER:DS PSIZE
 ORG 60H
 STACK:DS 20H
 CSEG   ;不明白
 .
 .
 .
 USING 0 ;不明白

 继续请朋友解答
conwh 发表于 2007-8-21 02:30 | 显示全部楼层

不同的编译器有不同的结构,USING 0一般是指使用0组寄存器组

ayb_ice 发表于 2007-8-21 07:30 | 显示全部楼层

不明白,找书看.

 楼主| wplparam 发表于 2007-8-21 11:50 | 显示全部楼层

还是糊涂.

dseg at 20h
org 40h


cseg
org 00h

查了资料,dseg是内部绝对数据段

cseg 是绝对代码段.

在数据段,应该是指 数据存储器的空间 org 40h应该是定义数据起始地址的.

在代码段,应该是指程序存储器空间.org 00h是程序开始的地址.

以上的理解正确吗?

以上的代码在wave3.0里会出错,说是org 40h不在code段里面.

难道org  40h不能指数据存储器?

郁闷了.
zhaohe2001 发表于 2007-8-22 08:52 | 显示全部楼层

关注

6、绝对段选择指令 
CSEG---绝对代码段 
DSEG---内部绝对数据段 
XSEG---外部绝对数据段 
ISEG ---内部间接寻址数据段 
BSEG---绝对位寻址数据段 
格式: 
CSEG  [AT 绝对地址表达式] 
DSEG  [AT 绝对地址表达式] 
XSEG  [AT 绝对地址表达式] 
ISEG   [AT 绝对地址表达式] 
BSEG  [AT 绝对地址表达式] 
括号内是可选项,用来指定当前绝对段的基地址。 
CSEG AT 0000H 
AJMP  MAIN 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

43

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部