<html><body>Ahoj,<br><br>&nbsp; žádné špinavosti v tom nejsou, při volání QD rutiny se SP uloží na 1148h a pokud dojde k chybě v libovolně zanořeném podprogramu, SP se obnoví na hodnotu prvního volání a vrátí se chybový kód. Ta 21h je v tabulce opravdu jen na přeskočení nastavení jiných hodnot než té první (JR 02h by udělalo to samé bez přepisu HL, ale zabralo by o byte víc a těch je v ROMce vždy málo), HL se změní, ale nemá žádný význam jako návratová hodnota.<br><br>Bohouš<br><br><p>---------- Původní zpráva ----------<br>Od: Vaclav Peroutka &lt;vaclavpe@seznam.cz&gt;<br>Komu: sharpmz@mail.ordoz.com<br>Datum: 21. 6. 2016 19:25:56<br>Předmět: [SharpMZ] Podivnost v driveru QD</p><br><blockquote><div>Ahoj,<br><br>zkoumám driver QD a srovnávám ho s tím v MZ-1500. Jsou skoro shodné, nicméně našel jsem v ROMkodu MZ800 jednu podivnost, a to tuhle tabulku:<br><br>&nbsp;0753&nbsp; E400 3E29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QIOE41: LD&nbsp;&nbsp;&nbsp; A,41&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; Hard error<br>&nbsp;0754&nbsp; E402 21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DEFB&nbsp; 21H<br>&nbsp;0755&nbsp; E403 3E2E&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QIOE46: LD&nbsp;&nbsp;&nbsp; A,46&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; poruseni ochrany<br>&nbsp;0756&nbsp; E405 21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DEFB&nbsp; 21H<br>&nbsp;0757&nbsp; E406 3E32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QIOE50: LD&nbsp;&nbsp;&nbsp; A,50&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; disk neni pripraven<br>&nbsp;0758&nbsp; E408 21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DEFB&nbsp; 21H<br>&nbsp;0759&nbsp; E409 3E35&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QIOE53: LD&nbsp;&nbsp;&nbsp; A,53&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; neni misto na disku<br>&nbsp;0760&nbsp; E40B 21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DEFB&nbsp; 21H<br>&nbsp;0761&nbsp; E40C 3E36&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QIOE54: LD&nbsp;&nbsp;&nbsp; A,54&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; nenaformatovano<br>&nbsp;0762&nbsp; E40E ED7B4811&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LD&nbsp;&nbsp;&nbsp; SP,(OLDSP)<br>&nbsp;0763&nbsp; E412 37&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SCF<br>&nbsp;0764&nbsp; E413 C9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RET<br><br>Na ta návěští QIOE se skáče pomocí JP a JR. A "DEFB 21h" se samozřejmě disassembluje jako "LD HL,"<br><br>Trochu mi uniká smysl, se musím přiznat. Podezírám, že se dějí nějaké špinavosti se Stack Pointerem a HL se prostě zahazuje. jen nevím, kde.<br><br>Vašek<br><br>PS. Jo a je to i v ROMkodu MZ1500...<br></div>_______________________________________________<br>SharpMZ mailing list<br>SharpMZ@mail.ordoz.com<br>http://mail.ordoz.com/mailman/listinfo/sharpmz</blockquote></body></html>