assembler


16-2-2004

Sprawozdanie z Assemblera

Adrian Miraś

Przerwania:

ORG 0 ;Zarezerwowanie X komorki pamieci

SJMP POCZ ;Skok do części Pocz

ORG 0Bh ;Rezerwuje pamięć (dla 0BH)

PUSH ACC ;Przekazanie akumulatora

PUSH PSW ;Przekazanie rejestru słowa

DJNZ R0,WPISZ ;Porównanie - zminejsz wartość o jeden pierwszego argumentu i skocz jeśli w

rejestrze R0 jest wartość różna od zera kodu programu pod etykietą WPISZ

MOV TH0,#0FFh ;Przeniesienie do licznika T0 liczby 0FFH

MOV ACC,P2 ;Wpisanie do akumulatora wartości z portu P2

MOV TL0,ACC ;Wpisanie akumulatora do licznika T0

SETB P3.1 ;Poprzez wstawienie 1, ustawienie bitu pierwszego na porcie P3

MOV R0,#TIME ;Zapisanie do rejestru R0 pamięci RAM mikrokontrolera

SJMP DALEJ ;Skok do części Dalej

WPISZ: MOV TH0,#0FFh ;Wpisanie do licznika T0 liczby 0FFH

MOV ACC,P1 ;Załadowanie wartości z portu P1 do rejestru A

MOV TL0,ACC ;Załadowanie do 4 bitów licznika T0 rejestru A

CLR P3.1 ;Wyzerowanie pierwszego bitu na porcie P3

DALEJ:POP PSW ;Zdjęcie ze stosu wartości rejestru PSW

POP ACC ;Zdjęcie ze stosu wartości rejestru akumulatora

RETI ;Powrót , przepisanie dwóch bitów ze szczytu do rejestru rozkazów PC.

POCZ: MOV TMOD,#1h ;Wpisanie do rejestru TMOD wartości 1H

MOV TH0,#0ffh ;Wczytanie do licznika T0 liczby 0FFH

MOV TL0,#WART_A ;Wczytanie do licznika T0 liczby pod etykietą WART_A

SETB TR0 ;Ustawienie znacznika TR0 w celu odblokowania licznika T0

MOV R0,#TIME ;Wpisanie do rejestru R0 wartości 02H

SETB EA ;Wstawienie do EA bitu o wartości 1

SETB ET0 ;Wstawienie do ET0 bitu o wartości 1

SJMP $ ;Skok do końca programu

WART_A EQU 256-20 ;Przypisanie wartości 256-20 symbolowi WART_A,

WART_L EQU 256-30 ;Przypisanie wartości 256-30 symbolowi WART_L

TIME EQU 02H ;Przypisanie wartości 02H symbolowi TIME

END ;Zakończenie programu

Klawiatura:

NAME klawiatura

SPR0: MOV C,P0.0 ;Przypisanie wartości jednobitowej z portu P0 bitu zerowego do znacznika przeniesienia.

JC SPR1 ;Skok do części SPR1 programu jeśli znacznik jest ustawiony (wartość 1)

MOV P2,#cyfra0 ; Wyświetlenie na porcie P2 wartości z etykiety cyfra0

SPR1: MOV C,P0.1 ; Przypisanie wartości jednobitowej z portu P0 bitu pierwszego do znacznika przeniesienia

JC SPR2 ;Skok do części SPR2 programu jeśli znacznik jest ustawiony (wartość 1)

MOV P2,#cyfra1 ;Wyświetlenie na porcie P2 wartości z etykiety cyfra1

SPR2: MOV C,P0.2 ; Przypisanie wartości jednobitowej z portu P0 bitu drugiego do znacznika przeniesienia.

JC SPR3 ;Skok do części SPR3 programu jeśli znacznik jest ustawiony (wartość 1)

MOV P2,#cyfra2 ;Wyświetlenie na porcie P2 wartości z etykiety cyfra2

SPR3: MOV C,P0.3 ; Przypisanie wartości jednobitowej z portu P0 bitu trzeciego do znacznika przeniesienia.

JC SPR4 ;Skok do części SPR4 programu jeśli znacznik jest ustawiony (wartość 1)

MOV P2,#cyfra3 ;Wyświetlenie na porcie P2 wartości z etykiety cyfra3

SPR4: MOV C,P0.4 ; Przypisanie wartości jednobitowej z portu P0 bitu czwartego do znacznika przeniesienia.

JC SPR5 ;Skok do części SPR5 programu jeśli znacznik jest ustawiony (wartość 1)

MOV P2,#cyfra4 ;Wyświetlenie na porcie P2 wartości z etykiety cyfra4

SPR5: MOV C,P0.5 ; Przypisanie wartości jednobitowej z portu P0 bitu piątego do znacznika przeniesienia.

JC SPR6 ;Skok do części SPR6 programu jeśli znacznik jest ustawiony (wartość 1)

MOV P2,#cyfra5 ;Wyświetlenie na porcie P2 wartości z etykiety cyfra5

SPR6: MOV C,P0.6 ; Przypisanie wartości jednobitowej z portu P0 bitu szóstego do znacznika przeniesienia.

JC SPR7 ;Skok do części SPR7 programu jeśli znacznik jest ustawiony (wartość 1)

MOV P2,#cyfra6 ;Wyświetlenie na porcie P2 wartości z etykiety cyfra6

SPR7: MOV C,P0.7 ; Przypisanie wartości jednobitowej z portu P0 bitu siódmego do znacznika przeniesienia.

JC SPR0 ;Skok do części SPR0 programu jeśli znacznik jest ustawiony (wartość 1)

MOV P2,#cyfra7 ;Wyświetlenie na porcie P2 wartości z etykiety cyfra7

;deklaracje stałych cyfr

cyfra0 equ 0C0h ;Deklaracja stałej cyfra0

cyfra1 equ 0F9h ;Deklaracja stałej cyfra1

cyfra2 equ 0A4h ;Deklaracja stałej cyfra2

cyfra3 equ 0B0h ;Deklaracja stałej cyfra3

cyfra4 equ 099h ;Deklaracja stałej cyfra4

cyfra5 equ 0921h ;Deklaracja stałej cyfra5

cyfra6 equ 082h ;Deklaracja stałej cyfra6

cyfra7 equ 0F8h ;Deklaracja stałej cyfra7

end

Wnioski:

Klawiatura - program miał symulować wyświetlacz siedmio segmentowy, zapalany za pośrednictwem klawiatury. Miał za zadanie rozpoznawać wpisywaną cyfrę i na wyświetlaczu zapalić odpowiednie segmenty.

3



Wyszukiwarka

Podobne podstrony:
assembler
Assembler ENG
Assembly Language for Kids Commodore 64 Addendum
P000718 A Eng Vertical shaft assembly
M001882 B Eng Lower assembly
Molecular Self Assembly
arm assembly
bushwarbler assembly
Ch18 Assemble Complex Models
P000724 A Eng Lower assembly
assembler model, Programowanie
ARTICLE BRAKES PEDAL ASSEMBLY SERVICE
Atmel AVR Assembler id 71678 Nieznany (2)
Assembler Intel Code Table
P000720 D Eng Upper assembly
Basics of Assembler
10 x shed outline assembly and plan
Asembler wykład 16-10-2000, Zaczynamy (pracę) z programem Turbo Assembler, Rozdział 1
KM W assembly ENG stud mod
assembly

więcej podobnych podstron