汇编结构体声明、定义、使用

一、结构体声明规则

结构名 STRUC [Alignment][, NONUNIQUE]
数据定义语句序列
结构名 ENDS

  • 代码示例:

    .DATA
    aligned_student STRUC  4
      m_Age          DWORD    ?               ;不初始化
      m_Name         BYTE     30    DUP(0)    ;大小为30字节的字符串数组,初始化为0
      m_Score        DWORD    0               ;INT型分数,初始化为0
      m_Interests    BYTE     "No",0          ;初始化为 "No\0"
    aligned_student ENDS
  • 注意

    • DUP即英文duplicate的缩写,重复的意思,用来定义重复的字节、字、双字、结构等内存缓冲区。括号里写“?”表示不初始化
    • 可以不用写Alignment,默认以1对齐
    • 建议把结构体声明和定义都写在.DATA段中

二、结构体定义规则

以下任意一种都可以

student1    aligned_student    <>
student2    aligned_student    <20,"Bob",80,"NO">
student3    aligned_student    <20>
student4    aligned_student    {20}

结构体数组定义

class1    aligned_student    25 DUP(<>)

三、结构体使用

mov        eax,student1.m_Age
mov        student2.m_Score,eax
lea        eax,offset InterestName
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值