基本的彙編指令

  • 定義:數據傳送是計算機中最基本、最重要的一種操作。數據傳送指令負責把數據、地址或立即數傳送到寄存器或存儲單元中。除標誌寄存器傳送指令外,均不影響標誌位;

通用數據傳送指令MOV

  1. 格式:MOV OPRD1,OPRD2
  2. 功能:將源操作數( OPRD2 )傳送入目的地址,源地址內容不變;
  3. 注意:
    (1)MOV指令不破壞源操作數內容;
    (2)MOV指令不允許從存儲單元直接傳送到存儲單元;
    (3)源操作數和目的操作數長度應該相等;
    (4)立即數不能做目的操作數;
    (5)段寄存器CS不可以做目的操作數;
    (6)對段寄存器賦值時,源操作數可以用寄存器或存儲單元;

數據交換指令XCHG

  1. 格式:XCHG OPD,OPS
  2. 功能:將源操作數與目的操作數中的內容互換;
  3. 注意:
    (1)交換隻能在通用寄存器間、通用寄存器與存儲器間進行;
    (2)兩個存儲器之間不能交換數據;
    (3)段寄存器不能作爲操作數;
    (4)必須有一個操作數是寄存器;

有效地址傳送指令LEA

  1. 格式:LEA r16,mem
  2. 功能:將源操作數的有效地址傳送至指定的16位通用寄存器中
  3. 注意:
    (1)指令中“r16”常用的寄存器是BX、BP、SI、DI,一般不使用其他寄存器;
    (2)源操作數mem是一個存儲器操作數,常用的是變量名。本條指令常被描述爲“取變量的偏移地址”,屬常用指令;

進棧與出棧指令PUSH/POP

  1. 格式:PUSH SRC POP DST
  2. 將堆棧指針SP減2,操作數SRC入棧。將堆棧指針SP加2,操作數DST加上;
  3. 特點:指令操作結果不影響標誌寄存器;
  4. 注意: 
    (1)是一單操作數指令,且只能是通用寄存器操作數、內存操作數;
    (2)由於堆棧以字方式編址,操作數必須是字(16位)操作數;
    (3)內存操作數可以用任意一種有效的尋址方式表示
    (4)操作數可以是段寄存器, (POP指令CS除外)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章