Prodleva po spuštění dosovského programu v xp

44 odpovědí řadit od nejnovějších

15. 4. 2025 • 0:33

Používám překladač ASM51 z dosu na XP. Vše funguje spolehlivě, jen při spuštění dávky s překladem se cca 10 sekund nic neděje a pak je vše hotovo za okamžik. Bylo i krátké období, kdy vše proběhlo okamžitě. Ostatní dávky třeba na nastavení portu a odeslání dat reagují taky hned. Používám nastavování proměnných a virtuální disky, ale pokus bez těchto funkcí nic neřeší. Navíc v období, kdy to šlo bez zpoždění jsem tyto funkce využíval. Dost to při zkoušení otravuje. Děkuji všem za rady. Igor

15. 4. 2025 • 8:02

Možná by se hodilo napsat, jaká dávka to je.

15. 4. 2025 • 13:57

Dávky používám složitější s nastavením virtuálních disků, ale to nemá vliv na daný efekt.CLSECHO > XX.TE:\AB\A51.EXE AB.A51 > X.TE:\AB\L51.EXE AB.OBJ TO AB.ABS E:\AB\OH51.EXE AB.ABSPAUSEX.TMS-DOS MCS-51 MACRO ASSEMBLER A51 V5.02COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 1995ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)

15. 4. 2025 • 11:24

Pokud je klasický bat DOS tak se dá dat pause na konec souboru a podívat se na výpis na konzoli jestli neinformuje o nějakém problému než okno konzole zmizí. Případně pokud je tím bat spouštěn nějaká exe, com zkusit přesměrovat stdout do souboru jestli nevypisuje problém xxxx.com > soubor.txt

15. 4. 2025 • 11:57

A treba zakomentovat "echo off". 🙂

15. 4. 2025 • 12:22

pod winxp mužeš zkusit dosovské programy spouštět v DosBoxu nebo x QUEmu nebo VirtualPC nebo VMWare že si do něj nainstaluješ msdos asi verzi 7.1 kvuli ovladačum USB další možnost je místo překladače ASM51 pro dos si stáhnout překladač ASM51 pro windows což by asi bylo mnohem rozumnější .. nejspíš od Atmelu (teď microchip) nebo si stáhnout celý IDE 8051 např. pro Eclipse nebo VSCode nebo pro SDCC https://sdcc.sourceforge.net/ nějaký IDE třeba XideSDCC Xanadu nebo někde sehnat Keil nebo IAR nebo tohle: https://en.wikipedia.org/wiki/MCU_8051_IDE nebo je docela dobrý Batronix Prog-Studio ale free je jen do 2KB flash, jinak 80Euro. atd atd. ... není jasný co s tim ASM51 chceš dělat ...

15. 4. 2025 • 14:22

Daný překladač používám, protože v něm občas píšu už více jak 35 let a mám mnoho programových modulů, které nemusím přizpůsobovat syntaxi jiných překladačů. Před časem jsem nějaký zkoušel a ten neumožňoval ani linkování více modulů. Někdy jich mám i 7. Více mi nechce ani tento brát. Pod dosem jsem používal i 8 s tímto překladačem. To není problém, dám něco k jinému programu a pak vybírám podle cfg souboru podmíněný překlad. To mi vše dobře funguje, tak se mi to nechce měnit. Navíc vím, že to za nějakých okolností funguje, jen nevím co tomu vadí.Zatím to je menší zlo, než vše předělávat. Vyzkouším ještě Dosbox a uvidím, co to udělá. Pokud bude mít ještě někdo radu, napište.Děkuji všem Igor

15. 4. 2025 • 17:22

Zkoušel jsem DosBox a tudy cesta nevede. Omezení jsou příliš neschůdná. Další zase neumožňuje více modulů, tak do jiných systémů raději nepůjdu. Zatím je " jen otravné čekání " asi nejmenší překážka a to vydržím, než se podaří najít příčinu.Děkuji všem za ochotu. Igor

18. 4. 2025 • 13:34

Jaká omezení má DosBox ??? Ještě poměrně nedávno jsem v něm pokračoval v údržbě starých programů v Turbo Pascalu pro MS DOS.

15. 4. 2025 • 17:32

Není možné, že by DOS měl v danou chvíli k dispozici málo RAM a tak čeká, až mu ji Windows XP obstará? Třeba je toto ta prodleva. Ale to asi nemáte otevřeno X dalších aplikací, že?

15. 4. 2025 • 17:58

V době, kdy něco píšu mám otevřený jen Total cmmander, ze kterého to spouštím. Někdy i nějaké PDF, ale problém je neustále stejný. Navíc pod dosem vše jelo na PC386 s 1MB RAM a spouštěno to bylo z Norton commandru a ještě tam běžel Fordos. Tohle asi cesta nebude. Teď jsem se díval a je tam jen 2GB RAM, což asi nebude úplně moc. Nevím, kolik toho XP potřebují, ale nikdy za roky používání jsem nenarazil na nedostatek RAM. Raději se podívám, jestli tam nejede něco zbytečně. Nevím co všechno systém dělá, ale myslím si, že přidělení paměti by mělo při CPU 2,8GHz trvat max v řádu mS. Uvidíme.Igor

15. 4. 2025 • 18:40

Win XP zožerie bez prehliadača a antiviru pod cca 500 MB.

16. 4. 2025 • 6:53

Mohl by to brzdit HDD, že kterého se má číst nebo zápis výsledku překladu?

16. 4. 2025 • 7:55

sice píšeš dávka, ale to může být .bat nebo .cmd ...pokud používáš .bat, zkus co to udělá po přejmenování na .cmd, mohlo by se to chovat jinak ...

16. 4. 2025 • 9:29

Dávkový soubor jsem zkusil přejmenovat, ale žádná změna. Nejspíše tam bude nějaký problém přímo ve spouštění EXE překladače. Zkoušel jsem to spouštět z příkazového řádku, co je v XP i z příkazového řádku Total commandru. Vše se chová naprosto identicky. Pak jsem zkoušel vyměnit překladač, který je trochu méně kmfortní a nemá některé funkce a chová se to taky úplně stejně. Asi tyto programy potřebují po XP něco neobvyklého. Spuštění linkeru a dalších programů proběhne okamžitě. Asi bych to neřešil, kdybych neviděl, že to dokáže běžet i bez toho zdržování. Dávku používám BAT, ale přípona to taky neřeší. Zjednodušená dávka i její výpisy jsou jako odpověď na začátku tohoto vlákna. Nejspíše tam bude nějaká blbost, jenže nikdo neví kde. Děkuji všem za snahu mi poradit. Igor

17. 4. 2025 • 12:15

A nedokázali by s tou blbostí poradit na Keil fórum?

17. 4. 2025 • 11:29

Napadlo Vas, pouzivat v roce 2025 nejake moderni nastroje?Doba proste pokrocila.

17. 4. 2025 • 11:47

Kdyby jste si přečetl celé vlákno tak byste se dověděl že napadlo a taky tam máte napsané proč nevyhovují

17. 4. 2025 • 13:15

Tvé důvody jsou ale naprosto liché a nesmyslné...

17. 4. 2025 • 13:38

To nejsou mé důvody, ale důvody tazatele, já tazatel nejsem (nicméně důvod "pracuje se s tím hůř a míň efektivně než s novým softwarem" mi přijde celkem relevantní).

17. 4. 2025 • 13:46

Nevím, kde Igor psal "pracuje se s tím hůř a míň efektivně než s novým softwarem", ale pak ano. To je určitě dobrý důvod přejít na nový software.

18. 4. 2025 • 5:20

Odpověď je jednoduchá. Jsem 60+ a od mládí píšu v assembleru, napřed 8080 pak 8051. Programování ve vyšších jazycích mi nesedí. Mám hodně programových modulů, které využívám při sestavování svých nových programů, tak mi to jde docela snadno. Taky jsem si za mnoho let nashromáždil dost různého HW s procesory Atmel. Proto mi tento způsob občasného programování vyhovuje a není důvod to měnit. Proto jsem oprášil starý PC, který má ještě XP vhodný pro dosovské programy. Jináč na net mám Windows 10, nebo mobil. Když si chci udělat nějakou vychytávku ke včelám nebo do modelařiny ( RC letadla), není potřeba moderní procesor a k němu shánět knihovny. Tady si vše napíšu přesně na míru a použiju domácí zásoby. Občas něco přikoupím jako EEPROM nebo čidla. Takže žádná raketová věda. Děkuji všem za rady. I když se tento problém nevyřeší, nebude to důvod zásadních změn.S pozdravem Igor

18. 4. 2025 • 19:33

Cau,taky delam s Assemblerem, jenom nechapu proc potrebujes vsechno rozjizdet na XP?V dnesni dobe je VMware Workstation zadarmo, tam si zalozim VM s XPckama ne? Nebo s cimkoliv.

18. 4. 2025 • 11:53

hele prde dej někam jako ZIP ty tvoje AS51 programy at to mužu zkust ... treba na fastshare ...

19. 4. 2025 • 11:56

Už jsem to poslal do ÚSCHOVNY. Na velikosti kódu ani na počtu modulů to nemá žádný vliv, proto posílám jen takový drobek. Nemá to ani vliv při používání virtuálních disků SUBST. Díky za tvou ochotu IgorSE6MWFBVXEWPBU3T-L7D

18. 4. 2025 • 11:53

Kompatibilita s DOSem a zpětná emulaceNa Windows XP sice DOS programy běží nativně, ale pořád může docházet ke zpožděním kvůli:NTVDM (NT Virtual DOS Machine) – někdy má problém s inicializací, zvlášť pokud máš antivir nebo některé systémové služby aktivní.Některé dávkové soubory čekají na timeouty nebo zdržení způsobené inicializací síťových jednotek, pokud jsou použity.Vyzkoušej testovací dávkuZkus do dávky přidat příkaz typu:echo Spouštím překlad...echo %TIME%ASM51 program.asmecho %TIME%Tím uvidíš, jestli zpoždění nastává před spuštěním ASM51, nebo až uvnitř samotného překladače.Prověř antivirový software / DefenderAntivir může u starších EXE z DOSu dělat tzv. "on-access scan" a zpomalovat spuštění. Dočasné vypnutí, nebo výjimka pro ASM51.EXE, může pomoct.

18. 4. 2025 • 14:35

Děkuji za odpověď Podívám se na zrušení antiviru, stejně PC není na netu, tak to nebude vadit. Zkusím i měřt čas, s tím jsem ještě nikdy nic nezkoušel. Pro kolegu, co mě oslovil prde, nevím kam ty zazipované soubory poslat. Dá se to přidat sem jao příloha. Neznám to tady, jsem tu poprvé.Děkuji Igor

18. 4. 2025 • 15:35

Sem se zadne prilohy vkladat nedaji. Ale v radu sekund je muzete dat na libovolny cloud nebo sdileci sluzby ala leteckaposta, uschovna,.. a sem pak dat odkaz.

18. 4. 2025 • 16:29

Tyhle věci jsem ještě nepoužil, tak se na to podívám. Zkoušel jsem zatím jen odstavit Avast, ale žádný efekt se nedostavil.Igor

18. 4. 2025 • 18:37

dej to na fastshare nebo na www.uschovna.cz a vlož sem odkaz ...

18. 4. 2025 • 20:43

Jak velký kód píšeš? Jestli se vejdeš do 2KB kódu, tak si normálně stáhni aktuální Keil C51 a jeď v něm.https://developer.arm.com/Tools%20and%20...eil%20PK51

19. 4. 2025 • 10:30

S délkou kódu to je velmi různé, ale často i kolem 5 KB. Prodleva není tak zásadní problém, abych měnil překladač, který mě bude omezovat. Navíc neznamená to C, že je to Céčko a ne Assembler?Igor

19. 4. 2025 • 13:30

Proč bys měnil překladač, když je to ten samý akorát o třicet let aktuálnější?A zeptám se tě, v označení 80C51 to C znamená, že se to MCU programuje v céčku?Nevymýšlej kraviny a radši se na ten odkaz podívej.

19. 4. 2025 • 13:47

8051 je vyráběný NMOS technologií, 80C51 CMOS technologií.

19. 4. 2025 • 14:48

To C v označení je CMOS technologie. Soubor instrukcí je pro všechny stejný. Některé vyšší odvozené procesory mají i několik dalších registrů a někdy i spec. instrukce. Například při označení 52 znamená větší RAM a druhý časovač a ještě něco navíc. Pokud mají v označení S, tak je možné programovat ISP, to je přes 3 dráty v aplikaci. Vyšších klonů je mnoho, ale ty nepoužívám. Vystačím si s AT89C2051, 4051, AT89S52. Někdy samostatně jindy s externí RAM. Periferie často přes I2C, SPI, UART a podobně.Pro mé potřeby vyhovuje.Igor

19. 4. 2025 • 12:41

Dnes jsem změřil podle zdejší rady kolik trvají časy při překladu. Výsledný kód je asi 960 bytů. Prví modul B13_01 je krátký, je z něj jen 156 bytů. Přikládám kompletní výpis i spouštěcí dávku pro přehled.SET RAM=RAMSIZE(256)SET XP1=P:\B13_01SET XP2=L:\LCDSET XP3=L:\SIOSET XP4=L:\MONecho %TIME%S:\A51 %XP1%.A51echo %TIME%S:\A51 %XP1%.A51echo %TIME%S:\A51 %XP2%.A51echo %TIME%S:\A51 %XP3%.A51echo %TIME%S:\A51 %XP4%.A51echo %TIME%S:\L51 %XP1%.OBJ, %XP2%.OBJ, %XP3%.OBJ, %XP4%.OBJ TO %XP1%.ABS %RAM%S:\OH51 %XP1%.ABSVýpis překladu:E:\A52\A52_PRJ\B13_01>CLSE:\A52\A52_PRJ\B13_01>SET RAM=RAMSIZE(256) E:\A52\A52_PRJ\B13_01>SET XP1=P:\B13_01 E:\A52\A52_PRJ\B13_01>SET XP2=L:\LCD E:\A52\A52_PRJ\B13_01>SET XP3=L:\SIO E:\A52\A52_PRJ\B13_01>SET Ukázat celý příspěvek

19. 4. 2025 • 13:02

Přehoď pořadí překladů (modulů) ... 1. modul trvá výrazně víc, než ostatní.To může být tím, že je výrazně delší nebo tím, že se překladač "natahuje" do RAM, při dalších překladech už tam je.

19. 4. 2025 • 13:06

Mimochodem, co tě omezuje v DosBoxu ??? Takovéhle prográmky (pár kB) ??? Já tam jel programy až 158 kB dlouhé, z několika modulů.

19. 4. 2025 • 13:43

První modul trvá vždy dlouho, i když má jen pár řádků. Na velikosti nezáleží. I když má jen, 3 instrukce, bude tam rozdíl v mS. Tam se něco děje před překladem. Vzal jsem i jiný překladač, který je méně komfortní a trvalo to dlouho taky. Zajímavé je to, že když jsem si převedl programování na tento PC tak od začátku bylo zpoždění, pak to fungovalo několik dní rychle a pak zase zpoždění a tak to už zůstalo. Proto si myslím, že by to mohlo být odstranitelné. Uvidíme, není to tak hrozný problém, ale otravuje to.Igor

19. 4. 2025 • 12:45

Dám tu raději i odkaz na uložené soubory pro ověření na jiném PCUž jsem to poslal do ÚSCHOVNY. Na velikosti kódu ani na počtu modulů to nemá žádný vliv, proto posílám jen takový drobek. Nemá to ani vliv při používání virtuálních disků SUBST. Díky za tvou ochotu IgorSE6MWFBVXEWPBU3T-L7D

19. 4. 2025 • 13:36

Spuštění dávky má cca 10sekundové zpoždění na začátku (první S:\A51 P:\B13_01.A51), pak vše běží rychle.Všechny další příkazy A51 a L51 probíhají během milisekund.Není to způsobeno použitím virtuálních disků (L:, P:, S:), protože i bez nich problém přetrvává."Dříve fungovalo bez zpoždění za stejných podmínek."Možné příčiny zpoždění:Zpožděné spuštění NTVDM (Windows XP)XP používá NTVDM (NT Virtual DOS Machine), která emuluje DOS. Někdy při prvním spuštění DOS programu po zapnutí počítače se může inicializace zdržet (antiviry, indexace, paging…).Můžeš zkusit:Spustit jednoduchý DOSový program (např. edit, command.com) hned před dávkou a zjistit, jestli se tím "probudí" NTVDM a dávka pak jede hned.Zpoždění přístupu na síťový nebo virtuální diskPokud jsou disky S:, P:, L: připojeny jako síťové nebo vytvořené Ukázat celý příspěvek

19. 4. 2025 • 15:20

Vše dělám na disku E. Tady mám virtuální disky P projekt S software (...EXE ), L jako knihovny - mé moduly LCD.A51... které potom linkuju k hlavnímu programu. Ty si přes INCLUDE vezmou LCD.CFG, který je v adresáři P. Možná to vypadá složité, ale už to funguje spolehlivě přes 30 let. Tento PC není připojen do síti. Má jeden HD rozdělený před instalací XP na dva disky. Je tam CD tak druhý disk je E, tam vše dělám.Samozřejmě jsem to podezříval, že to koliduje s XP, tak jsem udělal adresář na C:\POKUS. Tam jsem dal jednoduchý...A51 a veškeré...EXE do jednoho adresáře a spustil překlad jednoho modulu s několika řádky instrukcí. Nic jednoduššího už nejde. Výsledek stejný, jako když překládám SW s 5 modulů na virtuálních discích. Rozdíl se asi vejde do jedné S ještě s velkou rezervou. Něco se tam děje při spuštění A51.EXE, ale bylo období, kdy vše proběhlo okamžitě. A to je to, proč se snažím radit s lidmi, kteří tomu rozumí více. Já jsem si stavěl počítače v době "kamenné" Ukázat celý příspěvek

19. 4. 2025 • 15:34

No pokud skutečně to někdy šlo hned, tak vzpomínej, cos kdy všechno měnil, samo se to asi nestalo.Očividně to je problém toho 1. spuštění, buď konkrétně překladače nebo jakéhokoliv DOS programu. To bys mohl snadno okamžitě zjistit.

19. 4. 2025 • 15:38

A pokud máš třeba W10Pro, tak si můžeš na pár kliknutí udělat přímo virtuální MS DOS a nebudeš v tom mít ty WXP (nutno aktivovat Hyper-V v Nastavení Funkcí).

19. 4. 2025 • 16:23

tak jo ted sem to zkoušel na WindowsXP x32 v5.1 sp3 sestavení 2000tady máš screenshot a video a PowerShell 1.0.0.0 instalačku:https://cloud.fastshare.cz/share/get/vR6j...aQd0WssCjEžádný problém s rychlostí nenastal. dělal jsem to tak, že jsem si doinstaloval PowerShell 1.0 neboli: WindowsXP-KB926139-x86-ENU.exeviz zde:https://support.microsoft.com/en-us/topic/wi...80f006f9e1a pak sem ho spustil - ideálně jako správce (protože jinak se kontroluje přístup a to muže zpomalovat), dále jsem v něm zadal příkaz CMD - tím jsem si spustil command.com a pak jsem se přesunul do adresáře C:\_ASM51 a spustil tvoji dávku PREKLAD.BAT. vse funguje jak má. žádný problém s prekladem ani s rychlosti. takže asi máš něco s windowsama ... nevim Ukázat celý příspěvek

Určitě si přečtěte

Články odjinud