心如死结 发表于 2012-3-8 06:54:45

菜鸟才学不就,个人理解的汇编解释,不知道正确与否.望大家指点

mov ax, 代表将ds*16+bx=ax 也就是AX的值等于BS+DX(注意,DS需要乘以16 也就是向后推1位)所指向的内存地址内的数据写入AX
列子
mov bx,0002
mov ax,0001
mov ds,ax
mov ax,
解释为 DS(0001)*16+BX(0002)=0010:2的内存数据放入到AX中
mov ,ax 就是反过来.
同样的列子:
mov bx,0002
mov ax,0001
mov ds,ax
mov , ax
解释为 将AX里面的数据写入到 DS(0001)*16+BX(0002)=0010:2的内存中

莫名其妙 发表于 2012-3-8 09:17:41

mov bx,0002 ; bx寄存器的值赋为2
mov ax,0001
mov ds,ax   ;以上两句将段地址设置为0001:0000开始的段
mov ax,;0001:0002 将段地址0001 偏移地址为2 的内存单元中的数据 赋给ax寄存器

mov , ax; 将ax寄存器内的数据赋到段地址为0001偏移地址为2的内存单元中

页: [1]
查看完整版本: 菜鸟才学不就,个人理解的汇编解释,不知道正确与否.望大家指点