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;