#
- 立即數尋址
MOV AX, #30H ;AX=0x30
MOV AX, 30H ;AX中的內容是內存地址30H裏保存的數值
[ ]
- 間接尋址
- x ,操作數是 x中存放的數
- [x] , 操作數是 x 中存放的數爲地址的單元中的數, 像指針操作 *x
// bx=40F6H, 內存位置40F6H、40F7H兩個地址中存放的數是22H、23H
mov ax,[bx] ;2223H傳送到ax中
mov ax,bx ;40F6H傳送到ax中
LDR
- 讀取, 內存數據 -> 寄存器,即裝載, 注意和STR的方向區別
LDR R0, =x ;用於加載立即數或一個地址值到指定寄存器中
LDR R0, =0X99 ;將0X99存入R0中
LDR r0, =x ;將x所指向的地址值存入R0中
LDR R0, [R1] ;將R1中的值存到R0
LDR R1, [R2, #16] ;將(R2+16)地址中的內容存到R1
LDR R1, [R2], #4 ;R1=*R2+4, 然後將R2地址中的內容存到R1
STR
- 寫入, 寄存器 ->內存, 即存儲,注意和LDR的方向區別
STR R1, [r2] ;將r1中的值存到r2所指定的地址中
STR R1, [r2, #4] ;將r1中的值存到r2+4所指定的地址中
STR R1, [r2], #4 ;將r1中的值存到r2所指定的地址中, 同時r2=r2+4
ORR
- 邏輯或運算, 常用於設置操作數1的某些位
ORR R0, R1, #3 ;將R1的0、1位置1, 結果存到R0
ORR R0, R1, #0xd3 ;將R1與0xd3(1101 0111)作或運算,結果存到R0, 即把R1的[7:6]和[4]和[2:0]置1