🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.pascal
Article #351

Re: Mieszanie asma i pascala

#351
From: Jacek Popławski
Date: Sun, 27 Dec 1998 02:24
47 lines
2346 bytes
Kowal wrote:
>Udalo mi sie tez polaczyc te dwa jezyki, ale z jednym wyjatkiem. Chodzi o
>to, ze nie wiem jak przekazywac parametry do procedury asemblerowej (ktora
>jest zdefiniowane w pliku obj). Ten unit jakos to robil, ale ja tego nie
>rozumiem. 

parametry do procedur przekazuje się zazwyczaj na stosie
po prostu zrzucasz zmienne, potem aktualny adres, potem wywołujesz
procedurę, a ona z kolei zrzuca dalej na stos swoje zmienne lokalne
(zmienne lokalne muszą być na stosie, bo inaczej nie udałoby się
stworzyć wywoływań rekurencycjnych)

>Wlaczam wiec zrodlo w
>asmie i tu kolejne zaskoczenie: w zrodle procedur nie ma ANI RAZU uzytej
>nazwy parametru. Same rejestry. 

więc podaj jakiś fragment, nigdy nie potrzebowałem czegoś takiego, więc
nie powiem ci z góry... a żeby odpalić pascala muszę resetować komputer
(jestem pod Linuxem) więc.. bez szans ;)

>Nie rozumiem tez w jaki sposob zrobione sa
>funkcje. Nie ma tam nic co wygladaloby dla mnie na zwrot wartosci.

stos, stos, stos :)
aha - standardowo funkcje zwracają swoją wartość w akumulatorze
tzn. 

function MetalRulez(TekknoSux:integer):byte;assembler;
asm
end;

musi zapisywać swój wynik w al

>Domyslam sie, ze zaraz ktos zapyta, po co sie bawic? Przeciez pascal ma
>wbudowany asembler.

niezupełnie
po co się bawić, skoro jest TASM?
po co w ogóle pascal? :)

doszedłem do takiego wniosku, gdy mój program miał w pascalu:
- nagłowki procedur
- wywołania procedur
- komentarze

a reszta w asmie 
:-)
Technical Details
Message-ID: <slrn78am4r.2t6.jpopl@localhost.localdomain>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!polsl.gliwice.pl!orion.cst.tpsa.pl!news.tpnet.pl!not-for-mail
References: <36854d44.0@news.vogel.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!polsl.gliwice.pl!orion.cst.tpsa.pl!news.tpnet.pl!not-for-mail
From: Jacek Popławski <jpopl@kki.net.pl>
Newsgroups: pl.comp.lang.pascal
Subject: Re: Mieszanie asma i pascala
Organization: independent
Lines: 48
Message-ID: <slrn78am4r.2t6.jpopl@localhost.localdomain>
References: <36854d44.0@news.vogel.pl>
Reply-To: jpopl@kki.net.pl
Mime-Version: 1.0
X-Newsreader: slrn (0.9.5.2 UNIX)
Date: Sun, 27 Dec 1998 02:24:26 GMT
NNTP-Posting-Host: 194.204.175.148
X-Complaints-To: abuse@tpsa.pl
X-Trace: news.tpnet.pl 914725466 194.204.175.148 (Sun, 27 Dec 1998 03:24:26 MET DST)
NNTP-Posting-Date: Sun, 27 Dec 1998 03:24:26 MET DST
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit