jezici.1dejanr,
U "Računarima" upravo privodimo kraju seriju tekstova o
uporednim mogućnostima Turbo Pascal-a, Logitech i JPI Module
2. Moji zaključci uglavnom idu u prilog Turbo Pascal-u:
beskrajno brže prevodi, proizvodi kraći kod koji se brže
izvršava, ima bolji i pristupačniji debager... Prednosti
raznih Modula 2 svode se na bolji editor, generisanje
standardnih .OBJ fajlovima koji se mogu linkovati sa drugim
jezicima (da li je neko to stvarno uradio?) i velike
biblioteke koje se dobijaju uz kompajler ili posebno naručuju.
Ukoliko birate između ove dve Module 2, preporučio bih vam JPI
(Top Speed) Modulu kao komforniju i bržu premda ne i
racionalniju u smislu vremena izvršavanja prevedenih programa.
Izgleda mi, sa druge strane, da su tekstovi iz naše male
serije "ujeli za srce" ljubitelje Module 2 koji kažu da njihov
jezik ima mnoge druge prednosti. Ovo je dobro mesto da izlože
svoja gledišta.
jezici.2dejanr,
Da imamo Spektrum konferenciju, jedna od prvih tema koju bismo
otvorili bila bi Asembler. Na IBM konferenciji potreba za ovom temom
se još nije ukazala ali... better late than never!
Porazgovarajmo, dakle, malo i o mašincu...
jezici.3dejanr,
Nismo mi jedini koji imamo programerske probleme - na BIX-u
se svakodnevno javljaju manje ili više složena pitanja na
koja korisnici onda manje ili (uglavnom) više uspešno
odgovaraju.
Najlepše je, naravno, predstaviti pitanje koje je posle
diskusije dovelo do odgovora ali ćemo ovoga puta postaviti
nešto sasvim sveže - ako na BIX-u bude rešenje, prenećemo vam
ga; ako vi nešto znate, prenesite nam to!
Problem se odnosi na komunikacione interapte kojima se
pristupa iz asemblera.
==========================
ibm.at/software #1543, from haver, 7190 chars,
Mon Dec 11 01:40:56 1989
--------------------------
TITLE: Interrupt Driven I/O Woes
Hi Fellow Assembly Programmers!
I'm having a problem with handling communication interrupts on
the PC. I'm not really a novice at this, as I've done the same
sort of project on a 80188 based machine running iRMX and using
an 8530 SCC (ugh!). However, what my problem deals with is
receive interrupts on the 8250. After a short period of time,
while handling receive interrupts, my machine hangs. I'm running
at 9600 bps, which isn't terribly fast. I've checked for all the
stupid things, like indexing past my buffer bounds, not taking
care of the stack, etc., so I'm into the really weird stuff.
Anyway, the faster the transmitter goes, the "harder" my machine
hangs. What happens is just like my computer runs out of gas...
If I'm using a terminal, and just letting type-a-matic do it's
thing the software runs great for a while, then all at once slows,
then stops the system. If I use another computer, which can
really pump out the chars, then I get a lot more characters in
before the hang, but when it stops, it stops RIGHT NOW.
Unfortunately, I don't have a breakout button, so I can't do a
post-mortem. Any people's thoughts would help greatly. Below
is the nasty code fragment.
Any ideas anyone has would be greatly appreciated.
Greg.
{*** The following code is written in Borland's TASM IDEAL Mode ***}
listing.zipjezici.4rnedjeral,
Da li neko zna kako se generise zvuk u masincu (bez poziva BIOS-a
ili DOS-a) ?
jezici.5vkostic,
Zdravo Roberte,
Prvo programiras counter 2 kola 8253 da proizvodi cetvrtaste
impulse:
MOV AL,0B6H
OUT 43H,AL
Zatim programiras frekvenciju. 8253 je povezan na oscilator od
1.193.180 Hz, a zadaje mu se sa koliko da deli taj ulazni signal,
i to onda predstavlja izlaznu frekvenciju. Ako delis sa 597 na
primer, dobijas se zvuk od 1998 Hz. Ako znas frekvenciju koju
zelis, onda formula glasi ovako:
X = 1193180 / frekvencija
Kada izracunas X (to treba da bude ceo 16-bitni broj), treba da
ga podelis na gornjih i donjih 8 bita. Gornih osam bitova se
izracunava po formuli:
HI = INT( X / 256 )
a donjih osam po formuli:
LO = X - 256 * INT ( X / 256 )
Za frekvenciju od 1998 Hz, X je 597. Gornjih osam bita (HI) ce
biti 2, a donjih osam bita (LO) 85. 8255 prvo mora da primi
donjih, pa zatim gornjih osam bita. To radis ovako:
MOV AL,85 ; DONJIH 8 BITA (LO)
OUT 42H,AL
MOV AL,2 ; GORNJIH 8 BITA (HI)
OUT 42H,AL
Na kraju ukljucis zvucnik (to se radi programiranjem 8255 PIO
čipa):
IN AL,61H
OR AL,03H
OUT 61H,AL
Da bi se zvuk prekinuo, posle izvesnog vremena treba da zadas
naredbe:
IN AL,61H
AND AL,0FCH
OUT 61H,AL
ćime se iskljućuje zvučnik.
I to je cela mudrost!
Pozdrav, V.K.
jezici.6vkostic,
Jedna dopuna prethodnog odgovora:
Ustvari, DOS i BIOS *ne* podrzavaju zvuk. Jedini nacin da se on
ostvari jeste direktna kontrola hardvera.
Kako Microsoft ocekuje od programera da pisu prenosive programe
pozivajuci samo funkcije DOS-a, a da ne koriste cak ni nesto tako
elementarno kao sto je zvuk, nije mi jasno.
Od svih jezika jedina BASIC podrzava zvuk, i to vrlo dobro.
jezici.7bojanp,
Sto se tice zvuk podrzava ga u Turbo Pascal. Doduse na bas na nekom
visokom nivou, ali bolje ista nego nista. Zvuk je podrzan sa sledece
dve funkcije:
SOUND (Hz:word)
NOSOUND
Prvom funkcijom se staruje generisanje zvuka zadate frekvencije, a
drugom se prekida generisanje zvuka. Funkcije se nalaze u CRT unit-u.
Bojan
jezici.8rnedjeral,
Zdravo Vlado.
Tvoje objasnjenje mi je vrlo koristilo. Hvala ti !
jezici.9zzivotic,
>> Kako Microsoft ocekuje od programera da pisu prenosive
programe....
Stvarno je neverovatno koliko rakoraka postoji između stalnih
upozorenja IBM i Microsoft-a o tome šta se "sme" i onoga što oni
koriste u svojim programima!
Ipak, i oni su odavno priznali neke stvari pa tako postoji
zvaničan IBM dokument, neka vrsta dobrovoljnog obećanja, da će neke
stvari ostati kakve jesu sve dok to bude moguće. Jedna od njih je
recimo niz I/O adresa kojima se programira zvuk, druga je adresa
(odnosno adrese) video bafera itd. Za sada se toga drže pa nije neki
problem, ali....
Pozdrav, zz
jezici.10vkostic,
>> ... postoji zvaničan IBM dokument, neka vrsta dobrovoljnog
>> obećanja, da će neke stvari ostati kakve jesu sve dok to
>> bude moguće.
Da, citao sam o tome. To je moralo da se desi. I sam Microsoft
krsi svoja sopstvena upozorenja programerima. Kada bi pisali
programe samo pozivajuci funkcije DOS-a, ti programi bi bili
*smesni*. Zamisli Quick C, QB, itd, napisane tako da koriste
ANSI.SYS !
Pozdrav, V.K.
P.S.
Zorane, dali ti je koristio onaj primer za predefiniciju
karaktera na EGA kartici?
jezici.11dejanr,
Microsoft je zaista zanimljiva firma - gigant u oblasti
mikroračunara, imaju izvanrednih programa a opet u nekim stvarima
rade ponešto što je očigledno totalno naopako, recimo DOS 4.0 ili
sva ta priča o OS/2 koji nit je kompatibilan sa DOS-om nit nije,
nit je za 386 nit ga ko koristi na 286... Verovatno u svemu tome
postoje vrlo jaki razlozi (firma koja bi radila "očite gluposti"
svakako ne bi toliko prosperirala) ali bih ja zaista voleo da ih
ponekad i shvatim!
jezici.12vkostic,
Kada sam vec pomenuo ANSI.SYS u poruci 30.10, mislio sam da niko
zivi ne koristi taj glupi ****spori**** drajver. Medjutim, od
Nikole Koceva sam saznao da mnoge UNIX masine podrzavaju ANSI
sekvence i da je to odlican nacin da se programi pisu i testiraju
na PC-u (na C jeziku, naravno), a koriste na UNIX-u.
U stvari, ANSY.SYS je spor zato sto je i BIOS spor. DOS kada
ispijuje karaktere na ekranu nije bas mnogo sporiji od BIOS-a,
mada kontrolise redirekciju, itd. Sa druge strane, nije mi bas
jasno zasto je BIOS tako ocajno spor. Ispis na ekran nije tako
komplikovana stvar, cak ni na ******glupoj****** CGA kartici koja
zahteva da se upis u video bafer vrsi tacno u odredjenom
trenutku.
Kada se setim starog dobrog BBC B, on je ispis na ekran vrsio
****ludacki**** brzo, a koristio je naj obicniji 6502 procesor na
2 MHz.
Pozdrav, V.K.
jezici.13dejanr,
>> Kada se setim starog dobrog BBC B, on je ispis na ekran vršio
>> ****ludački**** brzo, a koristio je najobičniji 6502 procesor na
>> 2 MHz.
BBC je stvarno bio šampion ispisa, i to kako u tekst tako i u
grafičkom modu. Još je čudnije što on koristi isti video kontroler
kao i Herkules a ispis na Herkulesu svi znamo kako se ubija od
brzine.
Ono što me posebno nervira na *svim* PC karticama je onaj bug
(ili šta li je već) zahvaljujući kome kad lupite Ctrl NumLock (ili
Pause na većim tastaturama) desi se da se neki red na ekranu udvoji.
Zašto je to bilo potrebno, to stvarno ne mogu da pojmim - nešto
slično se ne dešava *apsolutno* ni na jednom računaru ili terminalu
sa kojim sam radio.
jezici.14vkostic,
ýpßćhă5
To se desava zato sto PAUSE prekine rutine za skrolovanje na pola
posla. Valjda nije bilo tesko to izbeci! Zaista ruzno deluje.
jezici.15zzivotic,
To se dešava zato što PAUSE radi potpuno nezavisno od ispisa -
unutar INT 9 koji se generiše na pritisak tastera. U toj rutini inače
postoji ipak kontakt sa video čipom jer se proverava na CGA kartama
da možda skrol nije u toku da bi se slika vratila (skrolovanje ekrana
u CGA varijanti zahteva, zbog onih raznih smetnji-crtcica po ekranu-
da se displej privremeno isključi). Ovo se lako radi ispitivanjem
bita video kontrolera. Ako bi se uvela varijanta da u toku skrola
ispis ne može da se zaustavi, to bi zahtevalo malo čvršću saradnju
video i tast interapta što bi verovatno pravilo dodatne probleme kod
novih video kartica sa svojim bios-ima.
Ali, šta se dešava ako je drajver za tastaturu loše napisan
(recimo, zanemarena gornja činjenice za CGA karte)? Desi se se
ponakad da na pauzi slike uopšte nema! Kako bi ti se to svidelo,
Dejane?
jezici.16vkostic,
A zar rutina za skrolovanje ekrana ne moze da uradi jedno CLI na
pocetmu i STI na kraju?
Jeste da bi se time onemogucio prijem karaktera sa tastature na
kratko, ali koliko znam tastatura ima svoj sopstveni procesor sa
malo RAM-a tako da moze da pamti pritisnuti karakter dok glavni
procesor ne prihvati interapt 09h.
Pozdrav, V.K.
jezici.17zzivotic,
Može, naravno. Ali rešenje mislim da nije dobro. Šta će da bude u
situacijama kada skrol traje malo duže, recimo u grafičkom režim.
Mislim da i ovaj, "običan" tekst skrol traje malu večnost sa
stanovišta blokiranja računara ako bi se sprečio u tom trenutku
interapt. Pogotovo mislim da BIOS ne bi smeo da zbog takve, ipak
elegancije, radi takve stvari. Znaš i sam kako počinju skoro svi BIOS
interpati, sa STI intrukcijom - to nije bez razloga.
Pozdrav, zz
jezici.18davorin,
Da li netko ima detaljan opis object file formata za ms-dos? Ili
barem u kojoj knjizi se to sigurno moze naci i tko je izdavac.
jezici.19vkostic,
Zdravo,
Format .OBJ fajlova se nalazi opisan u jednoj velikoj debeloj
knjizurini (vredi $400) koja se zove MS-DOS Technical Reference
Encyclopedia (izdavac: Microsoft licno).
Mogu da ti pozajmim tu knjigu da je fotokopiras.
Pozdrav, V.K.
jezici.20davorin,
Fotokopirao bih tu knjigu ako je ikako moguce, jer mi zaista treba.
Pretpostavljam da si ti iz Beograda dok sam ja iz Zagreba sto
varijantu s posudjivanjem knjige cini tesko ostvarljivom. Da li bi
ti mogao fotokopirati knjigu a meni poslati kopije. Ako mozes
izracunaj koliko ce kostati fotokopiranje+postarina+svi_moguci_
_troskovi pa cu ti novac odmah poslati. Nadam se da ne trazim previse
od tebe, ali bez OBJ formata se ne mogu maknuti dalje.
Unaprijed hvala.
Rus
jezici.21godza,
Zdravo Vlado,
ako je reč o MS-DOS ENCYCLOPEDIA
(ono tehnical reference se negde izgubilo),
knjiga ima 1600 strana format 7 3/4x10"
izdavac MICROSOFT Press, order code 86-96122
i cena $134.95
treba videti šta manje košta i kako će izgledati
knjiga posle kopiranja.
pozdrav Godza
jezici.22vkostic,
Zdravo RUS,
Nema problema. Mogu da dam da se fotokopira. Javicu ti privatnom
postom koliko to kosta.
Pozdrav, V.K.
jezici.23vkostic,
Zdravo Gorane,
Knjizurina koju ja imam je formata A4 i ima 1053 strana. A cena
je zaista $420 - tako pise na koricama. Imam original koji srecom
nisam platio nego pozajmio (na duzi rok, naravno).
Ako jos nekome treba da je fotokopira, neka izvoli. U toj knizi
ima gluposti, ali i stvari kojih nigde drugde nema - recimo za
svaku funkciju DOS-a je dat kompletan algoritam rada.
Pozdrav, V.K.
jezici.24zarkov,
Nedostaje mi fajl BRUN40.LIB za QUICK BASIC 4.0. Ukoliko neko
ima kompletan QB, a zeli da mi pomogne da dodjem do fajla,
neka mi ostavi poruku (sa telefonom). Mislim da je direktna
razmena bolja, zato da ne bismo opterecivalivreme SEZAMA.
Pozdrav i unapred hvala! Zarko
(za svaki slucaj) 011/600-118
jezici.25mnikolic,
Question: Zar jos uvek ima onih koji se Basic-om bave :-).
cum.
P.S.
No second thoughts!!!
jezici.26mpetrovic,
Ima, ima.
jezici.27zarkov,
Hvala svim mnogobrojnim Sezamovcima koji su se javili da mi
pomognu oko fajla koji mi je nedostajao.
Bilo je dovoljno da se javi samo jedan covek, a ispalo je da
su se pokrenuli svi Sezamovci bejzikoljupci.
Nadam se da cu i ja imati priliku da nekome uzvratim!
jezici.28dejanr,
Jensen and Partners International je izbacio novu verziju
TopSpeed Module 2 (2.0) za DOS i OS/2. Zanimljive novosti
su podrška memorijskih modela i objektno orijentisane
ekstenzije po ugledu na C++
Izašao je i TopSpeed Pascal, ISO-compatibilan paskal
sa objektnim ekstenzijama i translatorom sa Turbo Pascala.
Prednost je što generiše standardne OBJ fajlove.
Detalji sa BIX-a u konferenciji FORUM tema MICROB.
jezici.29bojt,
Da li je neko video MS Fortran 5.10 jer me interesuje koja su
poboljšanja u odnosu na 5.0 .
jezici.30nlazovic,
Na pocetku ove teme neko (ko ?) rece:
"Da imamo SPECTRUM konferenciju,jedna od prvih tema bi bila
asembler".Dobro kad je tako
Zna li ko gde i kako naci assembler za stari dobri (nikad
zaboravljeni) Z80 (za AT svakako) ??
nlazovic
jezici.31dejanr,
Sigurno ga ima Voja Antonić - ostavi mu poruku.
jezici.32ilja,
Imam negde Z80 asembler i CP/M simulator - ako te interesuju, ostavi
mi poruku.
Programi su dosta "matori" i ne rade baš najsrećnije ali u nedostatku
boljeg mogu da posluže.
IlijTŐ&5a■
jezici.33vkostic,
Zdravo Nenade,
>> Zna li ko gde i kako naci assembler za stari dobri
>> (nikad zaboravljeni) Z80 (za AT svakako) ??
Imas X80 cross-assembler na primer. Verovatno ih ima jos, ali ja
taj koristim posto imam i uputstva za njega.
Dve tri reci o X80:
Assembler kao assebler - radi svoj posao. Radi malo sporo doduse,
ali nista nije savrseno. Posto se assembliranje sastoji od samog
assembliranja i linkovanja, mozes da razvijas program u manjim
modulima i koristis MAKE.
Inace, sam X80 ima tu glupu manu da ne vraca nikakav exit code
ako dodje do greske u assembliranju. Zato je neupotrebliv sa MAKE
ili BAT fajlovima tipa:
Editor
Assembler
Ako je doslo do greske vrati se na editor
Linker
i zato sam morao malo da hakerisao po X80 da ga nateram da vrati
taj exit code.
Za Z80 imas i Z80MU - to je softverski emulator Z80 procesora
koji ti omogucvava da testiras i single step-ujes kroz Z80
program na PC-u. Prava stvar!
Z80MU je public domain. X80 to nije, ali... ipak se da
iskopirati. Javi se ako ti treba.
Pozdrav, V.K.
ş9
jezici.34miro,
Dejane, vec sam ti nesto ostavio na MIPSU pa to ne bih sada
ponavljao. Procitaj i odgovori.
Pozdrav, Miro.
jezici.35durry,
Zdravo,
Upravo sam prvi put vidio ovu temu i želio bih dati svoj skromni
doprinos.
Miro i ja (durry) ovih dana imamo jednu omanju diskusiju sa
Dejanom o Moduli. Želio bih ovde reći nešto od toga.
Dejan je u jednoj od poruka ovde spo
jezici.36mikij,
Zeleo bi da naucim da programiram u asembleru. Zeleo bi da mi neko
preporuci najbolji nacin da to uradim.
Unapred hvala, Miki.
jezici.37braca,
■˛Imam neku knjigu (na engleskom naravno) za asembler za
8086/88/286, javi se, daću ti da je isfotokopiraš.
Za ostalo ćeš morati da se snađeš sam, planiraj par meseci
da ne spavaš....
Pozdrav.
Braca
P.S. tel. 511-248
jezici.38vkostic,
Imam originalne knjige od INTEL-a za 8086, a imam nesto i za 386.
Mozes da uzmes da fotokopiras ako ti treba.
Pozdrav, V.K.
jezici.39znesovic,
Da li neko ima kompajler i[C[C[ i linker za INTEL-omikrokontroler
8039. (Naravno sa uputstvom)
Unapred hval
jezici.40rsum,
Evo jednog problema koji nisam uspeo da resim.
Treba da napravim TSR program koji bi svakih, recimo 2 minuta,
nesto odradio i ispisao priblizno 100 bajtova u jednu datoteku
na disku. Probao sam da modificiram interapt 08 i sve radi lepo
kad iskljucim ispis na disk, inace radi neko vreme pa zaglavi
masinu. Rezultati mojih (neuspesnih) pokusaja su u prikljucenoj
datoteci.
Svaka ideja ili savet je dobrodosla.
Pozdrav, Rsum
checkin.asmjezici.41iboskovic,
Rutina koja obavlja funkciju INT 08 hendlera ne sme
koristiti DOS funkcije jer one nisu reentrant,a INT 08
radi potpuno nezavisno od DOS-a.Zato se naredbe poput ovih
( iz CHECKIN.ASM ):
>> mov ax,3d01h ; Otvorim datoteku
>> mov dx,OFFSET fajla
>> * int 21h *
>> mov hendl,ax
ne smeju koristiti.
Po{to je INT 08 hardverski generisan interapt koji se
"prosle|uje" CPU-u preko 8259 PIC-a,na kraju hendlera mora
se tom ~ipu poslati signal EOI (End of interrupt) naredbama:
mov al,20h
out 20h,al
Zato originalnu INT 08 rutinu treba pozvati na kraju tvoje
rutine (umesto na po~etku), jer }e u suprotnom EOI signal
uvek biti poslat prerano.
Za TSR programe koji zasnivaju svoj rad na bazi merenja
vremena mnogo je pogodnije da presretnu INT 1ch (user timer
tick) koji se generi{e u okviru originalne INT 08 rutine.
pozdrav,
Ivan
jezici.42kale,
Ivane, stavi SET CODE=2.
Pozdrav, Kale
jezici.43dejanr,
Nedavno sam sticajem okolnosti "morao" da radim sa MS
Fortranom 4.0 i mogu samo da kažem da nisam na PC-ju video
goreg kompajlera.
Pisao sam na njemu neke male programčiće ali sam se više
namučio nego da sam pisao ne znam šta! A što ima bagova...
Izbegavati po svaku cenu!
Pozdrav,
Dejan
PS Čujem da je novi MS Fortran 5.1 sasvim druga priča, ima
VAX-ove ekstenzije (a VAX ima sjajan fortran) i svašta
drugo.
jezici.44mnikolic,
A valja li šta MS Fortran 5.0. Osobito je važna kompatibilnost sa
VAX-om i naravno pouzdanost.
P, m.
jezici.45bojt,
>> A valja li šta MS Fortran 5.0. Osobito je važna kompatibilnost
>> sa VAX-om i naravno pouzdanost.
Po mom mišljenju, to je trenutno najbolji Fortran za PC
kompatibilce bazirane na 8086 ili 80286 procesorima. Po mom
dosadašnjem iskustvu ima 100% pouzdanu optimizaciju koja je vrlo
efikasna, tj od svih Fortrana sa kojima sam imao prilike da radim
generiše najbrži kod. Sa druge strane to je ujedno i najsporiji
kompajler ali šta ćete...
Dosta pouzdano radi u Huge modelu, a ono što ne može da radi
relativno lako se "eskivira".
Podržava VAX i IBM ekstenzije, DO WHILE, DO...END DO, ACCESS
APPEND itd, kao i CASE strukture.
U odnosu na verziju 4.1, ova verzija je pravo otkrovljenje.
jezici.46dejanr,
>> Podržava VAX i IBM ekstenzije, DO WHILE, DO...END DO,
>> ACCESS APPEND itd, kao i CASE strukture.
To je odlična ideja, VAX ima sjajan FORTRAN, najbolji
sa kojim sam imao prilike da se sretnem. Zapravo svaki
OS ima neki svoj "prirodni" jezik, imam utisak da je na
VMS-u taj jezik fortran a ne C (mada je VMS pisan u C-u
i asembleru...)
Zna li neko nešto o novom (ne znam više ni da li je
novi, odavno se o njemu priča) FORTRAN standardu? Hoće
li biti nešto od toga?
Pozdrav,
Dejan
jezici.47aleksa,
Prosle godine (cini mi se), u mesecniku SOFTWARE - PRACTICE & EXPE-
RIENCE, oglasio se jedan od clanova komisije (ili radne grupe, ili
kako se to vec zove) ANSI-ja za novi standard FORTRAN-a. Po svemu
sudeci, ne treba ocekivati bogzna sta. Nije jasno kada ce se novi
standard pojaviti (bez sumnje, pojavice se - prave ga od trenutka
kada su ispalili prethodni!). Nisam mnogo paznje obratio na taj
clanak, ali cu ga potraziti ako se jave zainteresovani. Secam se
samo da sam uzalud trazio bilo kakav nagovestaj novih mogucnosti
za strukturiranje podataka.
Napomena: clanak nije bio predstavljanje novog standarda (jer
jednostavno nije gotov), vec se koncentrisao na neku uzu oblast -
verovatno specijalnost clankopisca. U pitanju je bilo nesto sto
sigurno ne postoji u starom FORTRAN-u.
jezici.48dkropek,
Moze li mi neko ostaviti datoteku sa svim mnemonicima
za i286, te opisom funkcije koju obavlja, kao i utjecaj na
flegove ? Ukoliko vec imate takvu tabelu na disku, molim vas
da je okacite na Sezam.
zahvalan, Drazen
jezici.49dejanpolo,
Molim za pomoc. Hitno su mi potrebni ADA ili ARGUS (ukoliko
postoje) za PC. Molim da mi se javite ako imate programe ili barem
neke informacije o njima. Programi su mi inace potrebni za spremanje
jednog ispita.
Unapred zahvalan
Dejan Polomcic (011) / 463-694
jezici.50dsavic,
Šta je ARGUS?
jezici.51dejanpolo,
ARGUS je programski jezik za podrsku distribuiranim racunarskim
sistemima. Omogucava rad sa uporednim (konkurentnim) procesima, sa
objekima (OO programiranje) i slicno.
Dejan Polomcic
jezici.52vkostic,
Jedan hitan problem:
Imam neke stare BASIC programe napisane jos odavno na MBASIC-u.
Zatim su ti programi prebaceni na PC i radili pod GWBASIC-om.
Sada sam uzeo da ih kompilujem sa QUICK BASIC-om 4.5 i naleteo na
jedan gadan problem:
Naredbe MKS$ i CVS ne rade isto kao na GWBASIC-u !
To nebi bio problem kada kompilovana verzija programa nebi morala
da cita stare podatke.
QB HELP mi ne daje nikakve informacije kako da nateram compiler
da koristi stari format zapisa - valjda nekako moze.
Uputstvo nemam (tj. pozajmio sam ga drugu koji je sada u
Nemackoj, sto se svodi na isto).
Help!
Pozdrav, V.K.
jezici.53caka,
Cisto sumnjam da ces ikada naci ADU na PCju. Previse je to glomazan
i zahtjevan sistem da bi se mogao efikasno implementirati na nasim
kucnim kanarincima. Ne kazem da ne postoje test verzije, ali Juga
je dalekooo...
jezici.54dejanr,
Ako uputstvo može da pomogne, tu je! Bacio sam pogled
i ne videh nikakve dodatne opcije uz MKS$, da nije
štos da treba koristiti MKI$ ili MKL$ ili MKD$?
jezici.55dejanr,
Bilo je u PC Magazine-u dosta priče o raznim Ada kompajlerima
na PC-ju. Ima ih nekoliko koji su OK. Ako treba, mogu da nađem
neku adresu.
jezici.56dejanpolo,
Dejane, sada sam vec postao radoznao za Adu. Iako mi treba
prvenstveno za spremanje ispita, ipak mi posalji neku adresu
ako si u mogucnosti.
Pozdrav Dejan Polomcic
jezici.57vkostic,
>> Da nije štos da treba koristiti MKI$ ili MKL$ ili MKD$?
Nije. Provalio sam stvar. Treba startovati QUICK BASIC sa opcijom
/MBF, i onda naredbe MKS$, CVS, itd, rade kao na GWBASIC-u.
Stos je u tome sto GWBASIC koristi neki Microsoft binary format za
realne brojeve, a QUICK BASIC 4.5 koristi IEEE format. Ako se zada
opcija /MBF onda i QB koristi taj Microsoft binary format.
Pozdrav, V.K.
jezici.58godza,
Hello Dejane,
Adu kompajler imaju u institutu za primenjenu fiziku. Imena se ne
sećam ali zanma da radi samo na 286-ici. Naravno postoji i uputstvo
od 3-4 kartona :)
Pitaj ih tamo ili se obrati, naravno meni.
pozdrav Godza
ps
kod pirata je postojala neka janus ADA, ali nigde nisam video
uputstvo za istu. Naravno to je bio neki b ili čak C-pak
jezici.59dejanpolo,
Da li bi mogao da mi nabavis Adu od tih ljudi iz
Instituta za primenjenu fiziku, ili bar da me povezes sa njima.
Mozda je zgodnije da mi se javis telefonom, da bi brze komunicirali.
Dejan Polomcic 463-694
jezici.60zormi,
Zdravo,
tacno ja da u IMTEL-u (tako se sada zove Institut za primenjenu
fiziku) imamo AdaVantage compiler za ADU, ali se radi o
originalnom i autorizovanom softwere-u koji se cuva u kasi
tako da nije predvidjen da se deli okolo...
Pozdrav!
jezici.61dsavic,
Trenutno je ADA veliki biznis (u stotinama miliona dolara godišnje
) ali samo za one koji moraju da je koriste. A to su sve mušterije
Američkog Ministrstva Odbrane (DoD). Da nije njih nikada ne bi bilo
ni ADE a kamoli industrije. Trenutno, ADA veoma zaostaje
koncepcijski, jer ne podržava objektno orijentisano programiranje
(mada oni koji moraju da je koriste kažu "ma sve je ttu, samo ako
hoćeš dobro da zagledaš". Ukratko, za nas suvišan problem. Štaviše,
DoD je donedavno ( a možda i još uvek) zabranjivao izvoz ADE u,
recimo, Jugoslaviju i ostale istočne zemlj
Inače, ADU je pravila gomila ljudi, tokom niza godina i stvarno se
vidi da je "komitetski" jezik. Nasuprot tome, Pascal i Modulu-2 kao i
C je pravio po jedan čovek - zato te jezike ljudi mogu da shvate i
nauče u nekom razumnom vremenu.
Duško.
jezici.62ssvitlica,
Odlicno, ako je do YUge dospijela neka verzija, mozda domaci hakerski
svijet opet uposli svoje pirate ... ili mozda neko ovdje zeli da
KUPI adu ??? U svakom slucaju, ADA je zasluzila vise paznje u
domacim casopisima, mozda kao ilustracija problema u viseprocesnim
sistemima ... clanak o tome se vec dugo ceka ...
sistemima ... clanak o tome je odavno "zreo".
jezici.63dejanr,
Evo jednog zanimljivog priloga sa BIX-a na temu "koji
programski jezik je...". Autor je jedan od njihovih
najcenjenijih konsultanata.
==========================
borland/long.messages #8, from hack, 8655 chars,
Thu Jun 21 03:11:32 1990
--------------------------
RE: Pascal vs. Modula-2 Delimma...
Rick,
I too, went through an extensive analysis on this very
same subject about two years ago when I was working for a
real company. I was promoted to manager of Technical Support,
and had the unenviable task of standardizing in-house PC
developement, where no standards had existed before.
I had to evaluate everything...Hardware design, maintenance,
specifications, Software languages, coding structure, CASE,
documentation, etc (a lot more was involved, but I think you
get the picture). Basically, it came down to a standardized
set of packages (i.e. Lotus 123 (or Quattro), Reflex,
WordPerfect, etc), support functions (i.e. DOS 3.3 throughout,
IDEA terminal emulation, Norton Utilities, Disk Optimizer,
etc), and developement languages.
The developement languages were Turbo Pascal, Turbo C,
Turbo Assembler, (is there a pattern developing here :-),
Dbase (actually Clipper, after all, "we can't have users
modifying code now"...My boss actually said that...I think
I would have given my eye teeth for a user with enough
initiative to do such a thing :-), and COBOL (Microfocus,
but that was only used to port mainframe applications to
the PC, and then we usually had to link in assembler modules
anyways to make them work).
The Turbo C, and Turbo Assembler were restricted, in that
you could write closed end modules in them (Assembler for
TP, and C for Clipper), but they were not to be more than
XX lines long, and structured so that they functioned like
a black box (i.e. specified inputs had to produce verifiable,
repeatable output).
Anyways, I hired on staff, a gentleman, who had learned
Modula-2 in college, and then Turbo Pascal on his own, to help
in the PC developement effort. Aside from a little confusion
on occasion about the proper syntax (he would occasionally
write something in Modula-2 syntax, and wonder why TP didn't
like it :-), he indicated that he actually enjoyed TP better,
because of the help functions, and debugger support.
What I have found to be the main drawbacks to TP for
production of code, is the problem of running out of
memory in the IDE, lack of Intel STD format object files,
and limitations in the make facility. We solved the IDE
memory problems, by going to QEMM & Desqview on a 386
(running DV in a QEMM DOS environment of 753k, gives it
a window of 640+k to run in, as well as expanded memory).
Lack of the STD Intel OBJ format, turned out not to be
too bad a limitation, given our coding restrictions on
the Assembler and C code above, since we would just
compile those other language modules into OBJ's, and
link them into TP. The make facility never really was
satisfactorily worked out, since I left before finding
a good one.
We did make a few logical divisions though. All program
files have .PAS extensions, all include files have .INC
extensions (this includes overlay code, as it was kept
in seperate files), and all units had .UNT extensions.
This works with the make, by patching both the TPC, and
the TURBO.EXE, to use .UNT for units, instead of .PAS.
Doing this greatly enhanced the self-documenting of the
filenames, and helped us easily maintain large source
code libraries (although TLIB helps too :-). Internal
documentation of what each module does documented in the
first few lines of source also goes a long way to finding
the correct module when making maintenance changes.
Lastly, I highly recommend that you get the Turbo Pascal
Professional version, so that you have the Turbo Assembler,
and Turbo Debugger. Also if you have the resources, purchase
the RTL (Run-Time Library) source, for those sticky problems
that always appear, when doing truly strange systems
developement. The last piece of the puzzle so to speak,
would be to get the TurboPower Professional source libraries.
I have both the Turbo Professional 5.0, and Object Professional
1.1, and they really round out doing professional coding in
TP. (BTW, I have yet to do OOP programming, as most of my work
currently involves maintenance coding, which means, that I
have not really taken advantage of either TP 5.5, nor the
Object professional :-).
Now you may ask why I chose to go the route I had outlined.
My main reasons for going mainly with Dbase, and TP, was the
volume of people that are DP programmers, that code in it, and
the ease of project management when more than one programmer
was involved. Assembler and C have the problem that they do
not enforce strict type checking, and therefore do not lend
themselves well to coordinating a lot of modules into a
system, without having to sit on top of the programming staff,
beating them into using standardized libraries. COBOL of course
was something we inheritted, so it stayed where it was, and
all new developement was done in Dbase, or Turbo Pascal. Our
usual criteria for using Pascal over Dbase, was the need in
many cases to interact with other systems, or devices, that
required low level functions, not readily available in Clipper.
This same need, also tended to eliminate the use of Modula-2
or Microsoft Pascal, as they lack some of the hooks, that
Turbo Pascal has. (Note: If you are concerned about
portability between systems, make sure you seperate the non
ANSI functions of TP into seperate modules, so that when
ported, only those modules will have to be redone).
Last point (I know this is too long already, but this is
the last point you asked about...promise :-), I think you may
have noticed if you've seen some of my postings, that I
dis-like Windows, almost passionately. So of course you
will have to take this with a grain of salt. Windows uses
too much of the CPU's resources, just to do most of it's
work. It's benefits are a standardized API and User
interface, in that the I/O functions are standardized, and
you do not have to write them. It's drawbacks, are that
with the Application
/\
/ \
/ \
text |
| |
| |
graphics
\/
||
windows
||
DOS
||
hardware
cycle for all I/O, (mouse, keyboard, screen, file, etc), you
pay an enormous penalty for using the interface. It makes
running plain vanilla DOS applications in a window a pain,
and of course it is a pain in a multitasking environment,
to have to exit it, just to run that plain DOS app, at
normal speed.
Now Desqview on the other hand does run normal DOS
applications very well, and without any severe penalty for
doing so. It allows the applications to go directly to the
DOS level, (and on a 386, the virtual hardware level),
unless the program is Desqview aware, and WANTS to use an
API function. NOTE: This is a big distinction, in that a
Desqview aware program does not HAVE to use all the API,
in order to be Desqview aware, a windows app on the
other hand is not considered a true windows program if
it bypasses any windows function. The difference is in
how the packages do their time slicing, in that Windows
expects a windows app to use the API, and therefore on
a regular basis, give up the CPU. Desqview on the other
hand, gives equal time to all applicaions, and when they
have had their allotted time, it takes the CPU away.
This tends to be Desqviews' shortcoming, in that if it
takes away the CPU from a non-DV aware program at the
wrong time, it can occasionally cause problems, if the
program is going directly to the hardware (NOTE: This
is rarely a problem on the 386, as it virtualizes the
hardware, so that the hardware for each program is unique
to it). The other drawback to DV, is that you still have
to deal with DOS' quirks, the non-standard interfaces,
and I/O functions.
I personally own Desqview (and QEMM), as well as the Turbo
Pascal DV API (from Quarterdeck), and it is my personal
developement system. Unfortunately, I'd be a fool not to
see the publicity that Windows is generating, and since
I regularly install Windows applications as part of the
systems I install for clients, it is a reality that it's
here to stay. So as far as DV over Windows, I'd say,
write your applications with good modularity, and keeping
both API's in mind, and you'll be safe. (BTW, the API's
are not disimiliar, although the terminology is :-).
Hope this helps... Hack
jezici.64godza,
Hello Zoki,
Naravno da je tačno da u IMTEL-u postoji taj ada compiler.
Tačno je i da je to autorizovan i originalan softver.
Nije tačno da se čuva u kasi (mislim da ne bih mogao da uđem u istu),
inače kako bih ja znao za njega ? (kompajler)
Ako je i u međuvremenu stavljen tamo, slobodno ga izvadite, šteta je
dati toliko para a nikome da ne koristi. Uzgred, da li vam je
stigao novi Zortech C++ ?
Da je to MSC 6.0 ili Word 4 Windows, da ne kažem PCTools 6.0 već bi
bio podeljen :)
Drago mi je što si se uključio u diskusiju. Nadam se da si pročitao
Dejanov text i da si pročitao zašto mu treba ada kompajler.
Zato ne budi srca udovička nego srca junačkoga, pa da nam Dejan
položi ispit.
Njegov je telefon negde gore, ali ja ti ga ponavljam :
:: Dejan Polomcic 463-694
zvani, budući kolega ZorMi-a.
Šta misliš da li imam AdaVantage compiler ? :)))
ps
Eh, Zoki ovo ti je šansa da se iskupiš za ono patch-ovanje romova na
SCCSI kontrolerima
Pozdravlja te srdačno
Godža alias "drug u nevolji"
jezici.65zormi,
Adu nisam ja stavio u kasu, niti imam kljuc ű. Postoji cak i
naredba od strane sefova IMTEL-a (sa kojom se licno ne sl˘Ęazem)
da se kupljeni skupi softver ne deli okolo i olaksava posao
konkurenciji.
Licno mislim da bi ADAVANTAGE dobio u zamenu za nesto slicno
(trenutno nam treba PCAD 4.5).
Ono sa "patch-ovanjem po ROM-u SCSI" nisam shvatio jer nemam
pojma o cemu se radi....
Pozdrav!
jezici.66mrki,
Prilažem jedno korisno rješenje (ako je nekome potrebno):
Brisanje ekrana u Microsoft Fortranu moguće je obaviti na
slijedeći način:
c ========================= CLS ==============================
c Potprogram za brisanje ekrana. Koristi ANSI.SYS.
c ============================================================
subroutine cls
character ch
ch=char (27)
write (*,'(1x,3aĐ)') ch,'Š2J'
return
end
Da bi ovo funkcioniralo datoteka CONFIG.SYS treba
sadržavati liniju:
DEVICE = C:ĐdosĐansi.sys
jezici.67robi,
Dali tko zna kako iskjuciti NumLook softverski ,po mogucnosti iz
Qbasica ?
Bio bi jako zahvalan ako bi mi tko znao pomoci.
Unaprijed hvala .Robi
jezici.68vkostic,
>> Da li neko zna iskljuciti NUMLOCK softverski...
Napisao nam mali COM program KBSTAT bas za tu namenu.
Na zalost program je na disketi od 1.2 MB, a ja se sada javljam sa
nekog bednog XT-a. Zamoli DEJANR-a, mislim da on ima taj programcic.
Iz BASIC-a ga mozes pozvati sa SHELL.
Pozdrav, V.K.
jezici.69dejanr,
>> Zamoli DEJANR-a, mislim da on ima taj programcic.
>> Iz BASIC-a ga mozes pozvati sa SHELL.
Evo programa...
kbstat.zipjezici.70vkostic,
Hej, pa bas smo postali nesto zaboravni. Ne treba nikakav eksterni
COM program da bi se iz BASIC-a kontrolisalo NUM LOCK.
Na adresi 0000:0418 (hex) se nalazi keyboard status bajt, izgleda
ovako:
- bit 7: Ins
- bit 6: Caps
- bit 5: Num
- bit 4: Scroll
- bit 3: -
- bit 2: -
- bit 1: -
- bit 0: -
Dakle, iz BASIC-a je potrebno uraditi:
DEF SEG=&H0000
POKE &H0418,PEEK(&H0418) OR &H20
da bi se upalilo NUM LOCK, odnosno:
DEF SEG=&H0000
POKE &H0418,PEEK(&H0418) AND &HDF
da bi se ugasilo.
Pozdrav, V.K.
jezici.71dejanr,
>> Na adresi 0000:0418 (hex) se nalazi keyboard status bajt,
>> izgleda ovako:
Jesi li siguran da je prost upis broja tamo dovoljan da se
stvar reši? Nešto se prisećam da sam davno davno to probao
i da je bilo nekih problema (sijalica se nije palila?)
jezici.72vkostic,
Siguran jesam, sa jednom ispravkom: radi se o adresi 0000:0417 a ne
0000:0418. Na zalost nemam sada listing KBSTAT programa da pogledam
kako sam tamo resio problem. Na ovom XT-u na kojem sam sada probao sa
DEBUG-om, upisivanje odredjene vrednosti na 0000:0417 zaista utice na
CAPS, NUM-LOCK, itd, ali ne pali lampice. KBSTAT je palio lampice na
mom AT-u.
Pozdrav, V.K.
jezici.73zzivotic,
>> Siguran jesam, sa jednom ispravkom: radi se o adresi
>> 0000:0417 a ne 0000:0418.
Heh, jeste, upali se ili ugasi lampica ali potom.... bivaju
stvari čudne!
Koliko sam na brzinu pogledao neki listing BIOS-a stvar sa
tim lampicama je bila dosta zbudžena - na dva mesta je bila
kodirana ista stvar. Verovatno da je BIOS presudan faktor da li
će ovaj metod da radi kako treba ili ne.
Pozdrav, zz
jezici.74robi,
Hvala svima na pomoci san sam downlodovao sve odgovore i siguran
sam da cu tu n sto mi treba.
pozdrav Robi.
jezici.75vkostic,
>> Verovatno da je BIOS presudan faktro...
Da, ali narocito da li se radi o XT ili AT masini. Mislim da kada na
AT-u promenis nesto na lokaciji 0000:0417 BIOS prilikom prvog
narednog interapta 09 ili 16 podesi lampice. Kod XT-a BIOS
jednostavno *ne* moze da upali lampice - to je ona razlike izmedju
XT i AT tastature.
Pozdrav, V.K.
jezici.76majkl,
Svojevremeno sam imao isti problem, tj. nakon startovanja
drajvera za tastaturu (KEYYU) uključuje se NUMLOCK što sam želeo
izbeći. Problem nije u BIOS-u. Pored adrese 0:417h treba obratiti
pažnju i na adresu 0:497h (Keyboard LED Status), ali stvar
funkcioniše samo ako KEYYU nije aktivan. Postavljanje vrednosti u
0:417h uradiće uvek posao oko statusa LOCK tastera, ali neće ništa
učiniti sa LED indikatorima. Treba računar naterati da ovo stanje
ažurira. Jedan poziv interapta 09 već daje rešenje, koje radi u
svim situacijama. Dati program na TPascal-u kod svakog poziva menja
status NUMLOCK-a (slično je i za druge LOCK tastere) i sigurno se
može prevesti na druge 'dijalekte'
PROGRAM NUML;
uses dos;
var
regs : Registers;
begin
memŠ0:$417Ć:=MEMŠ0:$417Ć XOR 32;
intr(09,regs);
end.
Pozdrav,
Majkl
jezici.77mikij,
Sa nekog BBS-a sam pre nekog vremena (davno) skinuo program UNCOM.COM .
On izvrsne fajlove disasemblira i snima u zadati fajl, tako da se program
ponovo asemblirati. (Nadam se da ste shvatili)
Na nesrecu prilikom backup-a harda, negde sam ga izgubio (kako ne znam)
a strasno mi je potreban. Pregledao sam sve (skoro) BBS-ove i ni na jednom
ga nisam nasao, tako da bi svaka vest koja bi me do njega dovela rado dosla.
Naravno kada di ga neko ovde ostavio, to bi bilo najbolje resenje.
Unapred zahvalan Miki.
P.S. Malo mi se i zuri! :-)
jezici.78zormi,
Preporucujem ti SOURCER. Malo je predug za slanje, a i
ima copyright ;)
jezici.79mikij,
Zormi hvala. Nabavio sam ga i jako mi se svidja. Mozda bi mogao da jos
bolje radi ali za jedan program je odlican ( mislim covek bi bolje ).
Hvala Miki
jezici.80mrki,
Da li je netko pokušao da u QUICK BASIC program linka FORTRAN
potprogram. Ja sam to pokušao na slijedeći način:
DECLARE SUB test (a, b)
INPUT "unesi a i b"; a, b
PRINT "sada poziv fortrana"
CALL test(a, b) 'Pokušao sam i sa CALLS
PRINT "opet basic"
FORTRAN potprogram:
subroutine test(a,b)
write (*,*) a,b,a+b
return
end
Oba programa sam iskompajlirao i zatim ulinkao zajedno.
Prilikom pokušaja izvođenja pojavila se greška:
No room in heap.
Ukoliko netko zna u čemu sam pogriješio molim da mi javi.
Unaprijed se zahvaljujem na odgovorima.
jezici.81mradulovic,
Cao i puno pozdrava od Miska. Jako mi se svidja SEZAM pa sam odlucio
da probam ovde da nadjem neka resenja za probleme koje me muce.
Najvazniji problem trenutno je kako pravilno izaci iz interapt
hendlera a da sa masina ne zaglavi. Probao sam sve i svasta ali se
non stop zaglavljuje. Inace instaliraosam sopstveni interapt hendler
za PrtScr na PC, koji radi sve OK do momenta izlaska i hendlera (tj.
posle svih onih POP naredbi), ali nesto ga koci i prebacuje u neke
cudne modove. Ako neko zna resenje, bio bih mu veoma zahvalan.
Misko
jezici.82zzivotic,
>> Najvazniji problem trenutno je kako pravilno izaci iz interapt
>> hendlera a da sa masina ne zaglavi. Probao sam sve i svasta ali se
>> non stop zaglavljuje.
Bojim se da ovako nećemo moći da pomognemo. Jedini način da ti pomognemo je
da pošalješ program (ili kritičan segment koda) pa da vidimo o čemu se radi.
Problem očigledno nije principijelne prirode (oko toga nema ništa posebno što
bi trebalo znati) pa verovatno imaš neki skriveni bag.
Pozdrav, zz
jezici.83mradulovic,
Hvala na pokusaju. Saljem datoteku pa mozes iz nje videti sta se
desava. Inace program je radjen totalno standardno, po svim pravilima
iz svih mogucih knjiga. Jedino mi nije jasno kako to kod njih radi a
kod mene ne. Da li je mozda potrebna neka posebna procedura za
izlazak iz hendlera u DOS?
Misko
primer.zipjezici.84zzivotic,
>> Saljem datoteku pa mozes iz nje videti sta se desava.
>> Inace program je radjen totalno standardno, po svim pravilima
>> iz svih mogucih knjiga. Jedino mi nije jasno kako to kod njih radi a
>> kod mene ne. Da li je mozda potrebna neka posebna procedura za
>> izlazak iz hendlera u DOS?
Ovo je bilo lako...:)
Tačno je da si u programu upotrebio ono što piše u knjigama (da li se varam
ili imaš Advanced MS DOS, Ray Duncana?) ali si malo neoprezno kombinovao i tu
je glavni problem.
Prvo, u programu postoji i jedna meni nejasna greška - pri izlasku iz
interapt rutine na samo kraju imaš dve POP BP instrukcije koje su očigledan
višak - ne shvatam šta je bila ideja? Ipak, glavni problem je u tome što si
odlučio da koristiš DOS funkcije unutar interapt rutine - DOS ne dozvoljava
rekurzivne pozive a pošto se u trenutku pritiska na PrtScr najverovatnije
nalaziš u DOS-u - eto problema (probaj recimo da startuješ neki program koji
čita tastaturu preko bios-a pa onda pritisni PrtScr - ako izbaciš one dve
pomenute POP instrukcije program će raditi kako treba!) Takođe, čuvanje
sadržaja SS (stack segment) registra se ne izvodi onako kako si napisao (mada u
ovom primeru to nije bitno jer mu vrednost ne menjaš) - rasmisli samo šta se
tačno dešava nakon POP SS pa će ti odmah biti jasno kakvi se problemi mogu da
nastanu.
Kod konstruisanja ovakvih programa treba biti veoma pažljiv - DOS pozive je
moguće koristiti ali se radi o posebnoj tehnici koja zahteva poznavanje i nekih
nedokumentovanih poziva DOS-a. Još nešto - kod interapt rutina kao što su
PrtScr koje mogu da oduzmu dosta procesorskog vremena treba biti dodatno
pažljiv - potrebno je da na samom ulazu odmah dozvoliš ostale INT pozive u
sistemu. Da se pak ne bi desilo da za vreme izvršavanja ove funkcije, korisnik
ponovo pritisne PrtScr pa opet utrči u istu funkcija čije prethodno izvršavanje
još nije završeno obično se koristi neki interni fleg koji se setuje na ulasku
i resetuje na izlasku iz interapt rutine. Pri ulasku u rutinu, pre nego što ga
postaviš, proveravaš da li je već postavljen i u tom slučaju odmah izlaziš van.
Pozdrav, zz
jezici.85mradulovic,
Sto se tice Advanced MS DOS tu si u pravu. Za onu glupost sa POP
BP sam kriv jer je nisam izbrisao pre nego sto sam ti poslao rutinu
(video sam to u nekoj rutini za TURBO PASCAL-ov hedler pa sam probao
sasvim bez veze). Ipak, znam da DOS rutine nisu rekurzivne ali ima
mali milion primera gde to radi kako treba (ako imas TURBO PASCAL-The
Complete Reference by Stephen O'Brien tu se upotrebljava gomila DOS
rutina pa cak i samih PASCAL naredbi da bi se presretao keyboard
interaypt i ispisivalo tacno vreme pri pritisku na ALT F10).
Isto tako mi nije jasno kako u Adv.MSDOS se koristi izlaz preko
funkcije 4Ch, a da nije vracen sadrzaj registara i steka (sto
neminovno dovodi do poruke: Internal Stack Overflow, System halted
posle nekoliko izlaza).
Ako ti nije tesko preporuci mi neku literaturu u kojoj je ovo
ljudski objasnjeno (na pravi nacin i bez gresaka) jer mi pozivi DOS-a
iz mog hendlera izuzetno trebaju.
Pozdrav, Misko
jezici.86zzivotic,
Javljam se ponovo sam malim zakašnjenjem jer sam očekivao da će neko umesto
mene moći da ti preporuči odgovarajuću literaturu ili da neki konkretan savet
jer znam da su se neki ljudi ovde takođe interesovali za ovaj problem.
Pozivi DOS funkcija iz interapt rutina su, kao što sam ti i napomenuo,
sasvim mogući ali se radi o posebnoj tehnici koja uključuje i neke
nedokumentovane pozive DOS-a. Stvar nije komplikovana, potrebno je pratiti
stanje internog DOS flega koji označava da li je DOS poziv moguć ili ne ali
bojim se da je moje interosavnje za ovakav tip programa odavno prestalo pa sam
malo "izgubio korak" i sa literaturom i sa tehnikama.
Ako već imaš tako dobre primere u knjizi koju spominješ, zašto ih
jednostavno malo pažljivije ne analiziraš - u njima ćeš verovatno pronaći ono
što ti treba. Nadam se da će se i ovde javiti oni koji su pokušali nešto
slično.
Pozdrav, zz
jezici.87bulaja,
> Moze li mi neko poslati spisak "svih" (sto vise) 24-pinskih stampaca
Mozes da udjes u setup Word Perfecta i pogledas skromnu listu od xxx
raznih modela stampaca, u kojoj su doduse zastupleni svi tipovi (ne samo
24-pinci), ali se u njoj nalazi verovatno 99% svih ikad napravljenih
modela 24-pinaca. Pokusaj.
Pozdrav, Bulaja.
jezici.88ognjan,
Jedan moj prijatelj ima pitanje u vezi COBOL-a:
U pitanju je RM COBOL 85 za 386, a njega interesuje da li on
može raditi na 286 pod XENIX-om 5 ???
P.S.
U stvari problem je to što treba da linkuje programe u C-u i COBOL-u,
a jedino na ovoj verziji je to moguće.
Ogy.
jezici.89alexa,
RM COBOL 85 za 386 može biti za različite operativne sisteme; u
svakom slučaju, ako je stvarno samo za 386, onda ne može (to će lako
proveriti).
Za Xenix System V (ako je to taj Xenix 5) ima odgovarajućih COBOL
kompajlera - verovatno postoji i RM COBOL 85 za Xenix/286, a ja
sam koristio VS COBOL (Microfocusov). On dozvoljava pozivanje C
podprograma.
Softver za Xenix/286 radi na Xenixu/386, dok obrnuto nije moguće.
jezici.90dvidovic,
Moze li se u Bgd. nabaviti neki PD asembler? Video sam na
MIPS-u jedan, zove se ASM86 (ili tako nekako), ali ne mogu
da ga skinem (nisam pretplatnik).Ne bih da piratujem, a i ne-
pucaju mi se pare za nesto u sta nisam siguran da ce me zadrzati
duze.
Valjda i sa takvim programom moze da se pocne?
Poz Dule
jezici.91vkostic,
>> Moze li se u Bgd. nabaviti neki PD asembler?
Svašta! Nabavi Turbo Assembler ili Microsoft Assembler i uživaj!
Ima tih asemblera na svakom koraku kod nas. :)
jezici.92dvidovic,
>>Svasta! Nabavi TASM ili MASM i uzivaÚ]j!
>>Ima tih asemblera na svakom koraku kod nas. :)
Tako mi i treba kad hocu da glumim postenje. TASM piratovan
uzivacu za 15 dana kad se vratim sa puta. ;)
jezici.93cdragan,
Da li neko zna da li postoji kompajler za dBASE IV ?
jezici.94vkrstonosic,
> Da li neko zna da li postoji kompajler za dBASE IV ?
FORCE !!!
jezici.95bulaja,
> Da li neko zna da li postoji kompajler za dBASE IV ?
> FORCE !!!
Jes' da je Force mnogo dobra stvar, ali na zalost (ili pre na srecu)
nema mnogo veze sa jezikom ugradjenim u dB IV. Nesto sam cuo da je
za dBase IV, verziju 1.1 razvijen kompajler, ali to do sada nisam
video (nisam video ni tu verziju 1.1). Posto si izgleda zainteresovan
za dBase IV, necu da te odgovaram od toga i da ti govorim da je to
obicno djubre ;), ali shvatices jednog dana.
ŔOPC CBuMA !
jezici.96npopovic,
Kad vec pomenuste force , ima li neko prakticnog iskustva sa njim.
Sve sto znam o njemu je ono sto sam prilicno davno procitao u M.M.
E , sad stalno citam ili cujem nesto u stilu , super , odlicno , ali
mene zanima otprilike sledece :
- kakva mu je brzina kompaajliranja
- ima li dibager
- koliko prostora zauzima
- podrzava li potpuno clipper 87
Nikola
jezici.97zonjic,
Potrebne su mi BILO KAKVE informacije o RTLink plus.
Najbolje bi bilo kada bi neko imao adresu proizvodjaca.
Rade
jezici.98nkbog,
**** reply na 6.168
> UNION u C-u nema AMA BAS NIKAKVE veze sa strukturnom aritmetikom
> (sta god to bilo), vec je prosto prirodno prosirenje koncepta
> strukture. Nesto slicno imas u PASCALu, na primer, kao
> VARIANT RECORD.
Nemoze se autoritetno pricati o necemu o cemu se nezna.
U FORTRAN-u je postojala (postoji) deklaracija EQUIVALENCE kojim su
definisana promenljive koje zauzimaju isto memorijsko podrucije (n.pr.
2 CHARACTER*1 i 1 INTEGER*2 i slicno). Njihov raspored je bio strogo odredjen
pa je deljenje na visi i nizi bajt, ili mantisu i eksponent bilo (jeste) lako.
U C-u je to samo nasledjeno kroz 'union' deklaraciju, s tim sto ovde to nema
ulogu stednje memorije (mada moze) vec lakseg baratanja sa podacima. U
Pascal-u, pak ako definises promenljivi zapis, nije definisano kako se on
smesta u memoriju, a njegova struktura je promenljiva i zavisi od nekog
podatka u zapisu. U C-u i FORTRANU struktura je ista.
NB.
p.s. Ovakva rasprava treba da se vodi u "jezici"-ma.
jezici.100alexa,
> Nemoze se autoritetno pricati o necemu o cemu se nezna.
Ne može, slažem se.
Stojim iza onoga što sam napisao u 6.168.
jezici.103mjova,
hi,
evo jednog korisnog skupa datoteka za one koji vole
neki put da pišu u asembleru. to su "formulari" u
koje samo treba upisati program :), to su oblici, tj.
kako treba da izgleda com i exe program. pored toga
postoji i definicija poziva dosu i biosu u vidu
include datoteke. sve ovo je vrlo praktično.
šule
asmhelp.zipjezici.104mjova,
hi,
sve koje zanima asembler, mogu početi odavde....
(običan text sa puno informacija)
šule
asmtutor.zipjezici.105nesic,
Pokušaću da uz ovu poruku vežem demo verziju
GfA BASIC-a za MS-DOS. Inače, za neobaveštene, ovaj
program je najpopularniji BASIC interpreter (i compiler)
na ATARI ST-u. U demo verziji programa sve radi osim
snimanja na disk i štampanja. Podržava sve grafičke
modove.
Pozdrav, Nešić
gfademo.zipjezici.106kvelkovski,
Help !!!
Kako se cita *predhodni* slog iz indeksirane (ISAM) datoteke u MS COBOL-u?
Molim vas za odgovor najkasnije do nedelje, posto u ponedeljak pitanje
zastareva :((((
Sifra "Life & Death"
Kupe
P.S. Stvarno mi treba za fax :((((((
jezici.107ppekovic,
>> Help !!!
>> Kako se cita *predhodni* slog iz indeksirane (ISAM) datoteke
>>u MS COBOL-u?
>> Molim vas za odgovor najkasnije do nedelje, posto u ponedeljak
>>pitanje zastareva :((((
Odavno sam digao ruke od Cobol-a ali ako tamo ima komanda za skok unapred
za jedan ili više slogova, probaj da joj proslediš negativnu vrednost.
Paya
jezici.108kvelkovski,
Hvala, ali ja znam samo za READ file NEXT, i ova naredba ne prima
parametre :(. BTW, moja profesorica i asistent su totalne nule : ona (dr prof
...) izjavljuje da je to nemoguce kod indeksnih datoteka (asistent klima
glavom), a onda kaze "Pa to je moguce samo kod *SEKVENCIJALNIH* datoteka!" sto
nailazi na odobravanje kod mog asistenta. Vrhunac je bio kad mi je predlozila
da pamtim predhodni slog !!! Rekoh: "Ako trebam pre-predhodni slog ?!?". Na
kraju se slozila da je ipak najbolje da pogledam uputstvo, koje je (logicno)
zakljucano tako da ne mogu da dodjem do njega, a ipak bi hteo da napravim
program pre ponedeljka :(((((
Ponovicu pitanje: Kako da procitam predhodni slog u indeksiranoj datoteci
(ISAM)?
Sifra "Sve sam probao :((("
Kupe
jezici.109boban,
Prinudjen sam da se ponovo obratim za pomoc svima koji nesto
znaju o Microsoft-ovim Cobol-ima:
mbp COBOL 74 Version 10.0 ili
mbp COBOL 85 Version xx.x
Potrebna mi je bar potpuna sintaksa kompajlera i linkera, svaki savet
je dobrodosao, a o originalnom manualu ili bilo kakvoj literaturi da
i ne govorim (neskromno je). HVALA!
Boban
jezici.110dvidovic,
Malo pitanje: zna li neko sta su i cemu sluze sledece stvari:
- 'pick'
- 'prime'
- 'pick basic'
- info basic'?
ovo sam video u nekom USA casopisu u kome se objavljuju oglasi
za trazenje posla/ljudi za rad na racunarima. Gore pomenuti pro-
grami(?) se vrte na malim masinama( dakle PC) i imaju veze sa 4GL.
Hvala unapred! Poz Dule
jezici.111iri.ic,
Trebaju mi informacije o LOGO programskom jeziku. Koliko košta, gdje se moze
nabaviti, da li postoji neki public domain verzija....
Potreban mi je da ga koristim na predavanjim iz informatike za osnovnoškolce.
Čini mi se da je u tu svrhu bolji od BASIC-a (barem u početku) jer ima podrzanu
i razraĐen rad s grafikom pa je tako atraktivniji za klince koji se tek trebaju
upoznati sa kompjuterima...
jezici.112djelovic,
Čuj, logo za PC postoji kao public domain, ali teško da ćeš ga
naći▀ u jugi zbog statusa koji taj jezik ima...
jezici.113vule,
> Trebaju mi informacije o LOGO programskom jeziku. Koliko košta, gdje se
> moze nabaviti, da li postoji neki public domain verzija....
> Potreban mi je da ga koristim na predavanjim iz informatike za
> osnovnoškolce. Čini mi se da je u tu svrhu bolji od BASIC-a (barem u
> početku) jer ima podrzanu i razraĐen rad s grafikom pa je tako
> atraktivniji za klince koji se tek trebaju upoznati sa kompjuterima...
Izvini ako haluciniram, ali mislim da sam u knjižarama viđao naslov
tipa Programski Jezik LOGO. Ako ti treba samo knjiga, pogledaj. Ako ti
treba LOGO da se na njemu radi, u turbo pascalu ima unit graph3 koji
ako sam dobro shvatio podržava logo instrukcije, pa bi verovatno bila
igra da se napravi user interface. Ako te pak mrzi ili nemaš vremena,
pojuri bulaju da vidi u trickle direktorijima ima li šta slično (ako
je PD sigurno ima).
pozdrav vule
jezici.114iri.ic,
Treba mi baš LOGO, za knjigu je lako...
što se tiče turbo-pascala...pa nisam baš siguran da bi to bilo samo igra, naime
LOGO nije samo "crtački" jezik, to je prilično razrađeni programski jezik sa
mogućnošću kreiranja vlastitih nazovimo ih funkcija, moglo bi se čak reći da je
to jedan fini struktuirani jezik. Dakle, za samo crtanje ne bi bilo problema da
se to napravi u turbo pascal-u, ali za ostale stvari bi bilo potrebno nabaviti
opis standarda za LOGO, pa po njemu napraviti interpreter (a mozda bi se moglo
dogurati i do kompajlera) - međutim to bi sve uzelo puuuuno vremena, i ako
isključimo "uzivanje u programiranju" mislim da se ne bi isplatilo (to ti je
kao da ideš napraviti interpreter za BASIC)...
Pitanje gdje se moze nabaviti LOGO i dalje ostaje otvoreno... (Navali narode
):)......
Pjero...
jezici.115bulaja,
│Ako te pak mrzi ili nemas vremena, pojuri bulaju da vidi u trickle
│direktorijima ima li sta slicno (ako je PD sigurno ima).
└───
Pogledao sam i nema nikakav Logo tamo.
jezici.116vule,
> Pogledao sam i nema nikakav Logo tamo.
Xe! Ko bi reko. Ako neko 'oće da plati mogu i ja da ga napravim :)
pozdrav vule
jezici.117iri.ic,
Da su neke velike pare u pitanju, bome i sam bi se potrudio...
Pjero...
jezici.118kvelkovski,
>> Treba mi bas LOGO, za knjigu je lako...
Probaj TanjugBBS, ima ga tamo.
Kupe
jezici.119ivans,
Kada se nade ovakvo adresiranje:
MOV AX,[BP+SI+nn]
gde je nn proizvoljan oznacen broj, to se zove bazno indeksno adresiranje.
Pitanje glasi: kako se zove adresiranje tipa
MOV AX,[BP+SI]
Unapred hvala na odgovoru.
Pozdrav, ivans.
jezici.120ivujanic,
> MOV AX,ŠBP+SI+nnĆ
> MOV AX,ŠBP+SIĆ
Prekopah svu literaturu koja ide uz TASM i ne nađoh ni reči o
konkretnom nazivu. I jedan i drugi su indeksni, valjda je onaj prvi
indeksni sa ofsetom :)
Ivica
jezici.121zormi,
* Kada se nade ovakvo adresiranje:
* MOV AX,(BP+SI+nn)
* gde je nn proizvoljan oznacen broj, to se zove bazno
* indeksno adresiranje. Pitanje glasi: kako se zove
* adresiranje tipa MOV AX,(BP+SI)
Nije moja oblast, ali koliko se sećam, ono prvo je
indexno-bazno sa pomerajem, a ono drugo indexno-bazno.
jezici.122hohlacov,
Mom kolegi treba pomoć. Ima Genius mouse GM-6 i pise neki
programčić u QuickBasic ver 4.5. Ne zna kako da programira
misa (uz GM-6 je dobio GMOUSE.SYS .DOC i .COM) i pored
uputstva koje nešto o tome kaže u .DOC datoteci (probao je
neke stvari ali je sve bilo bezuspešno).
Ukoliko ima nekog ko je ovako nešto radio molio bih ga da
pomogne.
Unapred zahvalan, Djordje.
jezici.123iri.ic,
Probao sam dozvati Tanjug , ali iz pule to ne ide baš lako, nikako da se
konektiram.. Mozda bi mi netko mogao napraviti uslugu pa da sa TanjugBBS-a
pokupi taj logo i da mi ga ostavi na SEZAMU...
Pjero
jezici.124drakce,
> Probao sam dozvati Tanjug , ali iz pule to ne ide baš lako, nikako da se
> konektiram.. Mozda bi mi netko mogao napraviti uslugu pa da sa TanjugBBS-a
> pokupi taj logo i da mi ga ostavi na SEZAMU...
Ukoliko ga već nisi nabavio, prilažem uz poruku program LOGO sa Tanjuga.
Nadam se da će ti pomoći.
Pozdrav od Dragana
logo.arjjezici.125djelovic,
Ima li ko ovde da koristi MS Basic Proffesional?