我叫MD 发表于 2020-4-4 22:52:55

结构体数组应该怎么访问

以下为在8086汇编中使用

汇编中结构体声明
MyStruct struct
        m_Flag db ?
        m_Name db 12 dup(?)
        m_Phone db 12 dup(?)
MyStruct ends


定义结构体数组
        StuInfoAry MyStruct 50 DUP(<>)


那么问题来了,请问怎么访问某个下标中的某个成员呢,烦请指导以下,感谢

项羽姓秦 发表于 2020-4-4 22:52:56

我叫MD 发表于 2020-4-4 23:29
可否举个例子

我刚学习刚的一章刚好讲解到!

assume cs:code
code segment
s1        db 'Good,better,best,','
s2        db 'Never let it rest,','
s3        db 'Till good is better,','
s4        db 'And better,best.','
s        dw offset s1,offset s2,offset s3,offset s4
row        db 2,4,6,8

start:
        mov ax,cs
        mov ds,ax
        mov bx,offset s
        mov si,offset row
        mov cx,4
ok:        mov bh,0
        mov dh,                ;行数
        mov dl,0
        mov ah,2
        int 10h
       
        mov dx,                ;每一段的句子
        mov ah,9
        int 21h
        inc si                ;行数自加
        add bx,2       
        loop ok
        mov ax,4c00h
        int 21h
code ends
end start

项羽姓秦 发表于 2020-4-4 23:04:08

可以用字节来跳转;
假如想访问 m_Phone,那么就从第13个字节开始访问。

又或者利用offset运算符,跳转到它们的偏移地址执行。

我叫MD 发表于 2020-4-4 23:29:38

项羽姓秦 发表于 2020-4-4 23:04
可以用字节来跳转;
假如想访问 m_Phone,那么就从第13个字节开始访问。



可否举个例子

人造人 发表于 2020-4-4 23:49:17

我叫MD 发表于 2020-4-4 23:29
可否举个例子

把你现在的代码发出来

js0086 发表于 2020-4-5 09:11:11

https://blog.csdn.net/lngag110/article/details/37040421
应该有用吧
页: [1]
查看完整版本: 结构体数组应该怎么访问