flat assembler
Message board for the users of flat assembler.

Index > Main > INTs runs in any system?

Author
Thread Post new topic Reply to topic
Teehee



Joined: 05 Aug 2009
Posts: 570
Location: Brazil
Teehee 08 Jul 2010, 18:55
if i write a code in a .com file (or any binary) using INTs only, it will works in Windows, DOS, Linux, etc?

_________________
Sorry if bad english.
Post 08 Jul 2010, 18:55
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4353
Location: Now
edfed 08 Jul 2010, 19:51
no.
and that is the problem with PC and OS.

just imagine:
ingineers works on hll to make the "portability" a real fact.
and other engineers works on OS to make them different from others, but the best way, but different, and uncompatible...
Post 08 Jul 2010, 19:51
View user's profile Send private message Visit poster's website Reply with quote
ManOfSteel



Joined: 02 Feb 2005
Posts: 1154
ManOfSteel 08 Jul 2010, 20:23
It will work under DOS and probably under most Windows using their "DOS compatibility layers". It will definitely not work under any other OS. If the interrupts are DOS interrupts (e.g. int 0x21), then they are only available under DOS and (indirectly) Windows. If they are BIOS interrupts, then they will simply not work at all under any protected-mode OS (e.g. unices).
Also, depending on what you mean by "any binary", .com or .exe files will not work under unices (without DOSBox/WINE), just like elf files will not work under DOS and Windows.

HLL doesn't change much. If I use one of the libraries available on unices, it will not work under DOS or Windows at all unless there's a clone/port of that library installed.
Even among *nix systems this may happen. Applications with linuxisms must have their source patched to compile properly if you want to run them under other unices.
Post 08 Jul 2010, 20:23
View user's profile Send private message Reply with quote
b1528932



Joined: 21 May 2010
Posts: 287
b1528932 09 Jul 2010, 13:14
it will work is vm8086 is supported and bios isrs hasnt been destroyed.
if you want to use vme86 bios interrupts must be at linear address 0.


about int 0x21 - it wont work. its a dos interrupt, and it require a dos to set it up. it can be done by vm86, but dont take it as a fact.
Post 09 Jul 2010, 13:14
View user's profile Send private message Reply with quote
Tyler



Joined: 19 Nov 2009
Posts: 1216
Location: NC, USA
Tyler 09 Jul 2010, 20:38
Couldn't you just set DOS up in the vm8086 at linear addr 0? I would suggest you use a free look-a-like like miniDOS.
Post 09 Jul 2010, 20:38
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.