Upload
nora-mathews
View
223
Download
7
Tags:
Embed Size (px)
Citation preview
INTRODUCTION TO MICROPROCESSOR
Engr. Ammar Anwar Khan
TUTORIAL # 2 EE-353
Physical and Logical Addresses
2
3
8086 MICROPROCESSOR
MEMORY
4
INSTRUCTION - MOV
5
MOV AX, BX
Mneunomincs
Move => MOV
Addition => ADD
Operands – Source, Destination
AX, BX etc or may be zero operand (e.g., HLT=> halt)
SEGMENT REGISTERS
6
ADDRESSES
7
8086 addresses are specified as xxxx:yyyy
where xxxx is value in segment register
yyyy is offset
Addresses are specified as relative to start of segment
eg. Instruction Pointer relative to Code Segment
EXAMPLES
8
Logical Address
CS:IP, DS:IP, ES:IP, SS:SP
3000:1500
Physical Address (20 bits)
Shift Left CS, DS,ES or SS; 30000
Add the result to IP or SP
30000+1500=31500 is the Physical Address.
EXAMPLES
9
If CS=3000 and IP=1500
Offset =1500
Logical Address =3000:1500
Physical Address =31500
Lower range =30000+0000=30000
Upper Range = 30000+FFFF=3FFFF
EXAMPLES
10
If SS=3500 and SP=FFEE
Offset =FFFE
Logical Address =3500:FFFE
Physical Address =44FFE
Lower range =35000+0000=35000
Upper Range = 35000+FFFF=44FFF
STACK MEMORY
11
SS and SP
Used to store value on the RUN
PUSH => to store the value in the memory
POP => Take out the value from the memory
PUSH AX
POP AX
STACK MEMORY
12
STACK MEMORY
13
LITTLE ENDIAN
14
Higher byte goes to Upper address
Lower byte goes to Lower address
MOV AX,6545
MOV [1500], AX
[1500] = 45
[1501] = 65
Same for stack !!!!!
FLAG REGISTER
15
DEBUG- COMMAND PROMPT
16
DEBUG- COMMAND PROMPT
17
DEBUG- COMMAND PROMPT
18
DEBUG- COMMAND PROMPT
19
DEBUG- COMMAND PROMPT
20
End
21