Laboratorium z TM spr1 id 26189 Nieznany

background image

Laboratorium z Techniki Mikroprocesorowej

Temat ćwiczenia:

1) Podprogramy, procedury – obsługa stosu i banków rej.

Data ćwiczenia:

Grupa

WIMiR AiR

1. Tatar
2. Radosław

Ocena:

1. Kod programu z opisem:

;Program glowny
MOV SP,#20H

;zmiana adresu wierzcholka stosu

MOV A,#3

;przypisanie dowolnych wartosci

MOV DPTR,#4
MOV 50H,#5
MOV 51H,#6
MOV R1,50H
MOV R2,51H

LJMP START

;skok do programu glownego


ORG 100H

;ustawienie adresu programu glownego

START:

;poczatek progrmau glownego


CALL TEST

;wywolanie procedury test

MOV R1,#22H

;ustawienie wartosci rejestru r1

LJMP START

;powrot do poczatku programu glownego

ENDED:

;etykieta konca pr. gl.


ORG 200H

;ustawienie adresu procedury

TEST:

;etykieta procedury


PUSH ACC

;wpisanie rejestrów na stos

PUSH DPL
PUSH DPH
PUSH PSW
PUSH B

SETB RS0

;ustawienie bitu na rs0 czyli przejscie na bank1


MOV R1,50H

;operacje na rejestrach

MOV R2,51H

MOV A,R1

;zanegowanie bitu rejestrow

CPL A
MOV R3,A
MOV A,R2
CPL A
MOV R4,A

SETB RS1

;przjescie na bank2

CLR RS0

background image

MOV A,50H

;przemnozenie 50h i 51h

MOV B,51H
MUL AB
MOV R1,A
MOV R2,B

CLR RS0

;przejscie na bank0

CLR RS1

POP B

;zdjecie rejestrow ze stosu

POP PSW
POP DPH
POP DPL
POP ACC

RET

;powrot z procedury do miejsca wywolania


KONIEC: LJMP KONIEC ;zakonczenie programu
END

2. Listing programu:

ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 1





MCS-51 Family Macro Assembler A S E M - 5 1 V 1.3
=====================================================



Source File:

C:\Users\Tatar\Desktop\TM\lab_4_SPR.asm

Object File:

C:\Users\Tatar\Desktop\TM\lab_4_SPR.hex

List File: C:\Users\Tatar\Desktop\TM\lab_4_SPR.lst




Line I Addr Code Source

1:

;Program glowny

2:

0000 75 81 20 MOV SP,#20H

;zmiana adresu wierzcholka stosu

3:

0003 74 03

MOV A,#3

;przypisanie dowolnych wartosci

4:

0005 90 00 04 MOV DPTR,#4

5:

0008 75 50 05 MOV 50H,#5

6:

000B 75 51 06 MOV 51H,#6

7:

000E A9 50

MOV R1,50H

8:

0010 AA 51

MOV R2,51H

9:
10: 0012 02 01 00 LJMP START

;skok do programu glownego

11:
12:

N 0100

ORG 100H

;ustawienie adresu programu glownego

13: 0100

START:

;poczatek progrmau glownego

14:
15: 0100 12 02 00 CALL TEST

;wywolanie procedury test

16: 0103 79 22

MOV R1,#22H

;ustawienie wartosci rejestru r1

background image

17: 0105 02 01 00 LJMP START

;powrot do poczatku programu glownego

18: 0108

ENDED:

;etykieta konca pr. gl.

19:
20:

N 0200

ORG 200H

;ustawienie adresu procedury

21: 0200

TEST:

;etykieta procedury

22:
23: 0200 C0 E0

PUSH ACC

;wpisanie rejestrów na stos

24: 0202 C0 82

PUSH DPL

25: 0204 C0 83

PUSH DPH

26: 0206 C0 D0

PUSH PSW

27: 0208 C0 F0

PUSH B

28:
29: 020A D2 D3

SETB RS0

;ustawienie bitu na rs0 czyli przejscie na bank1

30:
31: 020C A9 50

MOV R1,50H

;operacje na rejestrach

32: 020E AA 51

MOV R2,51H

33:
34: 0210 E9

MOV A,R1

;zanegowanie bitu rejestrow

35: 0211 F4

CPL A

36: 0212 FB

MOV R3,A

37: 0213 EA

MOV A,R2

38: 0214 F4

CPL A

39: 0215 FC

MOV R4,A

40:
41: 0216 D2 D4

SETB RS1

;przjescie na bank2

42: 0218 C2 D3

CLR RS0

43:

ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 2

Line I Addr Code Source

44: 021A E5 50

MOV A,50H

;przemnozenie 50h i 51h

45: 021C 85 51 F0 MOV B,51H
46: 021F A4

MUL AB

47: 0220 F9

MOV R1,A

48: 0221 AA F0

MOV R2,B

49:
50: 0223 C2 D3

CLR RS0

;przejscie na bank0

51: 0225 C2 D4

CLR RS1

52:
53: 0227 D0 F0

POP B

;zdjecie rejestrow ze stosu

54: 0229 D0 D0

POP PSW

55: 022B D0 83

POP DPH

56: 022D D0 82

POP DPL

57: 022F D0 E0

POP ACC

58:
59: 0231 22

RET

;powrot z procedury do miejsca wywolania

60:
61: 0232 02 02 32 KONIEC: LJMP KONIEC

;zakonczenie programu

62:

END



register banks used: ---

no errors

ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 3

background image

3. Tabelka:

Lp. Rozkaz

Wartość
SP

Wartość
PC

Zawartość stosu
(wszystkie bajty)

Opis

1.

CALL

22

0103

00,00,00

2.

Pierwszy rozkaz
procedury

3.

RET

4.

Pierwszy
rozkaz
programu
głównego
po CALL


4. Podsumowanie:

Na przykładzie powyższego programu zapoznaliśmy się z pojęciem stosu oraz banku rejestru.

Nauczyliśmy się wykonywać operacje na rejestrach różnych banków oraz wykorzystywać stos. Z użyciem
tej wiedzy napisaliśmy program zawierający procedurę.


Wyszukiwarka

Podobne podstrony:
Laboratorium 7 z TM spr2 id 261 Nieznany
Laboratorium z NiSHiP spr1 id 2 Nieznany
laboratorium 01 py id 261468 Nieznany
Laboratorium 2i3 zswier id 2615 Nieznany
Namar laboratoria 2012 13 id 31 Nieznany
Laboratorium TSS cw3 id 261862 Nieznany
Laboratorium zadania cz 1 id 26 Nieznany
Laboratorium nr 3 funkcje id 26 Nieznany
Laboratorium 3 IPP 26 id 261566 Nieznany
Laboratorium nr 2 tablice id 26 Nieznany
laboratorium 06 py id 261473 Nieznany
laboratorium 05 py id 261472 Nieznany
Laboratorium TSS cw2 id 261861 Nieznany
Laboratorium nr 6 klasy id 2617 Nieznany
laboratorium 02 py id 261471 Nieznany
Laborant budowlany 311202 id 26 Nieznany
LABORATORIUM 1 id 261484 Nieznany

więcej podobnych podstron