movsi,di与mov[bx],[si]是不同的,前者直接应用存储器,后者是间接的,具体说前者是只用存储器,后者主要目的在内存,这就不同了,后者相当于同时为内存变量,两个内存变量数据是不会传递的,所以要用一个存储器作为中间人!这是cpu指令要求的,或者可能作出一个能运算mov[bx],[si]的cpu指令太费时费地,不如用一个中间量传递来的经济吧!