汇编中MOV AL,[BX]与MOV [BX],AL的区别

如题所述

汇编中MOV AL,[BX]与MOV [BX],AL的区别为:数据来源不同、传送目的不同、地址类型不同。

一、数据来源不同

1、MOV AL,[BX]:MOV AL,[BX]的数据来源为内存[BX]的数据内容。

2、MOV [BX],AL:MOV [BX],AL的数据来源为AL寄存器的数据内容。

二、传送目的不同

1、MOV AL,[BX]:MOV AL,[BX]的传送目的为将内存[BX]里存放的内容传送到AL寄存器去。

2、MOV [BX],AL:MOV [BX],AL的传送目的为将AL寄存器里存放的内容传送到内存[BX]去。

三、地址类型不同

1、MOV AL,[BX]:MOV AL,[BX]指向的地址类型是逻辑地址。

2、MOV [BX],AL:MOV [BX],AL指向的地址类型是偏移地址。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-08
假设指令执行前,AL里的数据内容是 12H, DS:[BX]字节内存单元的内容是56H

MOV AL, [BX]
将内存数据(以BX内容为地址)传送到AL寄存器里。
指令执行后,AL的内容变得与内存[BX]的内容一样,都是56H。

MOV [BX], AL
将AL寄存器里存放的内容传送到内存去,内存地址为DS:[BX]
指令执行后,那个内存单元的内容变得跟AL中的一样,都是12H。本回答被提问者采纳
第2个回答  2012-11-29
汇编语言MOV00传送指令MOV(Move)把一个字节、字或双字的操作数从源位置传送到目的位置,源操作数的内容不变。可以实现立即数到通用寄存器或主存的传送,通用寄存器与通用寄存器、主存或段寄存器之间的传送,主存与段寄存器之间的传送。该操作属于复制性质,不属于搬家性质。 00例如: 00MOV EAX,050ah ;将十六进制数050a 传送到通用寄存器eax中 00应该注意的是: 001.目的操作数要与源操作数类型要一致 002.目的操作数要和源操作数类型之一必须要有明确的类型 00说明: 001. OPRD1 为目的操作数,可以是寄存器、存储器、累加器. 00OPRD2 为源操作数,可以是寄存器、存储器、累加器和立即数. 002. MOV 指令分为以下四种情况: 00<1> 寄存器与寄存器之间的数据传送指令 00<2> 立即数到通用寄存器数据传送指令 00<3> 寄存器与存储器之间的数据传送指令 00<4> 立即数到存储器的数据传送 003. 本指令不影响状态标志位 00汇编还提供许多mov变体,如movzx, movsx等等
相似回答