33
Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000 h 0200 h Programmspeicher Problem • Langes Programm • Programm unübersichtlich

Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

Embed Size (px)

Citation preview

Page 1: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

UnterprogrammeUnterprogramme

An mehreren Stellen im Programm stehen gleiche Codeabschnitte!!

0000h

0200h

Programmspeicher

Problem• Langes Programm

• Programm unübersichtlich

Page 2: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

UP

0000h

0200h

Programmspeicher

CALL UP3.

Auf

ruf

CALL UP2.

Auf

ruf

CALL UP

1. A

ufru

f

UnterprogrammeUnterprogramme

0100h

Page 3: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0000h0000hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah09h08h07h BOS06h05h04h03h02h01h00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 4: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0002h0002hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah09h08h07h BOS06h05h04h03h02h01h00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 5: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0002h0002hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah09h08h07h BOS06h05h04h03h02h01h00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 6: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0004h0004hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah09h08h07h BOS06h05h04h03h02h01h00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 7: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0004h0004hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah09h08h07h BOS06h05h04h03h02h01h00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 8: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0007h0007hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah09h08h07h BOS06h05h04h03h02h01h00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 9: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

07h07h08h08h 0Fh0Dh0Ch0Bh0Ah09h08h07h BOS06h05h04h03h02h01h00h (R0)

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0007h0007hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah09h08h TOS07h BOS06h05h04h03h02h01h00h (R0)

Stackpointer (SP)Stackpointer (SP)

0040h0040h

0Fh0Dh0Ch0Bh0Ah09h TOS08h07h BOS06h05h04h03h02h01h00h (R0)

09h09h

00h07h

Page 10: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0040h0040hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h TOS07h 08h

07h BOS06h05h04h03h02h01h00h (R0)

09h09hStackpointer (SP)Stackpointer (SP)

Page 11: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0040h0040hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h TOS07h 08h

07h BOS06h05h04h03h02h01h

5 00h (R0)

09h09hStackpointer (SP)Stackpointer (SP)

Page 12: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0042h0042hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h TOS07h 08h

07h BOS06h05h04h03h02h01h

5 00h (R0)

09h09hStackpointer (SP)Stackpointer (SP)

Page 13: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0042h0042hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h TOS07h 08h

07h BOS06h05h04h03h02h01h

5 00h (R0)

09h09hStackpointer (SP)Stackpointer (SP)

Page 14: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0042h0042hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h TOS07h 08h

07h BOS06h05h04h03h02h01h00h (R0)

09h09hStackpointer (SP)Stackpointer (SP)

43210

Page 15: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0044h0044hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h TOS07h 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

09h09hStackpointer (SP)Stackpointer (SP)

Page 16: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0044h0044hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h TOS07h 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

09h09hStackpointer (SP)Stackpointer (SP)

00

0Fh0Dh0Ch0Bh0Ah

00h 09h07h 08h TOS

07h BOS06h05h04h03h02h01h

0 00h (R0)

08h08h07h07h 0Fh0Dh0Ch0Bh0Ah

00h 09h07h 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)07

Page 17: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0007h0007hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h07h 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 18: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0008h0008hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h07h 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 19: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0008h0008hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h07h 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 20: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

000Ah000AhPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h07h 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 21: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

000Ah000AhPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h07h 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 22: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

000Dh000DhPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h07h 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 23: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

0Fh0Dh0Ch0Bh0Ah

00h 09h07h 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

0Fh0Dh0Ch0Bh0Ah09h08h TOS07h BOS06h05h04h03h02h01h

0 00h (R0)

0Fh0Dh0Ch0Bh0Ah09h TOS08h07h BOS06h05h04h03h02h01h

0 00h (R0)000Dh000Dh0040h0040h

07h07h08h08h

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

PCPC

internes RAMinternes RAMStackpointer (SP)Stackpointer (SP)09h09h

00h0Dh

Page 24: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0040h0040hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h TOS0Dh 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

09h09hStackpointer (SP)Stackpointer (SP)

Page 25: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0040h0040hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h TOS0Dh 08h

07h BOS06h05h04h03h02h01h

5 00h (R0)

09h09hStackpointer (SP)Stackpointer (SP)

Page 26: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0042h0042hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h TOS0Dh 08h

07h BOS06h05h04h03h02h01h

5 00h (R0)

09h09hStackpointer (SP)Stackpointer (SP)

Page 27: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0042h0042hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h TOS0Dh 08h

07h BOS06h05h04h03h02h01h

5 00h (R0)

09h09hStackpointer (SP)Stackpointer (SP)

Page 28: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0042h0042hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h TOS0Dh 08h

07h BOS06h05h04h03h02h01h00h (R0)

09h09hStackpointer (SP)Stackpointer (SP)

43210

Page 29: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0044h0044hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h TOS0Dh 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

09h09hStackpointer (SP)Stackpointer (SP)

Page 30: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

0Fh0Dh0Ch0Bh0Ah

00h 09h TOS0Dh 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

0Fh0Dh0Ch0Bh0Ah

00h 09h0Dh 08h TOS

07h BOS06h05h04h03h02h01h

0 00h (R0)

0Fh0Dh0Ch0Bh0Ah

00h 09h0Dh 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0044h0044hPCPC

internes RAMinternes RAM09h09h

Stackpointer (SP)Stackpointer (SP)

00

08h08h07h07h

0D

Page 31: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

000Dh000DhPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h0Dh 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 32: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0000h0000hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h0Dh 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)

Page 33: Unterprogramme An mehreren Stellen im Programm stehen gleiche Codeabschnitte!! 0000h 0200h Programmspeicher Problem Langes Programm Programm unübersichtlich

BeispielBeispiel

ret 0044hWait: djnz R0,Wait 0042hZeit: mov R0,#5 0040h

••••

jump Start 000Dhcall Zeit 000Ahmov p2,a 0008hcpl a 0007hcall Zeit 0004hmov p2,a 0002h

Start: mov a,p1 0000h

Programmspeicher

(internes Flash-ROM)

Programmspeicher

(internes Flash-ROM)

0000h0000hPCPC

internes RAMinternes RAM0Fh0Dh0Ch0Bh0Ah

00h 09h0Dh 08h

07h BOS06h05h04h03h02h01h

0 00h (R0)

07h07hStackpointer (SP)Stackpointer (SP)