Instrukcje GOTO i CALL w asemblerze MSC-51 ? jakie są kluczowe różnice?

Pytanko lamerskie: różnica między GOTO i CALL





Poprzedni Następny
Wiadomość
Spis treści
From: <maxif_at_nospam_poczta.onet.pl>
Subject: Pytanko lamerskie: różnica między GOTO i CALL
Date: 7 Jul 2002 21:02:26 +0200


Witam !
Właśnie uczę się programowac kontrolery rodziny MSC-51. Wcześniej nigdy nie
miałem doczynienia z asemblerem.
Zacząłem studiować manual i tu pierwsze pytanie: jaka jest różnica w użyciu
instrukcji GOTO i CALL

Pozdrawiam i z góry dziękuje za wyrozumiałość ;)

Grześ

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Trix" <trix_at_nospam_polbox.com>
Subject: Re: Pytanko lamerskie: różnica między GOTO i CALL
Date: Sun, 7 Jul 2002 21:25:10 +0200


Witam !
Właśnie uczę się programowac kontrolery rodziny MSC-51. Wcześniej nigdy
nie
miałem doczynienia z asemblerem.
Zacząłem studiować manual i tu pierwsze pytanie: jaka jest różnica w
użyciu
instrukcji GOTO i CALL

Pozdrawiam i z góry dziękuje za wyrozumiałość ;)

Witam.
Goto powoduje skok do danej etykiety (pod adres) i tyle
a CALL powoduje odlozenie na stosie adresu powrotu.
czyli skaczac gdzies za pomoca call (do procedury) potem
mozesz uzyc RET i wroci ci do kolejnego rozkazu po CALL.
Czy o to chodzilo ? nic chyba nie zwalilem...

Trix.



Poprzedni Następny
Wiadomość
Spis treści
From: "SP9WUG" <sp9wug_at_nospam_inetia.pl>
Subject: Re: Pytanko lamerskie: różnica między GOTO i CALL
Date: Sun, 7 Jul 2002 21:28:30 +0200



<maxif_at_nospam_poczta.onet.pl> wrote in message
news:39d8.00000604.3d289041_at_nospam_newsgate.onet.pl...
Witam !
Właśnie uczę się programowac kontrolery rodziny MSC-51. Wcześniej nigdy
nie
miałem doczynienia z asemblerem.
Zacząłem studiować manual i tu pierwsze pytanie: jaka jest różnica w
użyciu
instrukcji GOTO i CALL


Nie znam procesorów MCS-51, ale przypuszczam że GOTO jest skokiem do podanej
etykiety. Natomiast CALL jest wywołaniem procedury, po wykonaniu której
program powraca do miejsca wywołania. Czy to ma być program w BASICu ?



Poprzedni Następny
Wiadomość
Spis treści
From: "Andy" <anok_at_nospam_ceti.pl>
Subject: Re: Pytanko lamerskie: różnica między GOTO i CALL
Date: Sun, 7 Jul 2002 23:25:37 +0200


<maxif_at_nospam_poczta.onet.pl> wrote in message news:39d8.00000604.3d289041_at_nospam_newsgate.onet.pl...
Witam !
Właśnie uczę się programowac kontrolery rodziny MSC-51. Wcześniej nigdy nie
miałem doczynienia z asemblerem.
Zacząłem studiować manual i tu pierwsze pytanie: jaka jest różnica w użyciu
instrukcji GOTO i CALL


w assemblerze ?

jesli tak to nie ma intstr. goto

jest "jmp" i "call"

jmp - to skok pod adres
call - to skok z zapamietaniem miejscia skad wyskauje
i mozliwoscia powrotu

to tak opisowo


Andrzej




Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: =?iso-8859-2?Q?RE:_Pytanko_lamerskie:_r=F3=BFnicami=EAdzy_GOTO_i_CALL?=
Date: 8 Jul 2002 00:07:03 +0200


różnica w użyciu
instrukcji GOTO i CALL

Pozdrawiam i z góry dziękuje za wyrozumiałość ;)

Grześ

(w odniesieniu do uP prostych ;-) )
GOTO ETYKIETA - skocz pod adres w programie oznaczony etykietą ETYKIETA.
Program nie wykonuje dalszych rozkazów znajdujących się po rozkazie GOTO,
lecz
wykonuje rozkazy kolejno od rozkazu oznaczonego etykietą ETYKIETA.
Po nieszczęśliwym napotkaniu rozkazu RET (RETURN) odczytuje dwa kolejne
bajty ze stosu
i wpisuje je do licznika programu, a następnie realizuje program od
wskazanego adresu.
Oczywiście wyjdzie w znakomitej większości wypadków bzdura.
Podana funkcja jest używana do np. natychmiastowego wyjscia z pętli po
spełnieniu warunku.
CALL ETYKIETA - dokładnie jak GOTO, ale odkłada na stos dwa bajty adresu
aktualnie wykonywanego
programu, czyli CALL ETYKIETA. OD podanego adresu oznaczonego etykietą
ETKIETA odczytuje
dalsze rozkazy do wykonania, aż do napotkania rozkazu RET (RETURN) wtedy
zdejmuje ze stosu dwa bajty
adresu, wpisuje je do licznika programu i wykonuje program od następnego
rozkazu znajdującego się
po rozkazie CALL ETYKIETA.
Używane do wywoływania podprogramów np. coś obliczjących, a następnie wraca
do wykonywania głównego
programu.
Takie skoki używa się np. w przypadku korzystania z jeden formuły używanej
wielokrotnie, np.
mnożenie dwóch liczb 16-bitowych.
pzdr
Artur


--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: <maxif_at_nospam_poczta.onet.pl>
Subject: Re: Pytanko lamerskie: różnica między GOTO i CALL
Date: 8 Jul 2002 17:54:33 +0200


Witam !
Właśnie uczę się programowac kontrolery rodziny MSC-51. Wcześniej nigdy nie
miałem doczynienia z asemblerem.
Zacząłem studiować manual i tu pierwsze pytanie: jaka jest różnica w użyciu
instrukcji GOTO i CALL


Dziękuje bardzo wszystkim za odpowiedzi ! Bardzo mi pomogliście - pozdrawiam


--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl