1. 程式人生 > >8086彙編 mov指令易錯的語法點總結(考前必看)

8086彙編 mov指令易錯的語法點總結(考前必看)

一、易錯語法點

1.立即數不能作為目的運算元,如mov 110H,AX

2.立即數不能直接傳給段暫存器,如mov DS,110H       // 翻譯成機器碼很長

2.兩個運算元不能同時為段暫存器,如mov ES,DS  // 可通過Ax暫存器間接傳遞

3.兩個運算元不能同時為儲存單元,如mov [0x1245],[0x1312]   // 翻譯成機器碼很長

5.程式碼段暫存器CS不能為目的運算元,但可為源運算元  //  CS為存放程式碼段的段地址,是程式碼段暫存器。它與IP共用,以指示下一條要執行的指令,不能隨意更改!

6.指令指標IP不能作為mov指令的運算元

二、遇到這些問題時解決方法舉例

MOV指令的變通方法

功能描述

不正確的指令

可選的解決方法

把DS的值傳送給ES

MOV  ES, DS

MOV  AX, DS
MOV  ES, AX

把100H傳給DS

MOV  DS, 100H

MOV  AX, 100H
MOV  DS, AX

把字變數VARB的值傳送給字變數VARA

MOV  VARA, VARB

MOV  AX, VARB
MOV  VARA, AX