From: Rod Pemberton on

http://litux.wz.cz/htm/download.htm#ltdos


Rod Pemberton

From: Frank Kotler on
Rod Pemberton wrote:
> http://litux.wz.cz/htm/download.htm#ltdos

Great stuff! I haven't gotten it to actually work, beyond the "here I
am!" test. Assembles without complaint, except he got bitten by the
"pause bug". Hey, it's *not* Nasm's fault Intel made "pause" an
instruction! A lot of people used "pause" as a label, and their code
broke. (prepend a '$', and Nasm will know it's not an instruction, but
will still know the symbol) Annie always used to use "pozz" - ahead of
the curve! One warning about "label alone on a line" - harmless and
easily fixed. Nice, well-commented (in English!) code. I'm impressed!

I'll get back into this - delightfully small, I wanna see it work!
Thanks, Rod! Thanks Miroslav!

Best,
Frank


From: Rugxulo on
Hi,

On Apr 3, 7:31 am, Frank Kotler <fbkot...(a)verizon.net> wrote:
> Rod Pemberton wrote:
> >http://litux.wz.cz/htm/download.htm#ltdos
>
> Great stuff! I haven't gotten it to actually work, beyond the "here I
> am!" test.

I only tested his freeware stuff (some w/ .ASM src: e.g. sachy, lines,
bludiste, planety), not LTDOS or MicroDOS, but he's definitely very
skilled. ;-)

BTW, this isn't the first time someone has written a smaller "lite"
DOS in .ASM: see MiniDOS (FASM src), MikeOS (very basic DOS subsystem,
NASM src), or RxDOS (MASM src originally but ported to A86, link seems
broken but I'll mirror it). Also, supposedly PTS-DOS is pure assembly
(but it's closed src, so I can only guess).

http://board.flatassembler.net/topic.php?t=5275&start=0
http://mikeos.berlios.de/
http://rugxulo.googlepages.com/rxdos_sources_a86.zip

> Assembles without complaint, except he got bitten by the
> "pause bug". Hey, it's *not* Nasm's fault Intel made "pause" an
> instruction! A lot of people used "pause" as a label, and their code
> broke. (prepend a '$', and Nasm will know it's not an instruction, but
> will still know the symbol) Annie always used to use "pozz" - ahead of
> the curve!

Yes, kinda silly since "wait" and "pause" are such common words. NASM
0.98.39 whines BUT the latest NASM 2.02 accepts "pause:" without
complaint (unlike FASM):

---------------------------------------
; works fine in 0.97 or 2.02 but not 0.98.39
org 100h

mov al,'!'
mov cx,15
pause:
int 29h
loop pause
ret
---------------------------------------

It was only after NASM 0.97 that they implemented SSE2, which includes
"pause". And, I'm no SSE expert, but it's supposedly only needed if
looping / testing the value of a variable too often (spin loop??
threaded code??). And the funny thing is it's actually the same thing
as "rep nop", so < P3 processors just ignore it! :-P
From: Robert Redelmeier on
In alt.lang.asm Rugxulo <rugxulo(a)gmail.com> wrote in part:
> Yes, kinda silly since "wait" and "pause" are such common words.

So common they are both Intel x86 instructions.
(WAIT often written as FWAIT for x87 sync).

Would you expect to be able to use `add` as a label?
Some symobls just get reserved to simplify compliers
and assemblers.


-- Robert

From: Herbert Kleebauer on
Robert Redelmeier wrote:

> Would you expect to be able to use `add` as a label?

Can you give me any logical reason why "add", "mov" or "nop"
can't be used as a label. A label is a label and an opcode
is an opcode. And if an assembler can't distinct between
them, it doesn't deserve the name assembler.