21
INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

Embed Size (px)

Citation preview

Page 1: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

INTRODUCTION TO MICROPROCESSOR

Engr. Ammar Anwar Khan

Page 2: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

TUTORIAL # 2 EE-353

Physical and Logical Addresses

2

Page 3: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

3

8086 MICROPROCESSOR

Page 4: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

MEMORY

4

Page 5: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

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)

Page 6: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

SEGMENT REGISTERS

6

Page 7: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

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

Page 8: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

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.

Page 9: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

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

Page 10: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

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

Page 11: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

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

Page 12: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

STACK MEMORY

12

Page 13: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

STACK MEMORY

13

Page 14: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

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 !!!!!

Page 15: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

FLAG REGISTER

15

Page 16: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

DEBUG- COMMAND PROMPT

16

Page 17: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

DEBUG- COMMAND PROMPT

17

Page 18: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

DEBUG- COMMAND PROMPT

18

Page 19: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

DEBUG- COMMAND PROMPT

19

Page 20: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

DEBUG- COMMAND PROMPT

20

Page 21: INTRODUCTION TO MICROPROCESSOR Engr. Ammar Anwar Khan

End

21