org ramp setb 6;ustawia bit na wartość stop: ljmp stop;zapętlenie programu, instrukcja skoku bezwarunkowego do etykiety stop. End org ramp



Pobieranie 105,92 Kb.
Data12.01.2018
Rozmiar105,92 Kb.

1. ORG RAMP

SETB P1.6 ;ustawia bit P1.6 na wartość 1.

STOP: LJMP STOP ;zapętlenie programu, instrukcja skoku bezwarunkowego do etykiety STOP.

END
2. ORG RAMP

CLR P1.6 ;ustawia bit P1.6 na wartość 0.

STOP: LJMP STOP ;zapętlenie, instrukcja skoku bezwarunkowego do etykiety STOP.

END
3. ORG RAMP

START: MOV DPTR,#PTWE ;umieść w rejestrze DPTR wartość z portu wejścia.

MOVX A,@DPTR ;przesuń do akumulatora zawartość komórki, której adres jest w DPTR.

JNB ACC.4,ZAPAL ;jeśli wartość bitu 4 akumulatora jest ustawiona na 0 wykonaj skok do etykiety ZAPAL.

CLR P1.6 ;wyzeruj bit P1.6.

LJMP START ;skok bezwarunkowy do etykiety START.

ZAPAL: SETB P1.6 ;ustaw bit P1.6 na 1.

LJMP START ;skok bezwarunkowy do etykiety START.

END
4. ORG RAMP

START: MOV DPTR,#PTWE ;umieść w rejestrze DPTR wartość z portu wejścia.

MOVX A,@DPTR ;przenieś do akumulatora wartość komórki, której adres znajduje się w rejestrze DPTR.

JNB ACC.0,ZAPAL ;jeśli bit numer 0 akumulatora jest wyzerowany wykonaj skok do etykiety ZAPAL.

CLR P1.6 ;wyzeruj bit P1.6.

LJMP START ;wykonaj skok bezwarunkowy do etykiety START.

ZAPAL: SETB P1.6 ;ustaw bit P1.6 na 1.

LJMP START ;wykonaj skok bezwarunkowy do etykiety START.

END
5. ORG RAMP

START: MOV DPTR,#PTWE ;umieść w rejestrze DPTR wartość z portu wejścia.

MOVX A,@DPTR ;przenieś do akumulatora wartość komórki, której adres znajduje się w DPTR.

JNB ACC.2,ZAPAL ;jeśli bit numer 2 akumulatora jest zerem skocz do etykiety ZAPAL.

CLR P1.6 ;wyzeruj bit P1.6.

LJMP START ;skok bezwarunkowy do etykiety START.

ZAPAL: SETB P1.6 ;ustaw bit P1.6 na wartość 1.

LJMP START ;skok bezwarunkowy do etykiety START.

END
6. ORG RAMP

START: MOV DPTR,#PTWE ;umieść w rejestrze DPTR wartość z portu wejścia.

MOVX A,@DPTR ;przesuń do akumulatora wartość komórki, której adres jest w DPTR.

JNB ACC.4,ZGAS ;jeśli bit 4 akumulatora jest 0 skocz do etykiety ZGAŚ.

SETB P1.6 ;ustaw bit P1.6 na wartość 1.

LJMP START ;skok bezwarunkowy do etykiety START.

ZAPAL: SETB P1.6 ;ustaw bit P1.6 na wartość 1.

LJMP START ;skok bezwarunkowy do etykiety START.

ZGAS: CLR P1.6 ;wyzeruj bit P1.6.

END
7. ORG RAMP

MOV DPTR,#PTWY ;umieść w DPTR wartość z portu wyjścia.

MOV A,#00001111B ;umieść w akumulatorze wartość binarną 00001111.

MOVX @DPTR,A ;przesuń zawartość akumulatora do rejestru DPTR.

STOP: LJMP STOP ;zapętlenie, skok bezwarunkowy do etykiety STOP.

END
8. ORG RAMP

START: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOVX A,@DPTR ;przesuń do akumulatora zawartość komórki, której adres jest w DPTR.

JNB ACC.5,ZAPAL ;jeśli bit 5 akumulatora jest wyzerowany skocz do etykiety ZAPAL.

CLR P1.6 ;wyzeruj bit P1.6.

LJMP START ;skok bezwarunkowy do etykiety START.

ZAPAL: MOV DPTR,#PTWY ;umieść w DPTR wartość z PTWY.

MOV A,#11110000B ;umieść w akumulatorze wartość binarną 11110000.

MOVX @DPTR,A ;przesuń zawartość akumulatora do DPTR.

END
9. ORG RAMP

START: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOVX A,@DPTR ;przesuń do akumulatora wartość komórki, której adres znajduje się w DPTR.

JNB ACC.5,ZAPAL ;jeśli bit 5 akumulatora jest zerem, skocz do etykiety ZAPAL.

MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOV A,#00000000B ;umieść w akumulatorze wartość binarną 00000000.

MOVX @DPTR,A ;przesuń zawartość akumulatora do DPTR.

LJMP START ;skok bezwarunkowy do etykiety START.

ZAPAL: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOV A,#10000001B ;umieść w akumulatorze wartość binarna 10000001.

MOVX @DPTR,A ;przesuń zawartość akumulatora do DPTR.

LJMP START ;skok bezwarunkowy do etykiety START.

END
10. ORG RAMP

START: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOVX A,@DPTR ;przesuń do akumulatora wartość komórki spod adresu z DPTR.

JNB ACC.2,ZAPAL ;jeśli bit 2 akumulatora jest zerem skocz do etykiety ZAPAL.

MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOV A,#00001111B ;umieść w akumulatorze wartość binarną 00001111.

MOVX @DPTR,A ;przesuń zawartość akumulatora do DPTR.

LJMP START ;skok bezwarunkowy do etykiety START.

ZAPAL: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOV A,#11110000B ;umieść w akumulatorze wartość binarną 11110000.

MOVX @DPTR,A ;przesuń zawartość akumulatora do DPTR.

LJMP START ;skok bezwarunkowy do etykiety START.

END
11. ORG RAMP

START: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOVX A,@DPTR ;przesuń do akumulatora wartość komórki, która jest pod adresem z DPTR.

JNB ACC.5,ZAPAL ;jeśli bit 5 akumulatora jest wyzerowany skocz do etykiety ZAPAL;

MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOV A,#00000000B ;umieść w akumulatorze wartość binarną 00000000.

MOVX @DPTR,A ;przesuń zawartość akumulatora do komórki pamięci wskazanej przez adres w DPTR.

LJMP START ;skok bezwarunkowy do etykiety START.

ZAPAL: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOV A,#11000000B ;umieść w akumulatorze wartość binarną 11000000.

MOVX @DPTR,A ;przesuń zawartość akumulatora pod adres wskazany w DPTR.

LJMP START ;skok bezwarunkowy do etykiety START.

END
12. ORG RAMP

START: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOVX A,@DPTR ;przenieś do akumulatora wartość komórki spod adresu z DPTR.

CJNE A,#11001111B,ZGAS ;jeśli zawartość akumulatora jest inna niż wartość binarna 11001111 skocz do ZGAŚ.

MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOV A,#10000001B ;umieść w akumulatorze wartość binarną 10000001.

MOVX @DPTR,A ;przesuń zawartość akumulatora do pamięci zewnętrznej, pod adres z DPTR.

LJMP START ;skok bezwarunkowy do etykiety START.

ZGAS: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOV A,#00000000B ;umieść w akumulatorze wartość binarną 00000000.

MOVX @DPTR,A ;przesuń zawartość akumulatora do pamięci zewnętrznej, pod adres z DPTR.

LJMP START ;skok bezwarunkowy do etykiety START.

END
13. ORG RAMP

START: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOVX A,@DPTR ;przesuń do akumulatora wartość komórki, której adres jest w DPTR.

CJNE A,#11011110B,ZGAS ;jeśli wartość akumulatora jest inna niż wartość binarna 11011110 skocz do ZGAŚ.

MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOV A,#11000011B ;umieść w akumulatorze wartość binarną 11000011.

MOVX @DPTR,A ;przesuń zawartość akumulatora pod adres wskazany przez DPTR.

LJMP START ;skok bezwarunkowy do etykiety START.

ZGAS: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOV A,#00000000B ;umieść w akumulatorze wartość binarną 00000000.

MOVX @DPTR,A ;przesuń zawartość akumulatora pod adres wskazany w DPTR.

LJMP START ;skok bezwarunkowy do etykiety START.

END
14. ORG RAMP

START: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOVX A,@DPTR ;przesuń do akumulatora wartość komórki, której adres jest w DPTR.

CJNE A,#11011110B,ZGAS ;jeśli wartość akumulatora jest inna niż wartość binarna 11011110 skocz do ZGAŚ.

MOV DPTR,#PTWE ;umieść w DPTR wartość PTWE.

MOV A,#11000011B ;umieść w akumulatorze wartość binarną 11000011.

MOVX @DPTR,A ;przesuń zawartość akumulatora pod adres wskazany w DPTR.

CLR P1.6 ;wyzeruj bit P1.6.

LJMP START ;skok bezwarunkowy do etykiety START.

ZGAS: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

SETB P1.6 ;ustaw bit P1.6 na 1.

MOV A,#00000000B ;umieść w akumulatorze wartość binarną 00000000.

MOVX @DPTR,A ;przesuń zawartość akumulatora pod adres wskazany w DPTR.

LJMP START ;skok bezwarunkowy do etykiety START.

END
15. ORG RAMP

START: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOVX A,@DPTR ;przesuń do akumulatora wartość komórki, której adres jest w DPTR.

CJNE A,#11011110B,ZGAS ;jeśli wartość akumulatora jest inna niż wartość binarna 11011110 skocz do ZGAŚ.

MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

MOV A,#11000011B ;umieść w akumulatorze wartość binarną 11000011.

MOVX @DPTR,A ;przesuń zawartość akumulatora pod adres wskazany w DPTR.

CLR P1.6 ;wyzeruj bit P1.6.

CLR P1.7 ;wyzeruj bit P1.7.

LJMP START ;skok bezwarunkowy do etykiety START;

ZGAS: MOV DPTR,#PTWE ;umieść w DPTR wartość z PTWE.

SETB P1.6 ;ustaw bit P1.6 na 1.

SETB P1.7 ;ustaw bit P1.7 na 1.

MOV A,#00000000B ;umieść w akumulatorze wartość binarną 00000000.

MOVX @DPTR,A ;przesuń zawartość akumulatora pod adres z DPTR.

LJMP START ;skok bezwarunkowy do etykiety START.

END
16. ORG RAMP

START: MOV DPTR,#PTWY ;umieść w DPTR wartość z PTWE.

MOV A,#00011001B ;umieść w akumulatorze wartość binarną 00011001.

MOVX @DPTR,A ;przesuń zawartość akumulatora do pamięci zewnętrznej, pod adres z DPTR.

LCALL DELAY ;wywołaj podprogram DELAY.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV DPTR,#PTWY ;umieść w DPTR wartość z PTWY.

MOV A,#0 ;umieść w akumulatorze wartość 0.???????????????????

MOVX @DPTR,A ;przesuń zawartość akumulatora pod adres wskazany w DPTR.

LCALL DELAY ;wywołaj podprogram DELAY.

LCALL DELAY ;wywołaj podprogram DELAY.

LJMP START ;skok bezwarunkowy do etykiety START.
DELAY: MOV DPTR,#-50000 ;umieść w DPTR wartość -50000.

OPZ: INC DPTR ;inkrementuj wartość rejestru DPTR.

MOV A,DPH ;umieść w akumulatorze wartość starszego bitu rejestru DPTR.

ORL A,DPL ;wpisz do akumulatora sumę logiczną jego wartości i młodszego bitu DPTR.

NOP ;operacja pusta, procesor nie wykonuje żadnych operacji.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

JNZ OPZ ;jeśli w akumulatorze jest wartość zero skocz do etykiety OPZ.

RET ;powrót z podprogramu.

END
17. ORG RAMP

START: MOV DPTR,#PTWY ;umieść w DPTR wartość z PTWY.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany przez DPTR.

SETB P1.6 ;ustaw bit P1.6 na 1.

LCALL DELAY ;wywołaj podprogram DELAY.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV DPTR,#PTWY ;umieść w DPTR wartość z PTWY.

MOVX @DPTR,A ;przesuń zawartość akumulatora pod adres wskazany przez DPTR.

CLR P1.6 ;wyzeruj bit P1.6.

LCALL DELAY ;wywołaj podprogram DELAY.

LCALL DELAY ;wywołaj podprogram DELAY.

LJMP START ;skok bezwarunkowy do etykiety START.


DELAY: MOV DPTR,#-50000 ;umieść w rejestrze DPTR wartość -50000.

OPZ: INC DPTR ;inkrementuj zawartość rejestru DPTR.

MOV A,DPH ;umieść w akumulatorze zawartość starszego bitu rejestru DPTR.

ORL A,DPL ;wpisz do akumulatora sumę logiczną jego wartości i młodszego bitu DPTR.

NOP ;operacja pusta, procesor nie wykonuje żadnych operacji.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

JNZ OPZ ;jeśli wartość w akumulatorze nie jest zerem skocz do etykiety OPZ.

RET ;powrót z podprogramu.

END
18. ORG RAMP

START: MOV DPTR,#PTWY ;umieść w DPTR wartość z PTWY.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres z DPTR.

SETB P1.6 ;ustaw bit P1.6 na wartość 1.

LCALL DELAY ;wywołaj podprogram DELAY.

LCALL DELAY ;-----------''-----------.

LCALL DELAY ;-----------''-----------.

MOV DPTR,#PTWY ;umieść w DPTR wartość z PTWY;

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

CLR P1.6 ;wyzeruj bit P1.6.

LCALL DELAY ;wywołaj podprogram DELAY.

LJMP START ;skok bezwarunkowy do etykiety START.


DELAY: MOV DPTR,#-50000 ;umieść w DPTR wartość -50000.

OPZ: INC DPTR ;inkrementuj zawartość rejestru DPTR.

MOV A,DPH ;przenieś do akumulatora zawartość starszego bitu rejestru DPTR.

ORL A,DPL ;wpisz do akumulatora sumę logiczną jego wartości i młodszego bitu DPTR.

NOP ;operacja pusta, procesor nie wykonuje żadnych operacji.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

JNZ OPZ ;jeśli wartość akumulatora nie jest zerem skocz do etykiety OPZ.

RET ;powrót z podprogramu.

END
19. ORG RAMP

START: MOV DPTR,#PTWY ;umieść w DPTR wartość z PTWY.

MOV A,#00000001B ;umieść w akumulatorze wartość binarną 00000001.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres z DPTR.

LCALL DELAY ;wywołaj podprogram DELAY.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV DPTR,#PTWY ;umieść w DPTR wartość z PTWY.

MOV A,#0 ;umieść w akumulatorze wartość 0.?????????????????

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres z DPTR.

LCALL DELAY ;wywołaj podprogram DELAY.

LCALL DELAY ;wywołaj podprogram DELAY.

LJMP START ;skok bezwarunkowy do etykiety START.


DELAY: MOV DPTR,#-50000 ;umieść w DPTR wartość -50000.

OPZ: INC DPTR ;inkrementuj wartość z DPTR.

MOV A,DPH ;umieść w akumulatorze wartość starszego bitu rejestru DPTR.

ORL A,DPL ;wpisz do akumulatora sumę logiczną jego wartości i młodszego bitu DPTR.

NOP ;operacja pusta.

NOP ;------''------.

NOP ;------''------.

NOP ;------''------.

JNZ OPZ ;jeśli wartość akumulatora nie jest zerem skocz do etykiety OPZ.

RET ;powrót z podprogramu.

END
20. ORG RAMP

MOV A,#00000001B ;umieść w akumulatorze wartość binarną 00000001.

START: MOV DPTR,#PTWY ;umieść w DPTR wartość z PTWY.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany przez DPTR.

RL A ;przesuń akumulator w lewo o jeden bit.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść zawartość rejestru R0 w akumulatorze.

MOV DPTR,#PTWY ;umieść w DPTR zawartość z PTWY.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany przez DPTR.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść zawartość rejestru R0 w akumulatorze.

LJMP START ;skok bezwarunkowy do etykiety START.


DELAY: MOV DPTR,#-50000 ;umieść w rejestrze DPTR wartość -50000.

OPZ: INC DPTR ;inkrementuj zawartość rejestru DPTR.

MOV A,DPH ;umieść w akumulatorze wartość starszego bitu rejestru DPTR.

ORL A,DPL ;wpisz do akumulatora sumę logiczną jego wartości i młodszego bitu DPTR.

NOP ;operacja pusta, procesor nie wykonuje żadnej operacji.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

JNZ OPZ ;jeśli wartość akumulatora nie jest zerem skocz do etykiety OPZ.

RET ;powrót do programu.

END
21. ORG RAMP

MOV A,#00010010B ;umieść w akumulatorze wartość binarną 00010010.

START: MOV DPTR,#PTWY ;umieść w DPTR wartość z PTWY.

MOVX @DPTR,A ;przenieś zawartość akumulatora do adresu z DPTR.

RL A ;przesuń zawartość akumulatora w lewo o jeden bit.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść zawartość rejestru w akumulatorze.

MOV DPTR,#PTWY ;umieść w DPTR zawartość PTWY.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres z DPTR.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść zawartość rejestru R0 w akumulatorze.

LJMP START ;skok bezwarunkowy do etykiety START.


DELAY: MOV DPTR,#-20000 ;umieść w DPTR wartość -20000.

OPZ: INC DPTR ;inkrementuj zawartość DPTR.

MOV A,DPH ;umieść w akumulatorze zawartość starszego bitu rejestru DPTR.

ORL A,DPL ;wpisz do akumulatora sumę logiczną jego wartości i młodszego bitu DPTR.

NOP ;operacja pusta, procesor nie wykonuje żadnej operacji.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

JNZ OPZ ;jeśli wartość akumulatora nie jest zerem skocz do etykiety OPZ.

RET ;powrót do programu.

END
22. ORG RAMP

MOV A,#00001111B ;umieść w akumulatorze wartość binarną 00001111.

START: MOV DPTR,#PTWY ;umieść w DPTR wartość z PTWY.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

RL A ;przesuń zawartość akumulatora w lewo o jeden bit.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

LCALL DELAY ;wywołaj podprogram DELAY;

MOV A,R0 ;umieść zawartość rejestru R0 w akumulatorze.

MOV DPTR,#PTWY ;umieść w DPTR zawartość PTWY.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany przez DPTR.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść zawartość rejestru R0 w akumulatorze.

LJMP START ;skok bezwarunkowy do etykiety START.

DELAY: MOV DPTR,#-20000 ;umieść w DPTR wartość -20000.

OPZ: INC DPTR ;inkrementuj zawartość DPTR.

MOV A,DPH ;umieść w akumulatorze zawartość starszego bitu DPTR.

ORL A,DPL ;wpisz do akumulatora sumę logiczną jego wartości i młodszego bitu DPTR.

NOP ;operacja pusta, procesor nie wykonuje żadnych operacji.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

JNZ OPZ ;jeśli zawartość akumulatora nie jest zerem skocz do etykiety OPZ.

RET ;powrót do programu.

END
23. ORG RAMP

MOV A,#00001111B ;umieść w akumulatorze wartość binarną 00001111.

START: MOV DPTR,#PTWY ;umieść w DPTR zawartość PTWY.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany przez DPTR.

RLC A ;przesuń zawartość akumulatora w lewo o jeden bit z wykorzystaniem bitu przeniesienia c.

CLR C ;wyzeruj bit przeniesienia c.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść zawartość rejestru R0 w akumulatorze.

MOV DPTR,#PTWY ;umieść w DPTR zawartość PTWY.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść zawartość rejestru R0 w akumulatorze.

LJMP START ;skok bezwarunkowy do etykiety START.
DELAY: MOV DPTR,#-20000 ;umieść w DPTR wartość -20000.

OPZ: INC DPTR ;inkrementuj zawartość DPTR.

MOV A,DPH ;umieść w akumulatorze zawartość starszego bitu DPTR.

ORL A,DPL ;wpisz do akumulatora sumę logiczną jego zawartości i młodszego bitu DPTR.

NOP ;operacja pusta, procesor nie wykonuje żadnych operacji.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

JNZ OPZ ;jeśli zawartość akumulatora nie jest zerem skocz do etykiety OPZ.

RET ;powrót do programu.

END
24. ORG RAMP

MOV DPTR,#PTWE ;umieść w DPTR zawartość PTWE.

MOVX A,@DPTR ;przenieś do akumulatora zawartość komórki, której adres jest w DPTR.

MOV A,#00000001B ;umieść w akumulatorze wartość binarną 00000001.

START: MOV DPTR,#PTWY ;umieść w DPTR zawartość PTWY.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

RL A ;przesuń zawartość akumulatora w lewo o jeden bit.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

SKOK: MOV DPTR,#PTWE ;umieść w DPTR zawartość PTWE.

MOVX A,@DPTR ;przenieś do akumulatora wartość komórki, której adres jest w DPTR.

JNB ACC.3,SKOK ;jeśli wartość bitu 3 akumulatora nie jest zerem skocz do etykiety SKOK.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść w akumulatorze zawartość rejestru R0.

MOV DPTR,#PTWY ;umieść w DPTR zawartość PTWY.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres z DPTR.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść zawartość rejestru R0 w akumulatorze.

LJMP START
DELAY: MOV DPTR,#-20000 ;umieść w DPTR wartość -20000.

OPZ: INC DPTR ;inkrementuj zawartość DPTR.

MOV A,DPH ;umieść w akumulatorze zawartość starszego bitu DPTR.

ORL A,DPL ;wpisz do akumulatora sumę logiczną jego zawartości i młodszego bitu DPTR.

NOP ;operacja pusta, procesor nie wykonuje żadnych operacji.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

JNZ OPZ ;jeśli zawartość akumulatora nie jest zerem skocz do etykiety OPZ.

RET ;powrót do programu.

END
25. ORG RAMP

MOV DPTR,#PTSEG ;umieść w DPTR wartość z PTSEG.

MOVX A,@DPTR ;przenieś do akumulatora zawartość DPTR.

MOV A,#00000001B ;umieść u akumulatorze wartość binarną 00000001.

START: MOV DPTR,#PTSEG ;umieść w DPTR wartość z PTSEG.

MOVX @DPTR,A ;umieść zawartość akumulatora pod adresem z DPTR.

RL A ;przesuń zawartość akumulatora o jeden bit w lewo.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

SKOK: MOV DPTR,#PTWE ;umieść w DPTR zawartość PTWE.

MOVX A,@DPTR ;przenieś do akumulatora zawartość komórki, której adres jest w DPTR.

JNB ACC.3,SKOK ;jeśli bit numer 3 akumulatora nie jest zerem skocz do etykiety SKOK.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść zawartość rejestru R0 w akumulatorze.

MOV DPTR,#PTSEG ;umieść w DPTR zawartość PTSEG.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść zawartość rejestru R0 w akumulatorze.

LJMP START ;skok bezwarunkowy do etykiety START.
DELAY: MOV DPTR,#-20000 ;umieść w DPTR wartość -20000.

OPZ: INC DPTR ;inkrementuj zawartość DPTR.

MOV A,DPH ;umieść w akumulatorze zawartość starszego bitu rejestru DPTR.

ORL A,DPL ;wpisz do akumulatora sumę logiczną jego wartości i młodszego bitu rejestru DPTR.

NOP ;operacja pusta, procesor nie wykonuje żadnych operacji.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

JNZ OPZ ;jeśli zawartość akumulatora nie jest zerem skocz do etykiety OPZ.

RET ;powrót do programu.

END
26. ORG RAMP

SKOK: MOV A,#00000001B ;umieść a akumulatorze wartość binarną 00000001.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść zawartość rejestru R0 w akumulatorze.

START: MOV DPTR,#PTSEG ;umieść w DPTR zawartość PTSEG.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany przez DPTR.

RL A ;przesuń zawartość akumulatora o jeden bit w lewo.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść zawartość rejestru R0 w akumulatorze.

JB ACC.6,SKOK ;jeśli bit numer 6 akumulatora jest równy 1 skocz do etykiety SKOK.

MOV DPTR,#PTSEG ;umieść w DPTR zawartość PTSEG.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

MOV R0,A ;umieść zawartość akumulatora w rejestrze R0.

LCALL DELAY ;wywołaj podprogram DELAY.

MOV A,R0 ;umieść zawartość rejestru R0 w akumulatorze.

LJMP START ;skok bezwarunkowy do etykiety START.


DELAY: MOV DPTR,#-20000 ;umieść w DPTR wartość -20000.

OPZ: INC DPTR ;inkrementuj zawartość DPTR.

MOV A,DPH ;umieść w akumulatorze zawartość starszego bitu rejestru DPTR.

ORL A,DPL ;wpisz do akumulatora sumę logiczną jego wartości i młodszego bitu rejestru DPTR.

NOP ;operacja pusta, procesor nie wykonuje żadnych operacji.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

NOP ;--------------------------''--------------------------.

JNZ OPZ ;jeśli zawartość akumulatora nie jest zerem skocz do etykiety OPZ.

RET ;powrót do programu.

END
27. ORG RAMP

MOV DPTR,#PTSEG ;umieść do DPTR wartość z PTSEG.

MOV A,#01110111B ;umieść do akumulatora wartość binarną 01110111.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

STOP: LJMP STOP ;skok bezwarunkowy do etykiety STOP.

END
28. ORG RAMP

MOV DPTR,#PTSEG ;umieść w DPTR wartość z PTSEG.

MOV A,#00111110B ;umieść w akumulatorze wartość binarną 00111110.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

STOP: LJMP STOP ;skok bezwarunkowy do etykiety STOP.

END
29. ORG RAMP

SETB P1.0 ;ustaw bit P1.0 na wartość 1.

CLR P1.0 ;ustaw bit P1.0 na wartość 0.

MOV DPTR,#PTSEG ;umieść w DPTR wartość z PTSEG.

MOV A,#00111110B ;umieść w akumulatorze wartość binarną 00111110.

MOVX @DPTR,A ;przenieś wartość akumulatora pod adres wskazany w DPTR.

STOP: LJMP STOP ;skok bezwarunkowy do etykiety STOP.

END
30. ORG RAMP

MOV DPTR,#PTSEG ;umieść w DPTR zawartość z PTSEG.

START: SETB P1.0 ;ustaw bit P1.0 na wartość 1.

SETB P1.1 ;ustaw bit P1.1 na wartość 1.

MOV DPTR,#PTSEG ;umieść w DPTR wartość z PTSEG.

MOV A,#00000110B ;umieść w akumulatorze wartość binarną 00000110.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

MOV DPTR,#PTSEG ;umieść w DPTR zawartość z PTSEG.

MOV A,#0 ;umieść w akumulatorze wartość 0.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

MOV DPTR,#PTSEG ;umieść w DPTR zawartość z PTSEG.

SETB P1.1 ;ustaw bit P1.1 na wartość 1.

CLR P1.0 ;wyzeruj bit P1.0.

MOV A,#00111111B ;umieść w akumulatorze wartość binarną 00111111.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

MOV DPTR,#PTSEG ;umieść w DPTR zawartość z PTSEG.

MOV A,#0 ;umieść w akumulatorze wartość 0.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

LJMP START ;skok bezwarunkowy do etykiety START.

END
31. ORG RAMP

MOV DPTR,#PTSEG ;umieść w DPTR zawartość z PTSEG.

START: SETB P1.0 ;ustaw bit P1.0 na wartość 1.

SETB P1.1 ;ustaw bit P1.1 na wartość 1.

MOV DPTR,#PTSEG ;umieść w DPTR zawartość z PTSEG.

MOV A,#7DH ;umieść w akumulatorze wartość heksadecymalną 7D.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

MOV DPTR,#PTSEG ;umieść w DPTR zawartość z PTSEG.

MOV A,#0 ;umieść w akumulatorze wartość 0.

MOVX @DPTR,A ;umieść zawartość akumulatora pod adres wskazany w DPTR.

MOV DPTR,#PTSEG ;umieść w DPTR zawartość z PTSEG.

SETB P1.1 ;ustaw bit P1.1 na wartość 1.

CLR P1.0 ;wyzeruj bit P1.0.

MOV A,#3FH ;umieść w akumulatorze wartość heksadecymalną 3F.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

MOV DPTR,#PTSEG ;umieść w DPTR zawartość z PTSEG.

MOV A,#0 ;umieść w akumulatorze wartość 0.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

CLR P1.1 ;wyzeruj bit P1.1.

SETB P1.0 ;ustaw bit P1.0 na wartość 1.

MOV A,#6DH ;umieść w akumulatorze wartość heksadecymalną 6D.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

MOV DPTR,#PTSEG ;umieść w DPTR zawartość z PTSEG.

MOV A,#0 ;umieść w akumulatorze wartość 0.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

CLR P1.0 ;wyzeruj bit P1.0.

CLR P1.1 ;wyzeruj bit P1.1.

MOV A,#77H ;umieść w akumulatorze wartość heksadecymalną 77.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.

MOV DPTR,#PTSEG ;umieść w DPTR zawartość z PTSEG.

MOV A,#0 ;umieść w akumulatorze wartość 0.

MOVX @DPTR,A ;przenieś zawartość akumulatora pod adres wskazany w DPTR.



LJMP START ;skok bezwarunkowy do etykiety START.

END



©operacji.org 2017
wyślij wiadomość

    Strona główna