注册 登录
编程论坛 汇编论坛

struc 伪指令怎样用?

langzi1190 发布于 2006-12-30 12:12, 1832 次点击
struc 指令怎么用?定义一组数据后,在主程序中具体如何使用?要不要用堆栈?
4 回复
#2
lefttime2006-12-30 18:48

结构体类型定义用不着堆栈;可以认为它是一个数据段变量。像一些书中所说:结构内被定义的变量为结构字段,变量名即为字段名。类似于我们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

#3
菜鸟上路2006-12-30 20:46
X       DATA    &lt;41H&gt; 中的41H是什么?
#4
lefttime2006-12-30 20:58
41H是赋给X的第一个参数呀
如果不写,只是用
X DATA <>
这样是采用默认参数,不改变字段的值
#5
langzi11902007-01-02 23:56

茅舍顿悟~~~~

1