标题:struc 伪指令怎样用?
只看楼主
langzi1190
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-12-23
 问题点数:0 回复次数:4 
struc 伪指令怎样用?
struc 指令怎么用?定义一组数据后,在主程序中具体如何使用?要不要用堆栈?
搜索更多相关主题的帖子: struc 指令 堆栈 定义 主程序 
2006-12-30 12:12
lefttime
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2006-10-6
得分:0 

结构体类型定义用不着堆栈;可以认为它是一个数据段变量。像一些书中所说:结构内被定义的变量为结构字段,变量名即为字段名。类似于我们C语言中的结构体!
这种结构常用于硬件控制,最简单的例如我们可以用它控制光驱的开关。
来个简单的例子吧:
DATA STRUC ;在这里只是简单定义两个字节的元素,我们还可以定义不同类型的数据
NUM1 DB ?
NUM2 DB ?
DATA ENDS
CSEG SEGMENT
ASSUME CS:CSEG
X DATA <41H> ;在这里定义一个变量X,这样X就成了一个结构字段
MAIN: MOV AH,2
MOV DL,X.NUM1 ;调用结构字段X中的数值和C语言中一样,不过不能用"->"
INT 21H
MOV DL,20H
INT 21H
MOV DL,X.NUM2 ;同样,字段X拥有2个元素,所以可以通过这样调用第二个数
INT 21H
MOV AX,4C00H
INT 21H
CSEG ENDS
END MAIN


我是金子,我要闪光的
2006-12-30 18:48
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
得分:0 
X       DATA    &lt;41H&gt; 中的41H是什么?

2006-12-30 20:46
lefttime
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2006-10-6
得分:0 
41H是赋给X的第一个参数呀
如果不写,只是用
X DATA <>
这样是采用默认参数,不改变字段的值

我是金子,我要闪光的
2006-12-30 20:58
langzi1190
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-12-23
得分:0 

茅舍顿悟~~~~

2007-01-02 23:56



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-113159-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.114976 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved