PCPROG.1

20 Sep 1991 - 03 Dec 1992

Topics

  1. ms.dos (235)
  2. cccc (0)
  3. asembler (321)
  4. pascal (896)
  5. clipper (1059)
  6. zastita (239)
  7. basic (178)
  8. baze.podataka (116)
  9. novi.fajlovi (66)
  10. algoritmi (52)
  11. razno (707)
  12. van.teme (126)
  13. unknown (986)

Messages - asembler

asembler.105 dejanr, -> #102, obren
>> Kad stignem napisaću (onoliko koliko znam) koje sve funkcije ima >> port 3CE i kako se koriste. Da napomenem da je crtanje tačke ovim >> tehnikama brže od TC-ovog ili TP-ovog putpixel-a. Podržavam ideju, šta više mislim da bi tekst o programiranju VGA karti zanimao i "Računare".
asembler.106 obren, -> #104, radunovic
> Bio bih ti zahvalan kada bi napisao nesto konkretno. Npr. adrse > portova i sl. (naravno i uputstvo za upotrebu:) BTW. gde si to > pronasao ? To o programiranju VGA karti sam iskopavao iz više izvora. Jedan je knjiga na engleskom debljine jedno 1000 strana (bavi se programiranjem VGA i SuperVGA karti sve do najnovijih Tseng i Trident kartica), koja na žalost nije moja, a druga knjiga je "Born to code in C" od Herberta Schildta (za njega ste sigurno čuli, specijalista McGraw Hill-a za C). Ako uspem da nabavim onu prvu biće lepo. :) Dakle kao što sam rekao sva komunikacija sa kartom obavlja se preko portova, nikako direktnim pristupom video memoriji. Štaviše, pristupanje video memoriji vrši se isključivo u kombinaciji sa pristupom portovima i to tačno određenim redom. Evo recimo kako se, da kažem hardverski (na najnižem mogućem nivou, ali zato i najbrže) vrši crtanje tačke: Izračuna se adresa bajta u kome je traženi pixel u okviru segmenta A000 pomoću sledeće formule: adresa pixela = A000:0000 + (Y * horizontalna_rezolucija/8) + X/8. Zatim se vrši "dummy" čitanje sadržaja ove memorijske lokacije, čime se signalizira VGA karti da sadržaj 4 bit ravni za ovu adresu spakuje u svoj interni 32-bitni registar. Tek sada nam je moguće da nacrtamo neku tačku (dakle ništa još uvek po video memoriji). Sledeći korak je da se odredi maska kojom se determiniše koji od 8 pročitanih pixela se menja. To je normalno obična binarna maska sa jedinicom na odgovarajućem mestu a nulama na svim ostalim. Dakle sve ovo je deo posla koji obavlja sam program iz koga crtamo pixel. Zatim je potrebno uraditi sledeće: 1) Na port 3CE poslati 0 jer je to funkcija kojom se signalizira VGA karti da sa porta 3CF preuzme novu boju za tačku. Zatim se na port 3CF pošalje 8-bitna vrednost boje. 2) Na port 3CE se pošalje 1, što je broj funkcije kojom se dozvoljava odnosno zabranjuje menjanje bita. Sledeća instrukcija je slanje broja 15 ili F hexa na 3CF (15 je vrednost za ENABLE WRITE). 3) Sada treba definisati način na koji se iscrtava novi pixel u odnosu na stari (to je ono OVERWRITE, XOR, AND i OR). Funkcija kojom se ovo signalizira je 3 i šalje se kao i ostale na 3CE. Zatim treba odabrati neki od ovih načina iscrtavanja slanjem vrednosti 0, 18h, 8 ili 10h na port 3CF. 4) Konačno treba proslediti masku kojom određujemo koji pixel treba da se promeni. Funkcija je 8 a maska je gore opisana. Poslednji korak je "dummy write" kojim se analogno čitanju, sada sadržaj internog 32-bitnog registra preslikava u video memoriju. Upisuje se bilo šta na izračunatu adresu u segmentu A000 (sa koje je izvrešeno čitanje). Dakle svejedno je da da li ćemo upisati 1 ili 255. Na kraju treba ponoviti sve one funkcije i upisati 0 umesto konkretnih vrednosti da bi se obrisao sadržaj internog registra. Jedino se za masku umesto 0 upisuje FFh. Iako postupak deluje "pipavo" on je brži od standardne rutine putpixel koju koriste Turbo C i Turbo Pascal. Da ne govorimo o BIOS-u... Ukoliko se u program ugradi inline asemblerska implementacija za šta je dušu dao Turbo Pascal 6.0, dobija se fantastično brza procedura za crtanje tačke. Mislim da sam pravio u C-u nešto slično pa ću okačiti o neku sledeću poruku. Eto toliko. Mislim da je primer poslužio da se vidi način na koji se komunicira sa VGA. Osim ovih "programibilnih" portova postoje i drugi, na primer statusni, sa koga se (skoro je bilo) može odrediti trenutak kada počinje vertikalni retrace i sl. Tema je preopširna da bi se mogla strpati u jednu poruku a i moje znanje je nekompletno. Ali potrudiću se da nabavim onu "debelu" ;) knjigu. Sad mi baš ćale ide u Nemačku. :))) Pozdrav, Dragan
asembler.107 mjova, -> #103, mjova
>> Direktnim pristupom, izgleda, crta se samo u jednoj bit > ne znam da li će ti nešto značiti, ali pokušaću da bljak, tek sam sad video da tebe zanima grafika, a ne text. nema veze, video si i sam da sam promašio temu ;) SY
asembler.108 zmilan, -> #106, obren
>> Eto toliko. Mislim da je primer posluzio da se vidi nacin na koji se >> komunicira sa VGA. Naravno ;)))) S' obzirom na interesovanje ne bi trebao ovde da stanes. Dokumentuj sta jos znas o funkcijama ovog porta, dok ne dodjes do knjige. Pozdrav, Milan.
asembler.109 ivans, -> #106, obren
Svaka cast na textu! Hocemo i nastavak (bar ja!)... Pozdrav, Ivans.
asembler.110 obren, -> #108, zmilan
> S' obzirom na interesovanje ne bi trebao ovde da stanes. > Dokumentuj sta jos znas o funkcijama ovog porta, dok ne > dodjes do knjige. Pa ovako, trenutno imam prilično obaveza u školi, a ovo što pišem svodi se na pregledanje programčića koje sam odavno pisao što mi uzima prilično vremena. Danas sam napisao demo u TP6 koji ilustruje kako se crta tačka pomoću pristupa VGA portovima i koji je prikačen za ovu poruku. Neke od ovih stvari sam imao sistematizovane na jednom papiru ali sam ga negde zaturio. Kako ja obično znam gde mi šta stoji od tih papira i papirića ;) sad se ubih od traženja. Dakle dok ne prođe frka u školi oko pismenih, nema ništa od pisanja. Valjda će dotad stići i knjiga, a onda ću moći malo sistematičnije i više da napišem u vezi ove teme. Pozdrav, Dragan vgaplot.arj
asembler.111 zddb,
Zar stvarno niko nema MASM 6.0? Zbog par loših sektora na 4. disketi (ADVISOR disk), propali su mi fajlovi, te mi HELP ne radi. Ili mi je možda SYSOP obrisao prethodnu poruku? Zoran D. Brkić
asembler.112 draganf,
Pozdrav svima Pitanje na koje bi mi trebao odgovor , a možda i listing. Kako presretati podatke koji idu prema paralelnom i portu i po potrebi ih mjenjati. Stvar jako potrebna, a nisam baš neki veliki stručnjak za asembler zato napred oni koji u bolji. Dragan
asembler.113 dj.rainovic, -> #92, zmilan
Ako sam dobro razumeo tebi treba kroskompajler za Z80, a onaj u emulatoru ti ne odgovara? Koji je to kompajler ? Da to nije možda m80.com ? Ja sam imao sličan problem i rešio sam ga koristeći SPECTRUM emulator (mislim da je PD) i program GENS koji generiše čist Z80 kod. Ako ti je mučno unositi tekst u Spectrum emulatoru (100% je tako) postoji mogućnost da .asm program napišeš u nekom editoru a posebnim programom tu datoteku prepraviš tako da je Spectrum emulator može pročitati. Taj program sam napisao u TP (tačnije na brzinu sklepao) pa ako ti ovakav pristup odgovara ti reci da ti pošaljem taj program.
asembler.114 adezelin, -> #76, radunovic
>>>>>> 1. Kako se radi sa COM3 i COM4, a ne samo sa COM1, >>>> COM2 >>>> >>>> Ima u r:Drsoft zbirka zz-ovih rutina za rad sa com >>>> portovima 1 i 2. U staroj pc.soft vkostic je ostavio >>>> source sa prepravkama za rad sa com3 i com4. >>> >>> Eto zbog toga treba da imamo direktorijum za Domaci >>> softver. Rad sa COM3 i COM4 ipak zasluzuje da ne bude >>> samo Koj je broj poruke "source sa prepravkama za rad sa com3..." u "staroj pc.soft" konferenciji ? Thanx un-apred!
asembler.115 radunovic, -> #106, obren
Izvinjavam se sto moja poruka ovoliko kasni, ali nisam stigao ranije da je napisem. ?! zato i najbrze) vrsi crtanje tacke: Izracuna se adresa bajta u kome ?! je trazeni pixel u okviru segmenta A000 pomocu sledece formule: ?! ?! adresa pixela = A000:0000 + (Y * horizontalna_rezolucija/8) + X/8. ?! ?! Zatim se vrsi "dummy" citanje sadrzaja ove memorijske lokacije, cime ?! se signalizira VGA karti da sadrzaj 4 bit ravni za ovu adresu spakuje ?! u svoj interni 32-bitni registar. Tek sada nam je moguce da nacrtamo ?! neku tacku (dakle nista jos uvek po video memoriji). Sledeci korak je ?! da se odredi maska kojom se determinise koji od 8 procitanih pixela ?! se menja. To je normalno obicna binarna maska sa jedinicom na ?! odgovarajucem mestu a nulama na svim ostalim. Dakle sve ovo je deo ?! posla koji obavlja sam Mozes li ovaj deo malo da pojasnis. Sta znaci dummy citanje i pisanje. Koliko bita predstavlja jednu tacku(za 256 boja bi trebalo 8 bita). ?! "pipavo" on je brzi od standardne rutine putpixel koju koriste Turbo ?! C i Turbo Pascal. Da ne govorimo o BIOS-u... Ukoliko se u program ?! ugradi inline asemblerska implementacija za sta je dusu dao Turbo ?! Pascal 6.0, dobija se fantasticno brza procedura za crtanje tacke. ?! Mislim da sam pravio u C-u nesto slicno pa cu okaciti o neku sledecu ?! poruku. Ako imas bilo kakav primer i ako stignes, posalji ga.
asembler.116 radunovic, -> #112, draganf
?! Pitanje na koje bi mi trebao odgovor , a mozda i listing. ?! Kako presretati podatke koji idu prema paralelnom i portu i po ?! potrebi ih mjenjati. Stvar jako potrebna, a nisam bas neki veliki ?! strucnjak za asembler zato napred oni koji u bolji. Ako program radi civilizovano(preko interapta) onda je moguce a ako ide direktno sa IN i OUT instrukcijama onda mislim da ne moze. Imas u norton gajdu za masinac mislim da je int 14h pa treba da presretnes taj interapt pri pozivu funkcije za pustanje podataka na stampac.
asembler.117 dragisha, -> #116, radunovic
ű> moze. Imas u norton gajdu za masinac mislim da je int 14h ű> pa treba Interrupt je 17H za printer. dragisha
asembler.118 cacxa,
Jel' može jedan primer kako da stavim slovo u keyboard buffer? To bi trebalo da ide kao : .... xor ax,ax mov ds,ax mov dx,[041c] ; keyboard buffer tail pointer ... ; e ovde meni treba nešto kao mov [ds:dx],ASCII_kod ... ; pa inc dx pa mov scan kod inc dx ...
asembler.119 obren, -> #115, radunovic
> Mozes li ovaj deo malo da pojasnis. Sta znaci dummy citanje i > pisanje. Dummy kao termin ili u kontekstu dummy read/write? Pretpostavljam da ti termin dummy nije poznat, jer mislim da sam u tekstu bio dovoljno jasan. Dummy operacija je neka operacija koja sama za sebe nema neki smisao/svrhu, ali ima neku formalnu ili skrivenu funkciju. Jesi li ikada u C-u napisao nešto poput a=a da bi izbegao upozorenje kompajlera? Znači, dodeljivanje promenljive same sebi je besmisleno, ali te oslobađa onog warninga da se promenljiva ne koristi nigde u programu. Pročitaj tekst malo bolje, verujem da će ti sada biti jasnije. > Koliko bita predstavlja jednu tacku(za 256 boja bi trebalo 8 bita). Da. broj_bitova = log2(broj_boja). > Ako imas bilo kakav primer i ako stignes, posalji ga. Poslao sam ga, verovatno nisi video. Pogledaj poruku 2.110. Pozdrav, Dragan
asembler.120 radunovic, -> #119, obren
Nisam video tu poruku, izvini sto sam te ugnjavio. Hvala na informacijama.
asembler.121 zmilan, -> #113, dj.rainovic
>> Ako sam dobro razumeo tebi treba kroskompajler za Z80, a >> onaj u emulatoru ti ne odgovara? Koji je to kompajler ? >> Da to nije mozda m80.com ? U medjuvremenu sam problem resio sa croos assemblerom X80 i linkerom LINK1 i EPROM programatorom SUNSHINE. Ranije sam koristio GENS i pravi Spectrum. Spectrumova memorija postaje tesna za programe duze od 4KB. Ako te ova problematika interesuje, napisacu ti detaljnije moja isku- stva u radu sa X80.
asembler.122 dj.rainovic, -> #121, zmilan
Hvala ali ja sam se te brige rešio :)))) Morao sam da radim jedan projekat na fakultetu sa Z80 pa sam se mučio sa tim emulatorom.
asembler.123 amiler,
Pozdrav svima, da li neko zna kako mogu da nabavim neki "inteligentni" disasembler, kao Sourcer npr.? Ako neko zna neka mi javi. Hvala, pozdrav Alek.
asembler.124 mjova,
šta se zapravo dešava kad se pritisne ctrl-break? pritisak na ctrl-c je jedno, a ctrl-break drugo... SY
asembler.125 janko,
Upravo sam probao VCS -- CGA emulator Aleksandra Vasića. Mislim da je to JEDINI emulator koji se ispravno bori sa TEXT MOD-ovima sa 40 znakova u redu! Po broju opcija i 'inteligentnosti' da prepozna u kom se modu nalazi program čini mi se bolji od svih meni poznatih emulatora. žestitam autoru na ovom SJAJNOM programu. ========================================= Predlog za sledeću verziju: dodati i 'povešani' ekran, ali da ne 'puni' svaku treću liniju (ostane crna, ali je bar slika veća). Takav emulator već postoji, ali nema ovoliko mogućnosti kao VCS (podržava samo jedan mod).
asembler.126 darone, -> #125, janko
>> Upravo sam probao VCS -- CGA emulator Aleksandra >> Vasića. Ja imam VGA, ali sam sa zadovoljstvom presvičovao kartu u herkules i probao ga. Stvarno je zmaj. žestitke. darone
asembler.127 bbizic, -> #126, darone
Zdravo svima! Vasa ovde. BB mi je dozvolio da se za ovu priliku posluzim njegovim racunom. (Evo ga, upravo se nesto buni zbog ovakvog pocetka, pominje Upravu, Ugovor... stvarno ne znam sta mu bi odjednom. :) Kao prvo, hvala Janku i Daroneu na pohvalama, a Janku i na predlogu (vec sredjeno). Nego, ono zbog cega pisem sve ovo je sledece: Palo mi je na pamet da bih mogao da za potrebe svog CGA simulatora umesto osmice upotrebim INT 70h (IRQ 8) - RT clock interrupt. Da se podsetimo: on se javlja 1024 puta u sekundi, nije dostupan na XT-u (generise ga drugi 8259 PIC koga tamo nema) i po defaultu je iskljucen. Njegova upotreba bi znacila da na AT-u vise nema problema sa igrama koje rezervisu osmicu iskljucivo za sebe: zamislite Elitu na velikom popunjenom ekranu, sa jos manje duhova nego do sad. Nesto o ovoj temi sam nasao u HelpPC-u, ali je to prilicno skrto i neupotrebljivo. Disasemblirajuci AT-SLOW uspeo sam da izolujem dve procedure koje dajem na kraju poruke. Ubacio sam ih u jednu stariju (i mnogo jednostavniju) verziju VCS-a, nesto izmenio rutinu za INT 8 i... RADI! ...skoro. Pokazalo se da je pri prvom startovanju VCS-a posle reseta potrebno enabl70 pozvati dvaput (?) da bi obavio svoj posao: Na adresu 0Bh u CMOS ramu se pri prvom pozivu ne upise sta treba. Kasnije sve radi OK, i iz prve. U cemu je fazon? Gresim li negde? Ima li ovde nekoga ko se vec bavio ovime (ili makar ima literaturu) ? Vasa P.S. Sorry zbog duzine, a evo i procedura: enabl70 proc near cli mov al,0Bh out 70h,al ; port 70h, RTC addr/enabl NMI jmp short loc_2 loc_2: in al,71h ; port 71h, RTC clock/RAM data or al,40h mov ah,al mov al,0Bh out 70h,al jmp short loc_3 loc_3: mov al,ah out 71h,al in al,0A1h ; port A1h, 8259-2 int IMR and al,0FEh out 0A1h,al ; port A1h, 8259-2 int comands sti ret enabl70 endp ; Interesantno je da AT-SLOW poziva enabl70 pri svakom izvrsenju INT 70h ; iako to nije neophodno. Zasto? disbl70 proc near cli in al,0A1h ; port A1h, 8259-2 int IMR or al,1 ; al = 1, inhibit IRQ8 RTC out 0A1h,al ; port A1h, 8259-2 int comands mov al,0Bh out 70h,al ; port 70h, RTC addr/enabl NMI jmp short loc_15 loc_15: in al,71h ; port 71h, RTC clock/RAM data and al,0BFh mov ah,al mov al,0Bh out 70h,al jmp short loc_16 loc_16: mov al,ah out 71h,al sti ret disbl70 endp
asembler.128 janko, -> #127, bbizic
> RADI! ...skoro. Pokazalo se da je pri prvom startovanju > VCS-a posle reseta potrebno enabl70 pozvati dvaput (?) da > bi obavio svoj posao: Na adresu 0Bh u CMOS ramu se pri > prvom pozivu ne upise sta treba. U tim oblastima nemam nekog iskustva, ali, samo kao ideja: Ne sećam se tačno o kojem je čipu bilo reč, ali i gnjusni čipovi imaju neke SW bagove. Jedan drug mi je pričao da init-procedura koja postoji u proizvođačevom katalogu ne odgovara istini, i da upravo mora dvaput da se 'protera' da bi se ostvario željeni cilj. Sam se nisam bavio programiranjem čipova, osim školski (tj. bez praktičnog rada) pa ti ne mogu dati više detalja. A ako je samo to problem, da moraš dvaput da inicijalizuješ nešto, a nema sporednih efekata, bože moj... > hvala Janku i Daroneu na pohvalama, a Janku i na predlogu > (vec sredjeno). Što se kaže, nema na čemu. Meni je samo žao što smo samo nas dvojca to propratili. Sada verujem da je Vasin simulator _apsolutno_ najbolji, i da nema takvog na svetu, jer su Ameri i bogati odavno svi prešli na VGA. Jedva čekam da ga vidim. Mislim da je 'razvučeni nepopunjeni' režim najpogodniji i sa te strane kompatibilnosti, isto kao i 'smanjeni,' i zato što se ne pojavljuju duhovi. Ja ću sasvim sigurno da najviše koristim upravo taj režim. Puno uspeha u daljem radu.
asembler.129 zvonko,
Zdravo! Da li neko od prisutnih zna nešto (ili ima) asembler , simulator ili kros-kompajler za 8-bitni kontroler 8051 ? zvonko
asembler.130 bulaja, -> #129, zvonko
│Da li neko od prisutnih zna nesto (ili ima) asembler , simulator ili │kros-kompajler za 8-bitni kontroler 8051 ? └─── Da li ti nesto znaci ovo (Trickle): directory: CROSSASM name size date desc UASM.ARC 107392 870328 Cross assembler for 8051/6805/Z8, w/'C' src
asembler.131 zvonko, -> #130, bulaja
># Da li ti nesto znaci ovo (Trickle): HVALA, proverićemo ! zvonko
asembler.132 zddb,
Razmenjivao bih iskustva s korisnicima MASM 6.0. Da lije moguće da ovdje svi koriste samo Borlandov Turbo Assembler. ZDDB
asembler.133 mjova, -> #132, zddb
> Razmenjivao bih iskustva s korisnicima MASM 6.0. Da lije > moguće da ovdje svi koriste samo Borlandov Turbo > Assembler. pa vidi, u borlandu možeš lako da se spustiš na nivo MS-a, samo definišeš da nećeš sve pogodnosi ;))). šalim se, ovo je samo mala opaska koja može da bude ratna sekira ;), a hteo sam samo da kažem da nema veze koji je compiler u pitanju, sve je to dovoljno jako za naše potrebe. SY
asembler.134 nbatocanin, -> #133, mjova
> pa vidi, u borlandu možeš lako da se spustiš na nivo MS-a, > samo definišeš da nećeš sve pogodnosi ;))). Nešto mi se ne sviđa taj Borland što mnogo psuje konkurenciju: jeste li čitali uputstvo za TASM? Ono se zove omalovažavanje. Uzgred, kompatibilnost sa MASM ne radi uvek: ja sam probao da ga koristim za Clipper i nije u MASM modu uspeo da prevede EXTENDA.INC. A da Microsoft ne pravi neke programe, slažem se.
asembler.135 vitez.koja,
Da li bi neko mogao da mi napravi asemblersku rutinu za skrol (VGA) grafickog ekrana ? please... Pri tom trebapaziti sa deklaracijama, jer treba da je umetnem u Pascal program Ako neko odluci da me obraduje, neka mi posalje na mail ... vladimir
asembler.136 ivans,
Da li je neko uspeo da izasemblira fajl CTRLALT.ASM, iz paketa CTRLALT.ZIP (ima ga ovde na Sezamu)? Ja sam pokusao, i evo sta mi se dogodilo: Turbo Assembler Version 2.01 Copyright (c) 1988, 1990 Borland International Assembling file: ctrlalt.asm *Warning* ctrlalt.asm(334) Reserved word used as symbol: ENTER *Warning* ctrlalt.asm(356) Reserved word used as symbol: ESC *Warning* ctrlalt.asm(625) Reserved word used as symbol: DISPLAY **Error** ctrlalt.asm(954) Operand types do not match **Error** ctrlalt.asm(979) Operand types do not match *Warning* ctrlalt.asm(1121) Reserved word used as symbol: END Error messages: 2 Warning messages: 4 Passes: 1 Remaining memory: 175k Zanemarimo sada upozorenja, koncentrisimo se na greske - redovi 954 i 979. Tu stoji (na oba mesta) sledece: mov al,cs:stuff[bx] Izgleda da je ovaj stuff[bx] 16-bitan, jer ako se tu umesto al stavi ax - stvar prolazi asembliranje. E, sad, problem je u tome sto se nekoliko redova iznad (isto na oba mesta) nalazi xor ah,ah, tako da nisam siguran da li bi smela da se pise kombinacija sa citavim ax-om (inace sam probao tu zamenu i asembliranje je proslo samo sa upozorenjima). Da li je neko resio ovaj problem (da ne moram da otkrivam toplu vodu ;)? Pozdrav, Ivans.
asembler.137 ppekovic, -> #136, ivans
>> *Warning* ctrlalt.asm(356) Reserved word used as symbol: ESC >> *Warning* ctrlalt.asm(1121) Reserved word used as symbol: >> END Probao sam MASM i izbacio mi je samo ove dve warning poruke. Uradio sam jedno search & replace i sve radi savršeno. Paya P.S. Ne mjovo, neću ja da kažem da Borland ne valja, samo sam hteo da pomognem čoveku :).
asembler.138 ivans, -> #137, ppekovic
> Probao sam MASM i izbacio mi je samo ove dve warning poruke. > Uradio sam jedno search & replace i sve radi savrseno. Hvala, Payo, to zaista skida one "warninge"... Ostalo je jos skinuti "errore" ;). Pozdrav, Ivans.
asembler.139 vbole, -> #136, ivans
> Zanemarimo sada upozorenja, koncentrisimo se na greske - redovi 954 > 979. Tu stoji (na oba mesta) sledece: > mov al,cs:stuff[bx] Stavi: mov al,cs:BYTE PTR stuff[bx] > Izgleda da je ovaj stuff[bx] 16-bitan, jer ako se tu umesto al stavi ax - > stvar prolazi asembliranje. Ne mora da znaci - TASM prijavljuje gresku, bez obzira kako je stuff deklarisan: stuff: db 4000 dup (?) i opet prijavi gresku, iako je stuff deklarisan kao niz bajtova a ciljni registar je osmobitni.To je valjda da bi u startu iskljucili konfliktne situacije. Ipak - bolje da prijavi gresku, a ti lepo ispravis, nego da ne prijavi, a ti se sledeci put stvarno predjes u tipu operanda, pa CRASH... bye... vbole
asembler.140 ppekovic, -> #138, ivans
>> > Probao sam MASM i izbacio mi je samo ove dve warning >> poruke. >> > Uradio sam jedno search & replace i sve radi savrseno. >> >> Hvala, Payo, to zaista skida one "warninge"... Ostalo je >> jos skinuti >> "errore" ;). Ma OK. za warninge, nego se čudi kako radi sa masm-om a ne radi sa tasm-om. Zar tasm ne treba da je 100% kompatibilan sa masm-om? Paya
asembler.141 mjova, -> #137, ppekovic
> P.S. Ne mjovo, neću ja da kažem da Borland ne valja, samo > sam hteo da pomognem čoveku :). nisam ni pogledao ctrlalt.asm, ali ću da ti dam jedan odgovor, mada se asemblerom služim samo kad moram i kad zak nije tu ;) naime, tasm je daleko naprediniji od masm-a, i to po nekoliko stvari: 1) može da se spusti nisko O;> pa da radi kao masm pomoću direktive MASM 2) može da radi kao IDEAL (svoj na svome ;) 3) za programe pisane za masm, ali koji koriste BUG-ove! ;) masm-a treba dati direktivu QUIRKS > *Warning* ctrlalt.asm(334) Reserved word used as symbol: ENTER > *Warning* ctrlalt.asm(356) Reserved word used as symbol: ESC > *Warning* ctrlalt.asm(625) Reserved word used as symbol: DISPLAY > *Warning* ctrlalt.asm(1121) Reserved word used as symbol: END 'enter' - PROCESSOR INSTRUCTION: make stack frame for procedure parameters (sasvim logično da je javio upozorenje) 'esc' - nisam u toku ;) 'display' - ispis teksta na ekran (verovatno u toku prevođenja) 'end' - označavanje kraja izvornog koda dakle 4 rezervisane reči su upotrebljene za druge stvari. ovo je po nivou upozorenje, pa će možda generisani program i raditi nešto ;). što se tiče grešaka, primećujem da je bolje da ih prevodioc javi nego da glumi pamet, a posle da se silno vreme provede u lovu na bubice. SY
asembler.142 ppekovic, -> #141, mjova
>> nisam ni pogledao ctrlalt.asm, ali ću da ti dam jedan odgovor, >> mada se asemblerom služim samo kad moram i kad zak nije >> tu ;) >> >> naime, tasm je daleko naprediniji od masm-a, i to po nekoliko >> stvari: Ni ja se ne služim assemblerom tako često, ali mi nije nekako logično da je tasm bolji od masm-a, a uz pomoć masm-a sve lepo radi tok tasm štuca. :))) Paya P.S. Šalim se malo mjovo, i ja sam do sada svima koji su me pitali preporučivao tasm jer su masm-ove mogućnosti podskup tasm-ovih. Ali ipak mi nije jasno, zašto tasm nije hteo da svari onaj programčić a masm jeste, kad se Borland toliko hvali da je tasm 100% kompatibilan sa masm-om čak i u bug-ovima ;)
asembler.143 ivans, -> #139, vbole
* > Zanemarimo sada upozorenja, koncentrisimo se na greske - * > redovi 954 979. Tu stoji (na oba mesta) sledece: * > mov al,cs:stuff[bx] * * Stavi: * mov al,cs:BYTE PTR stuff[bx] E, Vbole, to je to! Sada ne samo sto radi, nego sam dobio i dva bajta manji program - verovatno se po jedan bajt skine na svakom mestu zbog BYTE PTR-a... Puno hvala na pomoci! * Ipak - bolje da prijavi gresku, a ti lepo ispravis, nego * da ne prijavi, a ti se sledeci put stvarno predjes u tipu * operanda, pa CRASH... Pa, naravno! Ne znam samo kako se i sam nisam setio da stavim byte ptr - verovatno mi nedostaje malo prakse u assembleru... A on, neka samo prijavljuje greske - bolje i to od havarije koju ne moz' da provalis... Pozdrav, Ivans.
asembler.144 janko,
Moram opet da malo hvalim Aleksandra Vasića. Na Sezamu se pojavila verzija 2.0 simulatora za CGA. Osim osobina o kojima sam ranije vać govorio, ima još jednu koju nisam nigde drugde video tako dobro rešenu: vađenje iz kome za programe koji rade 'snow checking.' Ranije, ukoliko biste startovali neki CGA simulator iz Norton komandera, (tako da uđe u neki CGA mod) mogli biste satima da gledate kako iscrtava znak po znak svoj ekran. Vasićev program se i tu izvuče. Ne znam kako mu je uspelo... ali sjajno je.
asembler.145 vbole, -> #144, janko
> Moram opet da malo hvalim Aleksandra Vasica. Na Sezamu se > pojavila verzija 2.0 simulatora za CGA. Osim osobina o kojima I ja bi da se pridruzim, program je stvarno prva liga. Nije mi jasno zasto se ne otvori tema SEZAM:nove.datoteke sa malo detaljnijim opisima novih programa ? Ono iz komandne linije nije zgodno - ako ukljucim log, moram editorom da vadim spisak - a ako ne ukljucim, zaboravio sam cim se odjavim...
asembler.146 nboskovic, -> #145, vbole
*> Nije mi jasno zasto se ne otvori tema SEZAM:nove.datoteke *> sa malo detaljnijim opisima novih programa ? Uz većinu datoteka u Sezamovim direktorijumima ima i long opisa programa, pa se tamo mogu naći malo detaljniji podaci oko programa. *> Ono iz komandne linije nije zgodno - ako ukljucim log, *> moram editorom da vadim spisak - a ako ne ukljucim, *> zaboravio sam cim se odjavim... Zato, kad imaš vremena uradiš jedno dir /a /s /l & tako da ćeš u padu obiti sve datoteke koje se nalaze u direktorijumima koje pratiš sa dugim opisima. Kada to uradiš jedanput, posle samo kada se pojavinova datoteka uradiš za nju da se izlista u dir sa long opisom i stvar rešena. (c) klap nikola
asembler.147 janko, -> #146, nboskovic
>*> Nije mi jasno zasto se ne otvori tema >*> SEZAM:nove.datoteke sa malo detaljnijim opisima novih > programa ? > > Uz većinu datoteka u Sezamovim direktorijumima ima i long > opisa programa, pa se tamo mogu naći malo detaljniji > podaci oko programa. Ali, jedan red ipak nekad nije dovoljan? Ponekad skidam neki program samo da bih pročitao WHATSNEW i konstatovao da nisam morao ni da ga skidam. Samo mala porukica sa opisom programa (čemu služi, šta podržava) i WHATSNEW bila bi dovoljna. Ako moderatore mrzi to da rade, siguran sam da bi bilo dobrovoljaca, ako vi otvorite samo jednu temu? Hmmm?
asembler.148 dejanr, -> #147, janko
>> > Uz većinu datoteka u Sezamovim direktorijumima ima i long >> > opisa programa, pa se tamo mogu naći malo detaljniji >> > podaci oko programa. >> >> Ali, jedan red ipak nekad nije dovoljan? Naravno da nije, zato probaj da otkucaš DIR /L
asembler.149 pstojanovic,
Nasao sam po neverovatno povoljnoj ceni, pre tri dana knjigu "Savremeni 16-bitni mikroprocesori I", autor Mile K. Stojcev & EI istrazivacko razvojni institut u izdanju Naucne Knjige. Knjigu sam kupio u Jugoslovenskoj knjizi (kod palate Albanija) po neverovatnoj ceni od 400 (cetiri stotine) najnovijih dinara. Knjiga sadrzi detaljan opis rada mikroprocesora 8086/85, MC 6800 i Zilog, sa posebnim osvrtom na opis asemblera za Intel 8086 procesor. Knjiga je otprilike dugacka 300 strana teksta.
asembler.150 dnikolic, -> #146, nboskovic
>> Uz vecinu datoteka u Sezamovim direktorijumima ima i long >> opisa programa, pa se tamo mogu naci malo detaljniji podaci >> oko programa. Znaci, ja moram da skinem arhivu od 150 K, da bih video sta ima unutra i pro- citao uputstvo?? A impulsi samo rade tak, tak, tak, tak .... :( dn
asembler.151 dnikolic, -> #147, janko
>> Ako moderatore mrzi to da rade, siguran sam da bi bilo >> dobrovoljaca, ako vi otvorite samo jednu temu? Hmmm? Da, mislim da bi za skoro sve fajlove moralo da postoji fajl sa opisom sadrzaja arhive i nekakvim minimalnim uputstvom. To je par KB teksta, a kad se propusti kroz ARJ nije ni toliko. E sad, ako vas mrzi da to radite, to je druga stvar. Mozda ni ja to ne bih radio za moderatorsku platu! :) dn
asembler.152 ppekovic, -> #151, dnikolic
>> Da, mislim da bi za skoro sve fajlove moralo da postoji fajl sa opisom sadrzaja >> arhive i nekakvim minimalnim uputstvom. To je par KB teksta, a kad se >> propusti DIR ime_arhive /L Paya
asembler.153 stojke, -> #144, janko
> Moram opet da malo hvalim Aleksandra Vasica. Na Sezamu se > pojavila verzija 2.0 simulatora za CGA. Osim osobina o kojima > sam ranije vac govorio, ima jos jednu koju nisam nigde drugde > video tako dobro resenu: vadenje iz kome za programe koji rade > 'snow checking.' Ranije, ukoliko biste startovali neki CGA > simulator iz Norton komandera, (tako da ude u neki CGA mod) > mogli biste satima da gledate kako iscrtava znak po znak svoj > ekran. Vasicev program se i tu izvuce. Ne znam kako mu je > uspelo... ali sjajno je. Kad si vec kod VCS-a 2.0. Ukucam ja: VCS 6 a f+ s+, kad ono puf, nestade slika sa ekrana. Kasnije se ispostavilo da je izgorela neka dioda u monitoru. Zakleo sam se da necu vise nikad da koristim ovaj simulator (jos uvek ga koristim). Pozdrav, Dragan S.
asembler.154 dzakic, -> #153, stojke
> Kad si vec kod VCS-a 2.0. Ukucam ja: VCS 6 a f+ s+, kad ono puf, > nestade slika sa ekrana. Kasnije se ispostavilo da je izgorela > neka dioda u monitoru. Zakleo sam se da necu vise nikad da koristim ovaj > simulator (jos uvek ga koristim). Pa ne misliš valjda da ti je to stvarno VCS skrivio? OK, jasno je da ne, čim ga i dalje koristiš. Ako je dioda već bila toliko dotrajala, isto bi ti se desilo i sa bilo kojim drugim programom koji vrši prebacivanje tekstualni -> grafički mod. Uh, sva sreća da ne koristiš yuherc. :)))
asembler.155 amilanov,
Jedno pitanje : Potreban mi je program koji omogučava pretvaranje *.obj fajlova, u *.asm. Dakle object to assembler converter ! Ako neko ima nešto takvo, bio bih mu VEOMA ZAHVALAN da to isto prosledi ovde ili u mail ! Pozdrav amilanov !
asembler.156 bearboy, -> #155, amilanov
˙¨:> Potreban mi je program koji omogucava pretvaranje *.obj fajlova, ˙¨:> u *.asm. Dakle object to assembler converter ! Ako neko ima nesto ˙¨:> takvo, bio bih mu VEOMA ZAHVALAN da to isto prosledi ovde ili u mail ! Imam nesto sto bi moglo da posluzi. Lepo linkujes taj OBJ, i preko EXE-a predes sa SOURCER-om, koji ce ti vratiti listing za MASM 5.1. Jel' ovo dovoljno dobro ?
asembler.157 amilanov, -> #156, bearboy
> Imam nesto sto bi moglo da posluzi. Lepo linkujes taj OBJ, > i preko EXE-a predes sa SOURCER-om, koji ce ti vratiti > listing za MASM 5.1. Jel' ovo dovoljno dobro ? Imam i ja Sourcer. Moglo bi i tako, ali je malo habasto, i sporo, da ne kažem nepraktično za veće stvari. Stvar je REŠENA, uz pomoć SEZAM-ovih "prijatelja" :)), mjove, duduka, i nbatocanina ! Koristim još jednom ovu priliku da im se od sveg srca zahvalim !!! P.S. Hvala i tebi na ideji ! :))) ! Pozdrav amilanov !
asembler.158 ppekovic, -> #157, amilanov
>> Imam i ja Sourcer. Moglo bi i tako, ali je malo habasto, >> i sporo, da ne kažem nepraktično za veće stvari. Stvar >> je REŠENA, uz pomoć SEZAM-ovih "prijatelja" :)), mjove, >> duduka, i nbatocanina ! Koristim još jednom ovu priliku da >> im se od sveg srca zahvalim !!! Ako bi hteo da nam svima kažeš kako si rešio, mislim da bi mnogima bilo interesantno. Paya
asembler.159 amilanov, -> #158, ppekovic
> Ako bi hteo da nam svima kažeš kako si rešio, mislim da bi > mnogima bilo interesantno. Oprostite zbog malo zakasnelog odgovora. OBJ2ASM je bio potreban jednom članu SEZAM-a koji je zbog vremenskih neprilika, privremeno ostao bez modema. Radi se o Dejanu Djordjeviću, DDJJ na SEZAM-u. Ako Vas nešto konkretnije interesuje, možete mu ostaviti mail. Kako se povremeno javlja siguran sam da će moći da Vam prenese svoje iskustvo. Ja ću samo malo napomenuti par reči, o ćemu se ( i kako :) ) radilo. DDJJ radi na jednom svom projektu, koji uključuje glas u programu, uz pomoć COVOX-ovog VOICE MASTER KEY AD/DA "sound studio-a" :) ! Elem, uz njega ima C-source programe, kao i .obj interne biblioteke za MS C 5.1, i TC 2.0. Kako je bio imao neke probleme kod linkanja, sa BC-om ( sa MS C je sve bilo OK ), i kako su .obj fileovi datirali od 87 godine ( ko je tada znao za BC ;) ) hteo je da, ako je moguće dissasemblira .obj-e, pa da ručno "ispegla" probleme kod linkanja. Kasnije se "problem" rešio tako što su ustvari neke deklaracije promenljivih u sourcovima programa , bile "zastarene" za novu mašineriju BC-a, pa kad je to promenio, sve je došlo na svoje mesto. ( Još jednom je razum pobedio ;) ) ! Inače OBJ2ASM, uradi stvar, uglavnom ko što treba. Pretvori .obj u .asm. Kolko dobro, ne bih mogo da kažem, pošto moje znanje assemblera je veoma skromno ( za razliku od nekih viših jezika ;)) ! ). Sve u svemu, ako Vas nešto više interesuje o svim ovim stvarima .... mail send ddjj !! Puno pozdrava, Milanov
asembler.160 dj.rainovic,
1. Da li neko može da mi kaže gde da nađem dobar helpfile za 8086 asembler (instrukcije, direktive..). Da li ima negde onaj .ng, i ako ima da li vredi (greške ?). 2. Meni bi trebao jedan lep primer kako da analiziram parametre u com. liniji i drugi primer kako da analiziram promenljive okruženja (SET A=B ...) Svaka pomoć je dobro došla.
asembler.161 pstojanovic,
Pokusava
asembler.162 pstojanovic,
Treba mi pomoc. Pokusavam da pomocu dibagera, sa unapred postavljenim registrima uletim na odredjenu prekidnu proceduru. Posto svaki dibager izvrsava komandu INT XX kao posebnu komandu, a ne kao poziv prekidne rutine, napravio sam mali programcic u asembleru koji simulira izvrsavanje unapred zadatog interapta. Medjutim, on dobro skoci na pozivni interapt, ali kada se desi slucaj da se u okviru prekidne rutine izvrsava neki drugi interapt (bas u slucaju za prekid INT 5h - Print Screen, izvrsava se INT 10h funkcija 0Fh-citanje tekuceg video moda za rad ekrana), dibager jednostavno pretrci kompletan program bez zaustavljanja. Mislim, ne dodje do blokiranja programa, sve se izvrsi, ali ostatak prekidne rutine se ne moze pratiti od komande INT YY u prekidnoj rutini. Da li postoji neki debuger koji sam resava ove stvari ? Gde je greska u programu. Program je vezan uz ovu poruku i zove se JMPINT.ASM. HVALA. jmpint.asm
asembler.163 dj.rainovic,
Napravio sam jedan mali rezidentni program za herkules kartice. Program radi sledeću stvar: -čita bajt po bajt text video memorije, provlači ga kroz konverzionu tablicu i ispisuje na isto mesto -program može da napravi razne tablice, a ono za šta ga ja koristim je da yuscii textove vidim na ekranu kao custom 2 -program podržava 1.NONE 2.YUSCII 2.RAžUNARI 3.CUSTOM 2 4.LATIN 2 5.MOJ MIKRO -programu su potrebna 2 podatka: -izvorni kod -odredišni kod ti podaci su upisani u program ali njihova izmena nije teška ako malo pogledate kraj fajla... (u narednim verzijama će biti bolje) tamo se nalaze ovakvi znaci: ->chr(1)<- i ->char(3)<- -program je u toku rada moguće isključiti/uključiti popmoću ctrl+alt+f5 a i to se da promeniti (gore je opisano) -program osvežava ekran 18 puta u sekundi (čitaj: int08) -program za sada nije ispoljio nikakve gluposti -skoro da zaboravim, zauzima tačno 944 bajta RAM-a -program nema proveru svoje instaliranosti -program ne može sam sebe da deinstalira Program hh.com i njegov izvorni kod hh.asm su smešteni u fajlu hh.zip koji se nalazi uz ovu poruku. Jako bih se obradovao svim korisnim savetima u vezi asm fajla. Testirajte i javite šta mislite o ovome. hh.zip
asembler.164 janko, -> #163, dj.rainovic
> Jako bih se obradovao svim korisnim savetima u vezi asm > fajla. > > Testirajte i javite šta mislite o ovome. Za početak, evo ti strateškog saveta! Uskladi ga sa UKRASom. U njemu imaš podršku za jedanaest latiničnih rasporeda. Rezidentnom delu programa bi jedino kopirao formiranu tablicu (koju naprave UKRAS rutine). Napr. program koji ti generiše (verovatno sada puno kraći) .COM može da ti bude na Turbo Paskalu ili C-u. Imaš na Sezamu sorsove i za jedno i za drugo, (TP i C) i što je još bitnije, džabe su, a što je džabe i Bogu je drago. Skini konverenciju SEZAM.2:yu.kod od sredine maja do kraja, i datoteke i poruke, i pročitaj -- svideće ti se. U porukama ćeš naći sva objašnjenja. Ako ti nešto nije jasno od ovoga što sam napisao, pitaj. Ako ne želiš javno, može i na e-poštu.
asembler.165 ciki,
Imam jedno pitanjce. Kažite mi gde mogu da nabavim literaturu za assembler (za MASM 6.0 bi bilo carski), tj. da li je nasa kuca izdala dobru knjigu koja se bavi time. Molim porukicu u MAIL Jedno pitanje ako ima neki clipper-as.Lib clipint koja je pisana na assemleru neće da se linkuje sa demo programom koji ide uz lib. Javlja 2 greške pa molim da mi ih protumačite. 1. Dbgroup zahteva 64K 2. Invalid Stack ... Unapred zahvalan Ciki!
asembler.166 ppekovic, -> #165, ciki
>> Kažite mi gde mogu da nabavim literaturu za assembler >> (za MASM 6.0 bi bilo carski), tj. da li je nasa kuca >> izdala dobru knjigu koja se bavi time. Nisam do dana današnjeg ni jednu knjigu na našem jeziku koja se bavi time što tebe zanima. >> Javlja 2 greške pa molim da mi ih protumačite. >> 1. Dbgroup zahteva 64K >> 2. Invalid Stack ... Pa već sam ti rekao da imaš problema sa memorijskim modelima i da probaš sa drugim linker-om, najbolje rtlink-om. Paya
asembler.167 ciki, -> #166, ppekovic
>> Pa već sam ti rekao da imaš problema sa memorijskim modelima i >> da probaš sa drugim linker-om, najbolje rtlink-om. Poslušao sam te! Ali i rtlink ne prijavljuje ama baš ništa. Ja se obradovao kad EXE program ne radi!!!!!!!!
asembler.168 dnikolic,
Ima li neko MASM 6.0? dn
asembler.169 dj.rainovic, -> #164, janko
Ţ Ţ Za početak, evo ti strateškog saveta! Uskladi ga sa Ţ UKRASom. U njemu imaš podršku za jedanaest latiničnih Ţ rasporeda. Znam ja za UKRAS , ali kada sam počeo ovo da pravim ciljevi su bili sledeći: 1. vežbati programiranje u asembleru 2. napraviti yuscii->custom 2 konverziju 3. program mora zauzimati što maje mesta kad se učita 4. dodati nove kodove , tako da se mogu menjati u toku rada Uz ovu poruku se nalazi h.com, nova verzija. Sada se polazni kod konverzije zadaje preko tastature: ctrl+alt+cifra cifra=1..6 podržani su raporedi: 1.yuscii 2.racunari 3.custom 2 4.latin 2 5.moj mikro 6.rezerva (prepraviti po volji) Program zauzima 1120 bajta Za korišćenje programa potrebno je sledeće: -imati herkules karticu sa ugrađenim yu slovima po nekom od gore pomenutih rasporeda -imati program koji piše po nekom drugom rasporedu (nekom od navedenih rasporeda) Otkucati H.COM p1 p2 p1-polazni (program) p2-odredišni raspored (u EPROM-u) p1 i p2 su cifre 1..6 Ovaj program radi sličan posao kao dzakic-ev yuherc (izuzev što je ovaj brži :) ) Javljajte ako ima problema. h.com
asembler.170 obren, -> #169, dj.rainovic
> Ovaj program radi sličan posao kao dzakic-ev yuherc > (izuzev što je ovaj brži :) ) Nisi u pravu. Tvoj program radi sličan posao kao cconv ili uyu, a sa yuhercom nema previše sličnosti. Jedno je konverzija kodnih rasporeda (tvoj program) a drugo softverski fontovi na herculesu (yuherc). Prema tome, ova dva programa ne rade isti posao pa je samim tim i njihovo poređenje u brzini besmisleno. To naravno ne znači da je tvoj program loš, već samo da si izabrao pogrešan program za poređenje ako si već hteo da mu napraviš reklamu. Pozdrav, Dragan
asembler.171 asrdjan,
> Ima li neko MASM 6.0? Stvarno ako neko ima...
asembler.172 dj.rainovic, -> #170, obren
Ţ Nisi u pravu. Tvoj program radi sličan posao kao cconv ili Ţ uyu, a sa yuhercom nema previše sličnosti. Jedno je Ţ konverzija kodnih rasporeda (tvoj program) a drugo Ţ softverski fontovi na herculesu (yuherc). Prema tome, ova Ţ dva programa ne rade isti posao pa je samim tim i njihovo Ţ poređenje u brzini besmisleno. YUHERC je program koji rešava problem različitih kodnih rasporeda naših slova (ovo piše u yuherc.doc). On to radi koristeći grafiku i soft fontove. Program H.COM rešava problem različitih kodnih rasporeda koristeći već postojeći hardver, jer veliki deo herkules kartica kod nas ima naša slova u EPROM-u. Dakle namena programa je ista. To što YUHERC može da prikazuje razne fontove je svakako njegova prednost, ali ne dovoljno velika za mene da opravda nedostatke takvog rešenja. Namena ovog programa nije da zameni yuherc u takvim potrebama, već tamo gde postoje naša slova u EPROM-u ali po "pogrešnom" rasporedu i gde nije potrebna takva fleksibilnost (promena fonta). Poređenje H i UYU i YUCONV exe nema smisla jer druga dva programa PRERAĐUJU datoteke iz jednog rasporeda u drugi, a prvi je neka vrsta drajvera za herkules karticu. Ako ti uspeš da ubediš UYU da bude rezidentan i da radi ono što radi H imaš piće od mene. ŢTo naravno ne znači da je tvoj program loš, već samo da si izabrao Ţpogrešan program za poređenje ako si već hteo da mu napraviš reklamu. Na osnovu prethodno rečenog nije mi jasno kako si ustanovio da moj program nije loš ? Što se reklame tiče, od nje sigurno neću imati koristi jer NE tražim nikakvu naknadu za program (ako neko hoće da časti, nije red da uvredim čoveka :))) Ovaj program je napisan da sebi malo olakšam rad, a prvenstveno da vežbam rad u asembleru, i zbog toga mi je jako stalo da čujem primedbe i predloge u vezi rada programa. I dalje očekujem primedbe na rad programa. Kao i predloge za doradu.
asembler.173 obren, -> #172, dj.rainovic
> YUHERC je program koji rešava problem različitih kodnih rasporeda > naših slova (ovo piše u yuherc.doc). On to radi koristeći grafiku i > soft fontove. Program H.COM rešava problem različitih kodnih > rasporeda koristeći već postojeći hardver, jer veliki deo herkules > kartica kod nas ima naša slova u EPROM-u. Dakle namena programa je > ista. Za rešavanje problema različitih kodnih rasporeda se takođe koriste i drajveri za tastaturu, font editori, a skoro je bio i predlog za jedan novi standard (UKRAS) koji takođe služi za rešavanje problema različitih kodnih rasporeda. Prema tome, to što yuherc i h.com "rešavaju probleme različitih kodnih rasporeda" ih ne čini uporedivim programima u tom smisli da im možeš meriti brzinu. Ako kod yuherca postaviš naša slova po nekom od postojećih kodnih rasporeda ti, normalno, rešavaš problem naših slova jer ih ranije nisi ni imao. Tvoj program rešava neki drugi problem, a to je neusklađenost teksta koji se pojavljuje na ekranu sa već ugrađenim rasporedom u grafičku kartu, a to dvoje nikako nisu iste, pa ni slične operacije. > To što YUHERC može da prikazuje razne fontove je svakako > njegova prednost, ali ne dovoljno velika za mene da opravda > nedostatke takvog rešenja. To što yuherc može da prikazuje fontove nije njegova prednost nad tvojim programom, već njegova osnovna namena, ali ti to očigledno ne prihvataš. > Namena ovog programa nije da zameni yuherc u takvim potrebama, već tamo > gde postoje naša slova u EPROM-u ali po "pogrešnom" rasporedu i gde nije > potrebna takva fleksibilnost (promena fonta). Prema tome, namena tvog programa je da KONVERTUJE tekst iz jednog kodnog rasporeda u drugi. > Poređenje H i UYU i YUCONV exe nema smisla jer druga dva programa > PRERAĐUJU datoteke iz jednog rasporeda u drugi, a prvi je neka vrsta > drajvera za herkules karticu. Itekako ima smisla (sem u brzini) jer tvojim programom se može čitati datoteka koja nije napisana na kodnom rasporedu koji koristiš a upravo za to je UYU i osmišljen. Ako bi u svoj program uložio još 5 minuta truda, njega bi mogli da koriste vlasnici svih grafičkih karti, pa i VGA (u kombinaciji sa recimo programom foggys ili kako se već zove), pa je on mnogo manje drajver za herkules kartu od yuherc-a. Dovoljno je da u zavisnosti od video moda promeniš baznu adresu video memorije. Ovo shvati kao predlog za proširenje programa. > Ako ti uspeš da ubediš UYU da bude rezidentan i da radi ono što radi H > imaš piće od mene. Da "ubedim" UYU da bude rezidentan ne mogu, jer je "rezidentnost" tvog programa posledica koncepcije za koju si se opredelio, a da ga ubedim da konvertuje tekst ne moram - jer to već radi. > Na osnovu prethodno rečenog nije mi jasno kako si ustanovio da moj > program nije loš ? Ja uopšte nisam ocenjivao tvoj program, već se ogradio, da ne pomisliš da mi se tvoj program ne sviđa pa ti zbog toga prebacujem što ga porediš sa yuhercom. Srž moje poruke je da si (mislio sam slučajno, a sad vidim namerno) uporedio namenu svog programa sa namenom yuherca. Pošto ti još uvek stojiš pri svom stavu da su to u sutini programi vrlo slične namene onda te molim da navedeš koja je to zajednička operacija koju vrše oba ova programa i u kojoj je H.COM brži? Ta te podsetim: >> Ovaj program radi sličan posao kao dzakic-ev yuherc >> (izuzev što je ovaj brži :) )
asembler.174 dj.rainovic, -> #173, obren
Ţ To što yuherc može da prikazuje fontove nije njegova Ţ prednost nad tvojim programom, već njegova osnovna namena, Ţ ali ti to očigledno ne prihvataš. Nije to čisto moj stav, ako nećeš meni da veruješ pogledaj šta piše u pratećoj dokumentaciji za yuherc (šta je namena a šta način rešavanja). Ţ Da "ubedim" UYU da bude rezidentan ne mogu, jer je Ţ "rezidentnost" tvog programa posledica koncepcije za koju Ţ si se opredelio, a da ga ubedim da konvertuje tekst ne Ţ moram - jer to već radi. On konvertuje tekst u datoteci a ne na ekranu i obrnuto h.com konvertuje tekst na ekranu a ne u datoteci i zbog toga nema elemenata da se oni porede, tj. njihovo poređenje je besmisleno. Da bi program konvertovao tekst na ekranu (bilo u ugrađen font bilo u soft font u grafici) MORA biti rezidentan. To nije posledica rešenja (u smislu da može a ne mora) već posledica problema (drugi programi pišu u video memoriju). Da te podsetim, postojeći problem ima dva oblika ispoljavanja: 1. Datoteke sa različitim rasporedom 2. Programi koji pišu na ekran različitim rasporedom Prvi se rešava sa uyu i yuconv. Drugi se rešava:-programiranjem eproma (samo jedan raspored) HERC -promenom fonta EGA, VGA -soft fontovima i translacijom u grafiku (yuherc) HERC -translacijom tekst->tekst u video mem. (h.com) HERC Ţ Prema tome, to što yuherc i h.com "rešavaju probleme Ţ različitih kodnih rasporeda" ih ne čini uporedivim Ţ programima u tom smisli da im možeš meriti brzinu. Ako kod Ţ yuherca postaviš naša slova po nekom od postojećih kodnih Ţ rasporeda ti, normalno, rešavaš problem naših slova jer ih Ţ ranije nisi ni imao. Tvoj program rešava neki drugi Ţ problem, a to je neusklađenost teksta koji se pojavljuje Ţ na ekranu sa već ugrađenim rasporedom u grafičku kartu, a Ţ to dvoje nikako nisu iste, pa ni slične operacije. Preduslovi za rad programa h.com : da u EPROM-u postoje yu slova po nekom rasporedu (uslov je u velikom broju slučajeva zadovoljen) Oba programa se instaliraju kao rezidentni, oba koriste kao ulazne podatke video memoriju za tekst, oba te ulazne podatke pišu u video memoriju. YUHERC koristi grafiku i soft fontove. H koristi tekst i ugrađene znake u EPROM. Kao posledica prihvaćenih rešenja h mora biti brži (čak i onda kada yuherc nema šta da konvertuje, h je brži). Ako ti to nije dovoljno kao dokaz o sličnosti namena, ja ne znam šta jeste. Kao primer problema i rešenja mogu se uzeti procesori teksta. Ima onih koji rade u tekst modu, i onih koji koriste grafiku, pa ipak i jedni i drugi se koriste kao tekst procesori i niko ne osporava njihovo poređenje. Ţ Ako bi u svoj program uložio još 5 minuta truda, njega bi Ţ mogli da koriste vlasnici svih grafičkih karti, pa i VGA Ţ (u kombinaciji sa recimo Hvala što se trudiš da daš predlog, ali tih 5 minuta bi bili apsolutno uzalud bačeni u situaciji kada postoji mnogo bolje rešenje za VGA (foggy). žitajući tvoju poruku imao sam osećaj kao da ne pričamo o istom programu, zbog toga bih ti postavio pitanje: da li si ti uopšte skinuo i pokrenuo taj program ? Ako nisi dalja diskusija je nepotrebna.
asembler.175 mjova, -> #174, dj.rainovic
> Nije to čisto moj stav, ako nećeš meni da veruješ pogledaj > šta piše u pratećoj dokumentaciji za yuherc (šta je namena > a šta način rešavanja). i bre, baš si dosadno nerazuman, a pošto vidim da ti obren nije dovoljan, moram i ja da ti kažem da si preterao. kad ćeš ukapirati da yuherc nema teorije porediti sa nekakvim on-line konvertorom teksta?! pa ako sam se ja opredelio za custom 2, zašto bih čitao tekstove koji su pisani drugim rasporedom? jednostavno startujem cconv i više ne razmišljam o čemu se radi. nemam nameru da se upuštam u to da li nekome treba to što si ti napisao i takođe ne želim da negiram tvoj rad i trud, ali smešnim pokušajem da porediš yuherc sa online konvertorom teksta omalovažavaš ono čemu svi skidaju kapu! moraš prihvatiti da je složenost yuherca daleko od konvertora i da je funkcija sasvim drugačija! yuherc *NE*KONVERTUJE* ništa, on *OMOGUĆAVA* prikazivanje naših slova, po nekom kodnom rasporedu na hekulesu. iz ličnog iskustva znam da se kod nas u herkulesu uglavnom nalaze naša slova po YUSCII rasporedu, a svi dobro znamo da je to ogromna glupost, pa i mnogi koji imaju naša slova u epromu herkulesa koriste yuherc da bi mogli da se reše te bede. e, sad, da li nekom treba konverzija teksta u toku prikazivanja na ekran to me ne zanima, ali moram priznati (pošto imam vga) da se upravljač tastature i vga za naša slova (foggy) kod mene instalira pri butovanju, pa meni lično više odgovara da konvertujem tekst pre ulaska u program LIST. stvar ukusa. i na kraju da rezimiram slikovito: yuherc -> ne konveruje ništa -> omogućava prikazivanje naših slova na herkulesu po BILO kom kodnom rasporedu (dakle, i ako ih nemaš, ona se vide, ne mogu ovo da pojasnim drugačije) -> upravlja tastaturom pa se vrlo lako imitiraju raspredi 'naše' i 'usa' tastature h -> 'u radu' konvertuje tekst iz jednog u drugi kodni raspored (a yuherc to ne radi!) -> ne omogućava prikazivanje slova, već samo ako postoje u EPROM-u -> nije upravljač za tastaturu šta još treba reći? pa treba reći da ako neko ne vidi, ni u jednoj od tri glavne osobine ne postoje sličnosti, dakle poređenje nema smisla. ovo je klasičan primer zadataka iz tautologije. SY
asembler.176 obren, -> #174, dj.rainovic
> Nije to čisto moj stav, ako nećeš meni da veruješ pogledaj šta piše > u pratećoj dokumentaciji za yuherc (šta je namena a šta način > rešavanja). YUHERC je program koji je razbio famu o tome kako se na herkulesu ne mogu dobiti soft fontovi. Priseti se recimo naslova u Računarima (Herkules mekog srca). Takođe i na Sezamu u opisu programa stoji 'Soft fontovi na herkulesu' a ne "Yu slova na herkulesu". Sasvim je razumljivo da će se u dokumentaciji program predstaviti uglavnom kao rešenje za yu slova za herkules kartice koje ih nemaju ugrađene, jer će ga potencijalni kupac najviše za to koristi, kao u ostalom i skoro svaki program u vezi sa fontovima kod nas. > žitajući tvoju poruku imao sam osećaj kao da ne pričamo o istom > programu, zbog toga bih ti postavio pitanje: da li si ti uopšte > skinuo i pokrenuo taj program ? Ako nisi dalja diskusija je > nepotrebna. Probao sam ga na VGA u modu 7 sa aktiviranim soft fontovima, što mu dođe isto kao i pokretanje na herkulesu sa yu slovima u epromu. Jedina primedba koju imam ti je poznata - smatram da nije pošteno porediti u brzini program koji omogućava yu slova sa programom koji konvertuje yu slova. Nema problema, smatraš da si u pravu - to isto mislim i ja, ali nema potrebe da dalje vodimo raspravu zbog jedne takve sitnice. Pozdrav, Dragan
asembler.177 mjova,
treba da malo brljam po programu koji traži puno memorije, a turbo debug-er je malo nezgodan jer ne ostavlja dovoljno mesta. postoji li nekakva mogućnost da se startuje tako da imam više slobodne memorije. kad se startuje td zauzima oko 260kb, to je mnogo... možda neki drugi, manji debuger?
asembler.178 ppekovic, -> #177, mjova
>> treba da malo brljam po programu koji traži puno memorije, >> a turbo debug-er je malo nezgodan jer ne ostavlja dovoljno >> mesta. postoji li nekakva mogućnost da se startuje tako >> da imam više slobodne memorije. kad se startuje td zauzima >> oko 260kb, to je mnogo... TD bi morao da ima opcije za rad sa ext/ems memorijom. Evo sta Microsoft CodeView nudi: /D Use Disk Overlays /E Use Expanded Memory /X Use Extended Memory Paya
asembler.179 prvul, -> #177, mjova
Ůtreba da malo brljam po programu koji traži puno memorije, a turbo Ůdebug-er je malo nezgodan jer ne ostavlja dovoljno mesta. postoji li Ůnekakva mogućnost da se startuje tako da imam više slobodne memorije. Ůkad se startuje td zauzima oko 260kb, to je mnogo... Ů▄▄ Ako možeš da nađeš još jednu mašinu, pa REMOTE opcija...
asembler.180 bearboy, -> #178, ppekovic
˙¨:> TD bi morao da ima opcije za rad sa ext/ems memorijom. Evo sta Microsoft ˙¨:> CodeView nudi: Pa i ima. Ne znam sto ga nije doticni setovao..
asembler.181 bulaja,
**** new file **** \ibmpc\program **** amisl083.zip Alternate Multiplex Interrupt Specification Library Public Domain 1992 Ralf Brown Version 0.83 LastEdit: 5/2/92 Advantages of AMISLIB: totally free adds only 1K to the executable -- TSRs can be less than 1.4K on disk and as little as 128 bytes in memory up to 256 AMIS-compliant TSRs can be resident simultaneously with no interrupt conflicts resultant TSR can load itself into high memory (either MSDOS 5 upper memory blocks or XMS upper memory blocks); the user has control over where TSR is allowed to load: high only, low only, or high first then low; high memory may use either the first or the best UMB; low memory may use either the low end or the high end of conventional memory. TSRs using AMISLIB or other AMIS-compliant code can be unloaded in any order, and can be unloaded by programs other than the TSR's original executable
asembler.182 obren,
Da li smem da oslobodim alociranu memoriju koju zauzima prekopirani environment pošto on programu (TSR) ni zašta ne treba? Recimo: po startu programa nađem u PSP-u na ofsetu 2Ch adresu alociranog segmenta u kome je ta kopija env. i onda ga otkačim funkcijom 49h? Znam da time nastaje rupa u memoriji, ali u nju može taman da stane isti taj environment za sledeći program koji se posle startuje, za šta je DOS dovoljno pametan, pa je ipak ušteda ako se izbaci kad već ne treba programu. Sve ovo sam i uradio i nisam naišao na probleme, ali ipak molim za savet ako neko ima iskustva sa ovim?
asembler.183 gbiocic, -> #182, obren
Hi, > Da li smem da oslobodim alociranu memoriju koju zauzima prekopirani > environment pošto on programu (TSR) ni zašta ne treba? Recimo: po startu > programa nađem u PSP-u na ofsetu 2Ch adresu alociranog segmenta u kome Da, ja radim isto i no problem. Uradim to neposredno pre TSR f-je. Rupa koja nastane kao što si primetio nije baš nekorisna, mada štrči. Rešenje je da pretvoriš TSR-a u sisoja (SYS), tako radim odnedavno. Mada, nisam još probao kako u tom slučaju radi Uninstall f-ja? Nešto se mislim (hej, moderatore!) da se izdvoji tema TSR, ima tu vazda problema. Ili da neko potegne grupu MANIACS. pozdrav, gb
asembler.184 mjova, -> #183, gbiocic
> Mada, nisam još probao kako u tom slučaju radi Uninstall > f-ja? pa onda možeš napraviti neki program koji će menjati potrebno sa komandne linije? nešto slično koristi HYPER, mada je .exe.
asembler.185 obren, -> #183, gbiocic
> Da, ja radim isto i no problem. Uradim to neposredno pre TSR f-je. Ok, hvala puno!
asembler.186 kzoran,
Ljudi, zna li neko nacin da utvrdim radi li racunar sa 80486? Sve do 386 mi je jasno, ali dalje... Pozdrav, Zoran.
asembler.187 dejanr, -> #186, kzoran
Imaš program koji određuje tip procesora (pa i 486) u "Bajtovima lične prirode", mislim u januarskim ili decembarskim "Računarima".
asembler.188 kzoran, -> #187, dejanr
>Imaš program koji određuje tip procesora (pa i 486) u "Bajtovima lične >prirode", mislim u januarskim ili decembarskim "Računarima". Hvala, Dejane, potrazicu! Pozdrav, Zoran.
asembler.189 dzakic, -> #182, obren
>> Da li smem da oslobodim alociranu memoriju koju zauzima >> prekopirani environment Mislim da nema nikakvih problema. Odavno u TSR programima brišem taj delić i nikome se nikad nije desilo ništa loše. Nemam stručnije objašnjenje, ali zašto bi uopšte nekom drugom trebala kopija environmenta ako već ne treba tvom programu?
asembler.190 snowwhite, -> #187, dejanr
-> Imaš program koji određuje tip procesora (pa i 486) u -> "Bajtovima lične prirode", mislim u januarskim ili -> decembarskim "Računarima". Nakon probe na jednoj 486-ci (DX) taj program iz BLP mi daje : > This system has a i486 mp and a i487SX co-pr... ?????? Nije baš tako tačan :((( pozdrav, snow
asembler.191 dejanr, -> #190, snowwhite
>> Nakon probe na jednoj 486-ci (DX) taj program iz BLP mi daje : >> This system has a i486 mp and a i487SX co-pr... ?????? Hmm... čudno, to je zvaničan program koji Intel u tu svrhu distribuira. Al valjda niko nije savršen ;)
asembler.192 obren,
Jeste li znali da dosova funkcija 56h (rename) ume da "muva" fajlova i manja imena direktorijuma? Mislio sam da 4dos to radi direktno na disku, a on u stvari samo zna da koristi ono što postoji za razliku od komandosa...
asembler.193 dejanr, -> #192, obren
>> Jeste li znali da dosova funkcija 56h (rename) ume da "muva" fajlova i >> manja imena direktorijuma? Daaaa... ali i dalje nema odgovora na moje "višegodišnje" pitanje - kako napraviti program koji čita/postavlja datum kreiranja direktorijuma? Jedino do sada predloženo rešenje je da se čitaju direktorijumi direktno sa diska, pa "prčka" po njima, ali je to dosta gadan (a povremeno i opasan ;) posao, prosto neverovatno da to ne može nekom "prečicom".
asembler.194 obren, -> #193, dejanr
> Daaaa... ali i dalje nema odgovora na moje "višegodišnje" pitanje - > kako napraviti program koji čita/postavlja datum kreiranja direktorijuma? Ne znam za postavljanje, ali čitanje može sa findfirst/next + unpacktime.
asembler.195 janko, -> #194, obren
>> kako napraviti program koji čita/postavlja datum > kreiranja direktorijuma? > > Ne znam za postavljanje, ali čitanje može sa > findfirst/next + unpacktime. Jes. A postavljanje -- ne može pozivanjem DOS interapta... bar dok se ne pojavi GNU MS DOS :) Kad smo kod DOSa: Sad mi je jedan drug (verovatno budući Sezamovac) ispričao kako Španci i Latinoamerikanci prevode MS DOS sa španskog (jer misle da je to ime za Špance) na Engleski -- MS TWO. Na španskom je DOS -- broj dva. Mali meki dva :) OS/2 je naravno OS DOS :)
asembler.197 dejanr, -> #195, janko
>> Jes. A postavljanje -- ne može pozivanjem DOS interapta... bar >> dok se ne pojavi GNU MS DOS :) Verovatno, ali opet... na BIX-u mi je čovek koji je pisao onu čuvenu knjigu "nedokumentovani dos" rekao da misli da postoji i poziv za to. Kada sam pitao koji, rekao je da će pogledati i izgleda još gleda...
asembler.198 dzakic,
[Odgovor SEZAM.3:yu.kod, 9.120 janko] >> Možda nije za ovu konferenciju, ali, kakvi su rezultati >> kada staviš instrukciju za segment overrajd ispred lodsb? Vidiš, uopšte mi nije palo na pamet da se lodsb-u može reći da ne koristi ds. Mislio sam da je obavezan. Rezultat je pri prevođenju datoteke na ramdisku sa 1.81 pao na 1.76, što je oko 3% sporije. Ostavio sam ipak dve procedurice za dve vrste konverzije. Nisu posebno velike, dvadesetak bajtova.
asembler.199 janko, -> #198, dzakic
>>> Možda nije za ovu konferenciju, ali, kakvi su rezultati >>> kada staviš instrukciju za segment overrajd ispred > lodsb? > > Vidiš, uopšte mi nije palo na pamet da se lodsb-u može > reći da ne koristi ds. Mislio sam da je obavezan. :) Zato sam te to i pitao. > Rezultat > je pri prevođenju datoteke na ramdisku sa 1.81 pao na > 1.76, što je oko 3% sporije. Ostavio sam ipak dve > procedurice za dve vrste I da li je to brže od onog sa MOV? To me je zanimalo. Nemam kod sebe one tablice sa instrakšn tajmingom, ali je baš zanimljivo ako je lodsb brži od običnog MOV?
asembler.200 ilotina,
HI! Evo imam jedan mali problemcic, mada cete ga vi iz prve resiti:) Evo programa: DATA SEGMENT ORG 10000 tex DB 'Ovo je test',13,10 DATA ENDS CODE SEGMENT mov ah,09h mov dx,offset tex int 021h CODE ENDS Sta ovde nevalja, stalno mi se comp zaledi:((( Pozdrav Ivan! P.S. A bio sam siguran da ce da proradi iz prve;)
asembler.201 asrdjan,
Početnik sam u asembleru pa će moje pitanje i biti početničko.Zašto mi ML javlja poruke 'no stack segment' i 'program has no starting adress'.Reč je o programu za programiranje zvučnika koji je napisao dzakic,program je prepisan iz Računara 81.
asembler.202 ivans, -> #200, ilotina
Dodaj jedan "dolar" :) na kraj teksta koji hoćeš da štampaš, ovako: tex DB 'Ovo je test$',13,10 i trebalo bi da proradi... Pozdrav, Ivans.
asembler.203 ivans, -> #202, ivans
Naravno, ja ne bih bio ja kada negde ne bih zabrljao. U stvari, zaboravio sam da ono 13,10 označava CR+LF. Dakle, onaj dolar treba da dođe iza svega toga.
asembler.204 dejanr, -> #201, asrdjan
Ako praviš COM datoteku (EXE2BIN) onda *i treba* (tj. i mora) da ne bude stek segmenta jer je čitav program u jednom segmentu.
asembler.205 dragisha, -> #200, ilotina
ű> mov dx,offset tex ű> int 021h mov ah, 4Ch int 21h ű> CODE ENDS Ne koristim ASM, ali bez ovoga sigurno neće raditi:) dragisha