回 帖 发 新 帖 刷新版面

主题:关于结构的问题

这是我定义的结构及变量
    person    struc
    exist    db    0
    xname    db    20,?,20 dup(?)
    sex    db    ?
    address    db    51,?,51 dup(?)
    postalcode db    10,?,10 dup(?)
    phone    db    20,?,20 dup(?)
    email    db    20,?,20 dup(?)
    qq    db    9,?,9 dup(?)
    person ends

    p    person    20 dup(<>)
为什么mov dx,offset p[bx].xname
    mov ah,0ah
    int 21h
我用这句写内容时,为什么只能写6个字节而不是20个字节啊?
谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

回复列表 (共3个回复)

沙发

[quote]只能写6个字节[/quote]
不明白,dx寄存器只能容纳2个字节的数据,你怎么向它写入了6个字节的数据,强。

试一下用串操作指令:
movs dst,src
movb
movw

板凳

[quote][quote]只能写6个字节[/quote]
不明白,dx寄存器只能容纳2个字节的数据,你怎么向它写入了6个字节的数据,强。

试一下用串操作指令:
movs dst,src
movb
movw[/quote]
不是吧,这个int 21h不是往DX里写的呀

3 楼

这是DOS下的汇编,调用的是什么中断我也不知道.

我来回复

您尚未登录,请登录后再回复。点此登录或注册