TIP: Click on subject to list as thread! ANSI
echo: pascal_lessons
to: Chris Hoppman
from: mark lewis
date: 2003-12-15 12:28:24
subject: ]

CH>        OS2: asm
 CH>               push dx
 CH>               xor dx, dx
 CH>               mov ax, 0
 CH>               sti
 CH>               hlt
 CH>               db 035h, 0Cah
 CH>               pop dx

the stuff i've used for years doesn't push or pop the dx register and it
does not have the sti call in it... the only difference between what i use
for Warp3 and Warp4 is "mov ax, 2" for Warp3...

oh yes... and the db line should read "db 035h,0cah,90h" without
the quotes...

my actual killtime procedure is

Procedure KillTime; assembler;
asm
  PUSHF
  CALL DWord Ptr [os_slice_vec]
end;

so that may cover why i don't worry about the DX register... i dunno... i
used to have iret at the end of the os/2 slice calls but had problems and
have it commented out, currently...

again, just to clarify, my slice routines are stuck into an interrupt
vector so i just call killtime whenever and it pokes the already installed
slice routine...

why did i do it this way? why should we figure out what os we're running
each and every time we go to slice? figure out the os during program
startup and go from there... in your above, you have to decide which slice
to use on every invocation of the slice routine... i see that as
inefficient... thus i came up with the decision stuff during program start
and just install the desired slice then...

)\/(ark

* Origin: (1:3634/12)
SEEN-BY: 633/267 270
@PATH: 3634/12 106/2000 633/267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.