1. 程式人生 > >組合語言(二)指令系統

組合語言(二)指令系統

和c語言的字串copy函式有些類似; strcpy(目的陣列,源陣列); 主要是

 2.交換指令xchg

3.地址傳送指令 LEA

lds指令:src+2的字傳送給DS  ;把src單元的字傳送給REG;可以看成是一個32位的地址,且以低地址位地址的雙字單元傳送給DS:REG

  

 4.堆疊操作指令

 

 

 

 

 帶進位的加指令:兩個運算元相加

雙精度的加法,高16位放在DX,低16位放在AX中

高位與高位相加  低位與低位相加

 

 

減法指令

注意: 下面的 SBB DX ,AX;   DX = DX - AX -CF;

 

 

 

 

 

 

 

 

 mov  AH,BX    主要是暫存器不匹配的錯誤

MOV AX , [SI][DI]:只有基址變址定址的方式,沒有變址變址的定址方式

MOV CS, AX:CS不能做目的運算元,進行賦值

CMP  15 , BX;目的運算元不能是立即數

PUSH  BL : 壓棧和出棧都是以字為單位,而不是位元組

POP CS;程式碼段不能做目的運算元   但是 PUSH  CS就是正確的(因為pop cs的語義是將cs的內容出棧,並放入cs)

MOV  [BX], [SI]   : 兩個都是儲存單元,不能直接操作,除立即定址

MOV  CS ,AX:程式碼段不能做目的運算元

CMP  OP1,OP2 (op1,op2是已經定義的位元組變數)