段寄存器 通用寄存器 立即数 BP、SP、SI、D 存贮器 图3-14数据传送方向示意图 1)在CPU各内部寄存器之间传送数据(除代码 段寄存器CS和指令指针IP以外)
段寄存器 CS、DS、SS、ES 存贮器 立即数 通用寄存器 AX、BX、CX、DX BP、SP、SI、DI 图3-14 数据传送方向示意图 1)在CPU各内部寄存器之间传送数据(除代码 段寄存器CS和指令指针IP以外)
MOV AL, BL BL中的8位数据送AL MOV DH, CL CL中的8位数据送DH MOV CX, AX 将AX中的16位数据送CX MOV BX, DI 将D中的16位数据送BX MOV DS, AX ;将AX中的16位数据送DS MOV ES, AX ;将AX中的16位数据送ES
MOV AL,BL ;BL中的8位数据送AL MOV DH,CL ;CL中的8位数据送DH MOV CX,AX ;将AX中的16位数据送CX MOV BX,DI ;将DI中的16位数据送BX MOV DS,AX ;将AX中的16位数据送DS MOV ES,AX ;将AX中的16位数据送ES
2)立即数传送至CPU的内部通用寄存器(即AX、BX CX、DX、BP、SP、SI、DI),给这些寄存器赋值。 MOV CL,4;立即数8送入CL中 MOV AX,03FFH;将立即数数03FFH送入AX中 MOV CX,1000H;将立即数1000H送入CⅩ中 MOV BL, 40 ;将立即数40送BL中 MOV SI,057BH;将立即数057BH送入SI中
2)立即数传送至CPU的内部通用寄存器(即AX、BX、 CX、DX、BP、SP、SI、DI),给这些寄存器赋值。 MOV CL,4 ;立即数8送入CL中 MOV AX,03FFH ;将立即数数03FFH送入AX中 MOV CX,1000H ;将立即数1000H送入CX中 MOV BL,40 ;将立即数40送BL中 MOV SI,057BH ;将立即数057BH送入SI中
3)CPU内部寄存器(除了CS和IP以外)与存贮器 (所有寻址方式)之间的数据传送,与前述一样可以 传送一个字节也可以传送一个字 MOV AL, BUFFER;将 BUFFER为首地址的一个单元内容送AL MOV AX,[BX];BX和BX+1所指的两个内存单元的内容送AX MOV DI, AX ;累加器的内容送DI和DI+1所指的两个单元 MOV AX,[SI4];将S+4和S4+1所指的两个单元内容送入AX 需要注意的是,MOV指令不能在两个存贮器单元之间进 行数据直接传送。为了实现存贮器单元之间的数据传送 必须用内部寄存器作为中介 MOV AL, DATAL MOV DATA2, AL
3)CPU内部寄存器(除了CS和IP以外)与存贮器 (所有寻址方式)之间的数据传送,与前述一样可以 传送一个字节也可以传送一个字。 MOV AL,BUFFER ;将BUFFER为首地址的一个单元内容送AL MOV AX,[BX] ;BX和BX+1所指的两个内存单元的内容送AX MOV [DI],AX ;累加器的内容送DI和DI+1所指的两个单元 MOV AX,[SI+4] ;将SI+4和SI+4+1所指的两个单元内容送入AX 需要注意的是,MOV指令不能在两个存贮器单元之间进 行数据直接传送。为了实现存贮器单元之间的数据传送, 必须用内部寄存器作为中介。 MOV AL,DATAl MOV DATA2,AL
(2)交换指令 指令格式: XCHG OPRDI,OPRD2 执行功能:交换指令把一个字节或一个字的源操作数 与目的操作数相交换 XCHG AL,CL;累加器低8位和通用寄存器CL之间交换 XCHG AX,DI;累加器AX和通用寄存器D之间交换 XCHG BX,SI;通用寄存器BX和通用寄存器S之间交换 XCHG AX, BUFFER 累加器AX和 BUFFER为首地址的两个单元交换 XCHG BX, SI 通用寄存器BX和存储器SI和SI+1两个单元交换
(2)交换指令 指令格式: XCHG OPRDl,OPRD2 执行功能:交换指令把一个字节或一个字的源操作数 与目的操作数相交换。 XCHG AL,CL ;累加器低8位和通用寄存器CL之间交换 XCHG AX,DI ;累加器AX和通用寄存器DI之间交换 XCHG BX,SI ;通用寄存器BX和通用寄存器SI之间交换 XCHG AX,BUFFER ;累加器AX和BUFFER为首地址的两个单元交换 XCHG BX, [SI] ;通用寄存器BX和存储器SI和SI+1两个单元交换