PI lab 2 Programy w języku asemblera maszyny W


Wykonawca: Krzysztof Sirzisko

Laboratorium Podstaw Informatyki

Temat:

Programy w języku asemblera maszyny W

Nr.lab.: 2

Rok akademicki

termin

Rodz. studiów

grupa

Data lab.

Data oddania sprawozdania

prowadzący

ocena

2006/2007

semestr letni

wtorek

18-21

wieczorowe

1

20.03

03.04

Robert

Brzeski

Zad 1. Odwracanie tablicy o znanej długości (ABC -> CBA).

POB N ; pobranie wielkości tablicy | SOB et1 ; skok do „et1”

ODE jeden |koniec: STOP ; stop

ŁAD N |tab: rst 1 ; (deklaracja-

petla: POB N ; dekrementacja licznika | rst 2 ; -zawartości-

ODE jeden ; | rst 3 ; -tablicy)

ŁAD N ; | rst 4 ;

SOM et1 ; skok przy ujemnej do „et1” | rst 5 ;

POB et2 ; pobranie etykiety „et2” | rst 6 ;

DOD jeden ; inkrementacja „et2” | rst 7 ;

ŁAD et2 | rst 8 ;

POB et4 ; pobranie etykiety „et2” | rst 9 ;

DOD jeden ; inkrementacja „et2” |N: rst 9 ; wielkość tablicy

ŁAD et4 |jeden: rst 1 ; deklaracja stałej

SOB petla ; skok do „petla” |tmp: rpa ; (rezerwacja-

| ; -komórki pamięci)

et1: POB tab |_________________________________

ŁAD tmp

et2: POB tab

et3: ŁAD tab

POB tmp

et4: ŁAD tab

POB et1 ; inkrementacja etykiety „et1”

DOD jeden ;

ŁAD et1 ;

POB et3 ; inkrementacja etykiety „et3”

DOD jeden ;

ŁAD et3 ;

POB et2 ; dekrementacja etykiety „et2”

ODE jeden ;

ŁAD et2 ;

POB et4 ; dekrementacja etykiety „et4”

ODE jeden ;

ŁAD et4 ;

POB et4 ; pobranie etykiety „et4” i odjęcie „et3” w celu sprawdzenia

ODE et3 ; czy dokonały się wszystkie zamiany w tablicy

SOM koniec ; skok przy ujemnej do „koniec”

Zad 2. Potęgowanie z wykorzystaniem podprogramu mnożenia.

POB podstawa

ŁAD wykładnik

POB wykładnik ; zmniejszenie wykładnika (licznika)

ODE jeden ;

ŁAD wykładnik ;

petla: POB wykładnik ; pobieranie i dekrementacja licznika

ODE jeden ;

ŁAD wykładnik ;

SOM koniec ; skok przy ujemnej do „konie”

PSH podstawa ; zmienne na stos

PSH wynik ;

SDP mnożenie ; podprogram mnożenia

POP wynik ; pobranie wyniku

SOB petla ; skok do „petla”

koniec: STOP

podstawa: rst 2 ; deklaracja stałych

wykładnik: rst 10 ;

wynik: rpa ; rezerwacja komórki pamięci

mnożenie: POP adres ; pobranie adresu

POP x ; ściągnięcie zmiennych ze stosu

POP y ;

POB zero ; zerowanie sumy

ŁAD suma ;

wymnoz: POB y ; dodawanie x do sumy y-razy

ODE jeden ;

ŁAD y ;

SOM mnoz_kon ; skok przy ujemnej do „mnoz_kon”

POB suma

DOD x

ŁAD suma

SOB wymnoz ; skok do „wymnoz”

mnoz_kon: PSH suma ; suma na stos

PSH adres ; adres na stos

PWR ; powrót z podprogramu

jeden: rst 1 ; deklaracje stałych

zero: rst 0 ;

suma: rpa ; rezerwacje komórek pamięci

adres: rpa ;

x: rpa ;

y: rpa ;



Wyszukiwarka

Podobne podstrony:
Programowanie w języku asemblera
PIlab2 Programowanie w języku symbolicznym maszyny W
spraw nr 2 Programowanie w języku symbolicznym maszyny W
Programowanie w języku asembler w systemie Windows
PI lab 2 Projektowanie rozkazów dla maszyny W
01 Programowanie w języku asemblera
Programowanie w języku asemblera
Lab 04 Programowanie w jezyku powloki
Programowanie w jezyku C dla chetnych A Poznanski
Programowanie w jezyku C FAQ prcfaq
Procedury arytmetyczne w języku Asembler ST7
Programowanie ruchów roboczych maszyn robót ziemnych J Cendrowicz
Napisać program w języku c który zawiera
16-20, Ogólna struktura programu w języku Pascal, Ogólna struktura programu w języku Pascal
Informatyka, Podstawy Programowania w jezyku C++, Podstawy Programowania w jezyku C++'

więcej podobnych podstron