16位数据占用一个字的存储器也就是D,32位数据占用一个双字的存储器也就是DD。如果你想将16位的数据存储在32位的存储器,其实数据本身是不变化的,只不过是存这个数据的空间变大了。比如D0里面存储一个16位数,将D0的数据存入D1里面变为32,则可以这样做:
MOV D0 D1
DMOV D1 D3
也就是说你转换的时候16位还是按照十六位传输,如D0送入D1.但是送入D1之后使用时就可以按32位来使用(前提是D2没有使用)。就比如DMOV D1 D3。这样就实现了D0里16位数据送入D1和D3里面时变为32位数据。
这样的解释是不对的
如果是正数如上所说,
如果是负数:举例,比如要把16位的-1转化成32位,按照您的解释
MOV D0 D1 D0=-1 D1=-1
DMOV D1 D3 D1=-1 D2=0 D3=-1 D4=0 那么32位D3D4 是多少 是-65536