结构推理 DATA       SEGMENT
   ADR1  DB   12H,04H,00
         DW   56H,2468H
         DATA ENDS
              ┆
              LEA  BX,ADR1
              MOV  AX,[BX+2]
              MOV  SI,[BX+1]
              MOV  CX,[BX+SI]
              MOV  DX,[SI]
              MOV  BX,[SI-2]
   请写出上面程序段中每条指令执行后,各个目的操作数的值。
【正确答案】内存的分配示意图如下:
   
0000H 12H
0001H 04H
0002H 00H
0003H 56H
0004H 00H
0005H 68H
0006H 24H

   LEABX,ADR1取得的是ADR1的偏移地址,为0000H。
   MOVAX,[BX+2]取得的是内存地址0002H存储的值,又由于AX是16的,所以得到的值为5600H。
   MOV SI,[BX+1]取得的是内存地址0001H存储的值,又由于SI是8位的,所以得到的值为04H。
   MOV CX,[BX+SI]取得的是内存地址0004H存储的值,又由于CX是16位的,所以得到的值为6800H。
   MOV DX,[SI]取得的是内存地址0004H存储的值,又由于DX是16位的,所以得到的值为6800H。
   MOV BX,[SI-2]取得的是内存地址0002H存储的值,又由于BX是16位的,所以得到的值为5600H。
【答案解析】