Professional Documents
Culture Documents
By:
Dr. Ahmed ElShafee
lea ebx,z3
mov address_z3,ebx
mov edx,789
mov 13
[ebx],edx Dr. Ahmed ElShafee, ACU : Fall 2022, Microprocessors 1
}
Simple Memory Addressing Modes
•
• Normal (R) Mem[Reg[R]]
– Register R specifies memory address
jmp start
VAL1 EQU 39H
VAL2 DB 37
start:
nop
MOV BX,OFFSET VAL2
MOV AH,VAL1
END start
AX BX CX
SI
MAIN PROC NEAR AH AL BH BL CH CL
MOV SI,2310H
MOV BX,OFFSET DAT1
MOV AL,CON1
MOV CX,CON2
MOV AX,283CH
MOV AX,OFFSET DAT3
ENDP MAIN
20
END start Dr. Ahmed ElShafee, ACU : Fall 2022, Microprocessors 1
ORG 100H Label Address Data
STRT: JMP MAIN start 0100-0101 CODE
CON1 EQU 6CH DAT1 0102-0103 2F48
CON2 EQU 245AH DAT2 0104-0107 00000000
• DB 2FH,48H
DAT1 DAT3 0108-0109 7A03
DAT2 DB 4 DUP (0)
DAT3 DW 37AH
AX BX CX
SI
MAIN PROC NEAR AH AL BH BL CH CL
MOV SI,2310H NC NC NC NC NC NC 2310
MOV BX,OFFSET DAT1 NC NC 01 02 NC NC NC
MOV AL,CON1 6C
MOV CX,CON2 24 5A
MOV AX,283CH 28 3C
MOV AX,OFFSET DAT3 01 08
ENDP MAIN
21 Dr. Ahmed ElShafee, ACU : Fall 2022, Microprocessors 1
END start
22 Dr. Ahmed ElShafee, ACU : Fall 2022, Microprocessors 1
2> Register Addressing Mode
• Both of the operands are the contents of registers.
e.g. MOV AL,BH ;AL BH
MOV BX,CX ;BX CX
MOV AX,DL ;Invalid (Data Mismatch)
AX BX CX DX
SI
AH AL BH BL CH CL DH DL
MAIN PROC NEAR 36 20 EE A5 90 89 73 F6 2006
MOV BX,CX
MOV AL,DH
MOV CX,AX
MOV AH,AL
MOV SI,DX
AX BX CX DX
SI
AH AL BH BL CH CL DH DL
MAIN PROC NEAR 36 20 EE A5 90 89 73 F6 2006
MOV BX,CX 90 89
MOV AL,DH 36 73
MOV CX,AX 36 73
MOV AH,AL 73
MOV SI,DX 73F6
AX BX CX DX
SI
MAIN PROC NEAR AH AL BH BL CH CL CH CL
MOV AL,[0104H]
MOV BX,[0108H]
MOV CH,FRST
MOV DX,VAL1
MOV AH,ARR1
MOV CL,ARR1+3
32 Dr. Ahmed ElShafee, ACU : Fall 2022, Microprocessors 1
Label Address Data
FRST 0103 C1
VAL1 0104 56
0105 87
• ARR1 0106 9F
0107 A6
0108 75
0109 8C
AX BX CX DX
SI
MAIN PROC NEAR AH AL BH BL CH CL CH CL
MOV AL,[0104H] 56
MOV BX,[0108H] 8C 75
MOV CH,FRST C1
MOV DX,VAL1 87 56
MOV AH,ARR1 9F
MOV CL,ARR1+3 8C
33 Dr. Ahmed ElShafee, ACU : Fall 2022, Microprocessors 1
34 Dr. Ahmed ElShafee, ACU : Fall 2022, Microprocessors 1
4> memory Register Indirect
Addressing Mode
• One of the operands is the contents of the memory location that is specified by a
register, or a combination of registers and an offset, in the instruction.
Index: Use of SI or DI to specify a memory location.
e.g. MOV AL,[SI] ;AL [SI]
AX BX CX DX
SI di
MAIN PROC NEAR AH AL BH BL CH CL DH DL
MOV AX,7745H
MOV BX,0104H
MOV DI,0001
MOV SI,0002
MOV AL,[BX]
MOV AH,DAT2[SI]
MOV AL,DAT1[DI]
MOV AL,[BX+SI]
39 Dr. Ahmed ElShafee, ACU : Fall 2022, Microprocessors 1
MOV AH,[BX+DI+3]
Address Data
DAT1 0102 2FH
0103 48H
DAT2 0104 12H
0105 10H
0106 18H
DAT3 0107 0A5H
• DAT4
0108
0109
07H
37H
010A 00H
DAT5 010B 10H
AX BX CX DX
SI di
MAIN PROC NEAR AH AL BH BL CH CL DH DL
MOV AX,7745H 77 45
MOV BX,0104H 01 04
MOV DI,0001 0001
MOV SI,0002 0002
MOV AL,[BX] 12
MOV AH,DAT2[SI] 18
MOV AL,DAT1[DI] 48
MOV AL,[BX+SI] 18
40 Dr. Ahmed ElShafee, ACU : Fall 2022, Microprocessors 1
MOV AH,[BX+DI+3] 07H
41 Dr. Ahmed ElShafee, ACU : Fall 2022, Microprocessors 1
Example 12
ORG 100H MOV AL,Data1
STRT: JMP MAIN MOV AH,BL
blank db 3 DUP (?) MOV AL,Data2+3
MOV AX,Data3
Data1 db 4FH
MOV AL,Data2[SI]
Data2 db 8CH,5AH,0ACH,93H MOV AL,[BX+1]
Data3 dW 4F59H,7EA3H MOV AL,[SI+102H]
Data4 db MOV AL,[BX+SI-1]
0F4H,09H,8AH,5CH,6AH MOV AL,Data4[SI+2]
MAIN PROC NEAR MOV AL,Data2[SI+5]
MOV AX,Data3+1
MOV AX,2F8AH
ENDP MAIN
MOV BX,OFFSET Data4 END start
MOV SI,3