微機指令

              AX:累加器ADD,BX:基址寄存器BASE,

              CX:計數寄存器COUNTER,DX:數據寄存器DATA

SP:堆棧指針寄存器,指示堆棧在內存中的相對位置。

  BP:基數指針寄存器,存放數據在內存中的基地址,使尋址方式更爲靈活。

SI:源操作數變址寄存器,存放源數據的地址。

DI:目的操作數變址寄存器,存放目的數據的地址。   

1直接尋址:MOV AL, ES:[2CH] ;從ES附加段偏移地址爲2CH的單元取數→AL

2寄存器間接尋址:MOV AX , [BX] ;從DS數據段中由BX所指向的地址開始的兩單元內容送入AX  默認BP SP在SS段 AX BX CX DX SI DI在DS段:

3寄存器相對尋址:MOV AX,[SI+100H]如SI=2000H,則將DS段2100H~2101H的內容送入AX,DS和SI有毛關係?

(也稱爲帶位移量的間接尋址,位移量可正可負。常用於找一維數組)

4基址加變址的尋址:MOV AX,[BX+SI] ;將BX和SI中的內容之和所指向的存儲單元開始的兩個字節送入AX (通常將EBX EBP BX和BP稱爲基址寄存器,通常將ESI EDI SI和DI稱爲變址寄存器。BP默認在SS段其它都在DS段同上一樣)

5相對的基址加變址尋址:MOV AX,[BP+SI+0050] ;將ES段的由BP和SI中的內容與0050相加作爲有效地址。

6相對的帶比例因子的變址尋址:IMUL EBX,[ESI*4+7] ; ESI的內容乘以4在加上7形成有效地址

7基址加比例因子的變址尋址:MOV EAX,[EBX][ESI*4] 《===》MOV EAX,[EBX+ESI*4] ;將DS段由EBX+ESI*4所指向的單元開始的四個字節送入EAX

8相對的基址加比例因子的變址尋址:MOV EAX,[EDI*4][EBP+80]=== [EDI*4+EBP+80]


一、and指令:邏輯與指令,按位進行與運算

例如指令:

mov al,01100011B

and  al,00111011B

(第三,7,8位爲0)

執行後:al=00100011B

通過該指令可將操作對象的相應位設爲0,其他位不變

例如:

將al的第六位設爲0的指令是:and al,10111111B

AND OR原文章鏈接

微機原理——指令系統——算數運算指令(ADD、ADC、SUB、SBB、INC、DEC、NEG、CMP、MUL、IMUL、DIV、IDIV、CBW、CWD、BCD調整)》,

ADC是ADD+CF,SBB是SUB(減)-CF

NOP定義在庫函數intrins.h中,表示空循環一個機器指令的時間,

6M中表示2us;

12M中表示1us;

24M中表示0.5us(微妙);

1s=1000ms=1000 000us;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章