2180


LABORATORIUM PODSTAW SYSTEMÓW MIKROPROCESOROWYCH

0x08 graphic
0x08 graphic
0x08 graphic
Wykonali:

Szacuń Adam

Sopotnicki Paweł

Mazurek Paweł

Zadanie 1

W zadaniu został uruchomiony program dodający liczby zapisane w kodzie U2:

LJMP START

ORG 100H

START: LCALL LCD_CLR

CLR A

CLTR C

SUBB A,#1

MOV A,R0

ADD A.#1

LCALL WRITE_HEX

SJMP $

  1. Modyfikacja powyższego programu polegająca na tym , że dodaje om liczbę -10 do wartości pobranej z klawiatury

*****************************************

LEKCJA 3B - OPERACJE ARYTMETYCZNE

ZAD.1- LICZBY UJEMNE U2

**********************************************

START:

CLR A ;zeruj A

CLR C ;zeruj C

SUBB A,#0AH ;A <- 0-10 = -10

MOV R1,A ;zapamiętaj w R1

LCALL WRITE_HEX

LCALL WAIT_KEY ;wczytaj z klawiatury

ADD A,R1 ;A <- A+10 =-10+key

LCALL WRITE_HEX

SJMP $

Schemat algorytmu programu

0x08 graphic

Powyższy program najpierw zapisuje do akumulatora liczbę -10 poprzez odjecie liczby 10 od 0 , a następnie po zachowaniu tej liczby w R0 dodaje ja do drugiej liczby pobranej z klawiatury .

Wskaźnik C jest zerowany ponieważ instrukcja SUBB używa tego wskaźnika i gdyby był ustawiony to wynik odejmowania byłby zły .

Zadanie nr 2

Program modyfikuję tak, aby dokonywał mnożenia liczb w postaci BCD

Powtarzające się sekwencje zamiany liczby na kod BCD umieszczone są w podprogramie „BCD”

LJMP START

ORG 100H

START:

LCALL WAIT_KEY ;OCZEKIWANIE NA DANĄ Z

;KLAWIATURY

PUSH ACC ;AKUMULATOR NA STOS

ACALL BCD ;ODWOLANIE DO PROGRAMU BCD

LCALL WRITE_HEX ;LICZBA ZAMIENIONA NA BCD

;JEST NA WYŚWIETLACZU LCD

MOV A,#'*'

LCALL WRITE_DATA ;WPISZ ZNAK „*” NA LCD

LCALL WAIT_KEY

PUSH ACC

ACALL BCD

LCALL WRITE_HEX

MOV A,#'='

LCALL WRITE_DATA ;WPISZ ZNAK „=” NA LCD

POP ACC ;STOS DO AKUMULATORA

MOV B,A

POP ACC

MUL AB ;POMNÓŻ A*B (HEX)

ACALL BCD ;ZAMIEŃ WYNIK MNOŻENIA NA

;KOD BCD

LCALL WRITE_HEX ;WYŚWIETL

SJMP $

BCD:

PUSH B

MOV B,#10

DIV AB

SWAP A

ADD A,B

POP B

RET

;Podprogram zamiany NKB na BCD

NKB_BCD:

MOV B,#10 ;zamień liczby na BCD

DIV AB ;dzieląc przez 10

SWAP A

ADD A,B

LCALL WRITE_HEX ;wypisz na LCD

RET

ALGORYTM PROGRAMU

0x08 graphic

Zadanie 3

Program dokonujący konwersji z BCD do BIN :

0x01 graphic

0x01 graphic

0x01 graphic

START

Wprowadź do rejestru R1

z ACC (-10)

Wczytaj liczbę z klawiatury

Dodaj do tej liczby

wartość z R1

Wynik wyprowadź na LCD

START

Pobierz 1 czynnik i połóż na stosie

Podprogram NKB_BCD

Pobierz 2 czynnik i

połóż nastosie

Wyświetl znak (+)

Wyświetl znak (=)

Pobierz ze stosu do B i ACC

Pomnóż ACC iB

Podprogram NKB_BCD

Podprogram zamiany liczby NKB na BCD i wyświetlanie jej na LCD

Podprogram NKB_BCD



Wyszukiwarka

Podobne podstrony:
2180
2180
2180
2180
2180
THOMSON AM 2180

więcej podobnych podstron