Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

"Plan to throw one away. You will anyway." -- Fred Brooks, "The Mythical Man Month"


devel / comp.os.msdos.programmer / Re: How to access stack-based data (strings) when SS <> DS ? Newbie language.

SubjectAuthor
* How to access stack-based data (strings) when SS <> DS ?R.Wieser
+* Re: How to access stack-based data (strings) when SS <> DS ?Kerr-Mudd, John
|`* Re: How to access stack-based data (strings) when SS <> DS ?R.Wieser
| `* Re: How to access stack-based data (strings) when SS <> DS ?Kerr-Mudd, John
|  +* Re: How to access stack-based data (strings) when SS <> DS ?R.Wieser
|  |`* Re: How to access stack-based data (strings) when SS <> DS ?Kerr-Mudd, John
|  | `* Re: How to access stack-based data (strings) when SS <> DS ?R.Wieser
|  |  `* Re: How to access stack-based data (strings) when SS <> DS ?Kerr-Mudd, John
|  |   `* Re: How to access stack-based data (strings) when SS <> DS ?R.Wieser
|  |    `* Re: How to access stack-based data (strings) when SS <> DS ?Kerr-Mudd, John
|  |     `- Re: How to access stack-based data (strings) when SS <> DS ?R.Wieser
|  `- Re: How to access stack-based data (strings) when SS <> DS ?R.Wieser
+* Re: How to access stack-based data (strings) when SS <> DS ?JJ
|`- Re: How to access stack-based data (strings) when SS <> DS ?R.Wieser
`* Re: How to access stack-based data (strings) when SS <> DS ?Alexei A. Frounze
 +- Re: How to access stack-based data (strings) when SS <> DS ?Mateusz Viste
 `* Re: How to access stack-based data (strings) when SS <> DS ?R.Wieser
  +* Re: How to access stack-based data (strings) when SS <> DS ?Herbert Kleebauer
  |`* Re: How to access stack-based data (strings) when SS <> DS ?R.Wieser
  | `* Re: How to access stack-based data (strings) when SS <> DS ?Herbert Kleebauer
  |  +- Re: How to access stack-based data (strings) when SS <> DS ?Mateusz Viste
  |  +- Re: How to access stack-based data (strings) when SS <> DS ?R.Wieser
  |  `* Re: How to access stack-based data (strings) when SS <> DS ? Newbie language.R.Wieser
  |   `* Re: How to access stack-based data (strings) when SS <> DS ? NewbieHerbert Kleebauer
  |    +* Re: How to access stack-based data (strings) when SS <> DS ? NewbieKerr-Mudd, John
  |    |`* Re: How to access stack-based data (strings) when SS <> DS ? NewbieHerbert Kleebauer
  |    | `- Re: How to access stack-based data (strings) when SS <> DS ? NewbieKerr-Mudd, John
  |    `- Re: How to access stack-based data (strings) when SS <> DS ? Newbie language.R.Wieser
  `* Re: How to access stack-based data (strings) when SS <> DS ?Alexei A. Frounze
   `- Re: How to access stack-based data (strings) when SS <> DS ?R.Wieser

Pages:12
Re: How to access stack-based data (strings) when SS <> DS ? Newbie language.

<soqn3b$4bs$1@gioia.aioe.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=205&group=comp.os.msdos.programmer#205

  copy link   Newsgroups: comp.os.msdos.programmer
Path: i2pn2.org!i2pn.org!aioe.org!1QYr1x0m9iYqBfkTWlc9SA.user.46.165.242.91.POSTED!not-for-mail
From: klee@unibwm.de (Herbert Kleebauer)
Newsgroups: comp.os.msdos.programmer
Subject: Re: How to access stack-based data (strings) when SS <> DS ? Newbie
language.
Date: Wed, 8 Dec 2021 17:39:07 +0100
Organization: Aioe.org NNTP Server
Message-ID: <soqn3b$4bs$1@gioia.aioe.org>
References: <sof888$9ts$3@gioia.aioe.org>
<f6ec8f97-6a91-465f-b754-d1c50095bdf3n@googlegroups.com>
<sol3fh$1g7s$2@gioia.aioe.org> <solj63$3g0$1@gioia.aioe.org>
<solr6k$g7g$1@gioia.aioe.org> <som5pl$11ef$1@gioia.aioe.org>
<soptt1$77b$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="4476"; posting-host="1QYr1x0m9iYqBfkTWlc9SA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.4.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-US
 by: Herbert Kleebauer - Wed, 8 Dec 2021 16:39 UTC

On 08.12.2021 10:16, R.Wieser wrote:

>> A program is written in order to be executed. To write a program
>> which can be executed on nearly none of the current computers
>> (without first installing additional software like DOSBox) doesn't
>> make much sense. And therefore it doesn't also make much sense for a
>> "starter" to start with 16 bit coding instead of the much easier
>> 32 bit coding.
>
> 1) In relation to "without first installing additional software ". Most
> programming languages need you to install software and configure it. Heaps
> of it. To create 16-bit programs al you need are three executables (an
> editor, the assembler and the linker) and *perhaps* (something like) DOSBox.

It doesn't matter how much software you have to install to create a program.
But once created, it should be possible to execute the program on a
standard Windows installation without first installing additional
software. It is always frustrating if you copy a program on an USB drive
to use it on a different PC and then all what you get is: This program
can't be executed because ......

> 2) Its "much easier 32 bit coding" was, IIRC related to having all segments
> ontop of each other. Funny thing that, as that is exactly what the "tiny"
> memory model does for a 16-bit program. Yes, because it makes things
> simple (my question was just about me thinking "outside the box").

No, that's not the reason. I always used .com programs in DOS so I
never had to mess around with segment registers. But I also used
32 bit registers and addressing modes in 16 bit DOS programs, because
that makes assembly programming so much easier.

> As for using 32-bit (or 64-bit) coding instead of 16-bit ? I don't think
> it matters much - though I think that the best way to learn actual
> programming is /not/ to have too much support from libraries and the like.

To use 32 bit addressing modes has nothing to do with libraries.

> When you have it becomes too easy to create monstrocities instead of the way
> more apropriate (smaller, faster) processor commands. One example I still
> remember is how someone using a higher language isolated a bit in a value :
> (SomeValue & 2^SomeBit) <> 0. Yuck.

This tells the compiler what he has to do, not how it has to be down.
Look at the generated code and you will see, that in most case the
compiler generates better code than an average assembly programmer.

> Bottom line : When learning to really program* I think that using a "dumb"
> target is best. 16-bit DOS programming would be a good choice, both because
> it offers only basic I/O support as well as most people nowerdays have
> computers and thus can do it anywhere (school as well as at home).

Why is 16-bit DOS programming a good choice in the year 2021?
The code below reads from stdin, converts any upper case to lower
case letters and writes it to stdout:

loop: bsr.l getc ; get char from stdin
cmpq.l #-1,r0 ; EOF
bne.b _10 ; branch if not
andq.l #0,r0
bsr.l exit

_10: cmp.b #'A',r0
blo.b _20
cmp.b #'Z',r0
bhi.b _20
add.b #'a'-'A',r0
_20: bsr.l putc ; write char to stdout
br.b loop ; go on

Is this 16 bit DOS or 32 bit Windows programming or is it even
a LINUX program?

> *as opposed to slap-dashing some scripting / high-level language together.

I would even go a step further and directly generate all bytes in
the executable file, this way you can see how the interface to the OS
works.

> In other words : Its not about which language or platform you use, as long
> as it teaches you what makes the bottom layer (the processor and I/O) tick,
> as well as makes you aware that everything comes with a cost (execution time
> and/or resource wise). Those are lessons that should be learned early on.

If it doesn't matter which platform you use, then there is no advantage
in using an obsolete platform instead of a current platform. But it is
a big disadvantage if the generated code can't be executed on a current platform.

Now the answer to the above question, it is neither a DOS, Windows or Linux code,
it is all three at the same time. Just set OS to 0,1 or 2 and the assembler
will generate an executable for the selected OS from the same source code.
Not even a single byte is generated by the assembler or a linker which is
not explicitly specified in the source code.

OS=0 ; 0: DOS 1: WINDOWS 2: LINUX ;;

;===========================================================================
;===========================================================================

IF OS==0 ; DOS
@=$100
ENDIF

;===========================================================================
;===========================================================================

IF OS==1
UseIdatSection=0 ; 0 if no idat section is used
UseUdatSection=0 ; 0 if no udat section is used

dc.w 'ZM',dosfilesize\512, (dosfilesize-1)/512+1
dc.w 0,doshead_end/16,0,$ffff,0,dosstack,0,dosmain
dc.w 0,reloc,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,WinHeader
reloc:
doshead_end:
@=$0
dosmain:move.w s6,-(sp)
move.w (sp)+,s0
move.w #_text,r1
move.b #$09,m0
trap #$21
move.w #$4c01,r0
trap #$21
_text: dc.b 'Nice to meet somebody who is still using DOS,',13,10
dc.b 'but his program requires Win32.',13,10,'$'
even 16

dosstack=@+256
dosfilesize=@+256

ImageBase== $00400000
SectionAlignment== 4096
FileAlignment== 512
WinHeader=@@
@=ImageBase
dc.b 'PE',0,0
dc.w $014c,NumberOfSections
dc.l $36a57950,0,0
dc.w SizeOfOptionalHeader,$010f

@a=@
dc.w $010b
dc.b 5,12
dc.l SizeOfCode,SizeOfInitializedData,SizeOfUninitializedData
dc.l winmain-ImageBase,BaseOfCode,BaseOfData,ImageBase
dc.l SectionAlignment,FileAlignment
dc.w 4,0,0,0,4,0
dc.l 0,SizeOfImage,SizeOfHeaders, 0
dc.w 3 ; 2:GUI 3:character subsystem.
dc.w 0
dc.l $100000,$1000,$100000,$1000,$0,NumberOfRvaAndSize

@b=@
dc.l 0,0,imp_start,imp_size,0,0,0,0,0,0,0,0,0,0,0,0
dc.l 0,0,0,0,0,0,0,0,iat_start,iat_size,0,0,0,0,0,0
NumberOfRvaAndSize = (@-@b)/8
SizeOfOptionalHeader = @-@a

@a=@
dc.b '.text',0,0,0
dc.l VSizeOf_text,VBaseOf_text,FSizeOf_text,FBaseOf_text,0,0
dc.w 0,0
dc.l $e0000020

IF UseIdatSection
dc.b '.idat',0,0,0
dc.l VSizeOf_idat,VBaseOf_idat,FSizeOf_idat,FBaseOf_idat,0,0
dc.w 0,0
dc.l $e0000040
ENDIF

IF UseUdatSection
dc.b '.udat',0,0,0
dc.l VSizeOf_udat,VBaseOf_udat,FSizeOf_udat,FBaseOf_udat,0,0
dc.w 0,0
dc.l $e0000080
ENDIF

NumberOfSections=(@-@a)/40
evencom FileAlignment
SizeOfHeaders==@@

FBaseOf_text==@@
VBaseOf_text==(@-ImageBase+SectionAlignment-1)/SectionAlignment*SectionAlignment
BaseOfCode==VBaseOf_text
@=ImageBase+VBaseOf_text

iat_start=@-ImageBase

KERNEL32_thunk:
ExitProcess:: dc.l KERNEL32_ExitProcess -ImageBase
GetStdHandle:: dc.l KERNEL32_GetStdHandle -ImageBase
ReadFile:: dc.l KERNEL32_ReadFile -ImageBase
WriteFile:: dc.l KERNEL32_WriteFile -ImageBase
dc.l 0

iat_size=@-ImageBase-iat_start

imp_start==@-ImageBase
imp:

dc.l KERNEL32_import -ImageBase
dc.l 0
dc.l 0
dc.l KERNEL32_name -ImageBase
dc.l KERNEL32_thunk -ImageBase

dc.l 0,0,0,0,0

imp_size==@-imp

KERNEL32_name:
dc.b 'KERNEL32.dll',0
even

KERNEL32_import:
dc.l KERNEL32_ExitProcess -ImageBase
dc.l KERNEL32_GetStdHandle -ImageBase
dc.l KERNEL32_ReadFile -ImageBase
dc.l KERNEL32_WriteFile -ImageBase
dc.l 0
even


Click here to read the complete article
Re: How to access stack-based data (strings) when SS <> DS ? Newbie language.

<20211208173729.b5c12747813fbd0e8892d2f2@127.0.0.1>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=206&group=comp.os.msdos.programmer#206

  copy link   Newsgroups: comp.os.msdos.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: admin@127.0.0.1 (Kerr-Mudd, John)
Newsgroups: comp.os.msdos.programmer
Subject: Re: How to access stack-based data (strings) when SS <> DS ? Newbie
language.
Date: Wed, 8 Dec 2021 17:37:29 +0000
Organization: Dis
Lines: 48
Message-ID: <20211208173729.b5c12747813fbd0e8892d2f2@127.0.0.1>
References: <sof888$9ts$3@gioia.aioe.org>
<f6ec8f97-6a91-465f-b754-d1c50095bdf3n@googlegroups.com>
<sol3fh$1g7s$2@gioia.aioe.org>
<solj63$3g0$1@gioia.aioe.org>
<solr6k$g7g$1@gioia.aioe.org>
<som5pl$11ef$1@gioia.aioe.org>
<soptt1$77b$1@gioia.aioe.org>
<soqn3b$4bs$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Injection-Info: reader02.eternal-september.org; posting-host="45c26cb970f7e9b6e860021554dd0e4c";
logging-data="29273"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18/RA5UT5C9fPfsa6ocChwHgSqzumzbVs8="
Cancel-Lock: sha1:VqAJUlySdSGrJ0az295W7Fbpy4s=
X-Newsreader: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32)
;X-no-Archive: Maybe
GNU: Terry Pratchett
 by: Kerr-Mudd, John - Wed, 8 Dec 2021 17:37 UTC

On Wed, 8 Dec 2021 17:39:07 +0100
Herbert Kleebauer <klee@unibwm.de> wrote:

> On 08.12.2021 10:16, R.Wieser wrote:
>
> >> A program is written in order to be executed. To write a program

> Why is 16-bit DOS programming a good choice in the year 2021?
> The code below reads from stdin, converts any upper case to lower
> case letters and writes it to stdout:
>
>
> loop: bsr.l getc ; get char from stdin
> cmpq.l #-1,r0 ; EOF
> bne.b _10 ; branch if not
> andq.l #0,r0
> bsr.l exit
>
> _10: cmp.b #'A',r0
> blo.b _20
> cmp.b #'Z',r0
> bhi.b _20
> add.b #'a'-'A',r0
> _20: bsr.l putc ; write char to stdout
> br.b loop ; go on
>
>
> Is this 16 bit DOS or 32 bit Windows programming or is it even
> a LINUX program?
>
[]
> Now the answer to the above question, it is neither a DOS, Windows or Linux code,
> it is all three at the same time. Just set OS to 0,1 or 2 and the assembler
> will generate an executable for the selected OS from the same source code.
> Not even a single byte is generated by the assembler or a linker which is
> not explicitly specified in the source code.

[]
Wonderful stuff, but it's not a standard language. I suspect you also need am assembler/compiler that isn't available (without installing) on any of the OS's.

So why dis anyone doing their own thing?

(16bit x86 asm DOS for me, if you noticed my attempt at a tetris update)

--
Bah, and indeed Humbug.

Re: How to access stack-based data (strings) when SS <> DS ? Newbie language.

<sor7hv$a2n$1@gioia.aioe.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=207&group=comp.os.msdos.programmer#207

  copy link   Newsgroups: comp.os.msdos.programmer
Path: i2pn2.org!i2pn.org!aioe.org!BHGTVyTGRwF2ntnqLVfpDg.user.46.165.242.75.POSTED!not-for-mail
From: address@not.available (R.Wieser)
Newsgroups: comp.os.msdos.programmer
Subject: Re: How to access stack-based data (strings) when SS <> DS ? Newbie language.
Date: Wed, 8 Dec 2021 22:19:34 +0100
Organization: Aioe.org NNTP Server
Lines: 136
Message-ID: <sor7hv$a2n$1@gioia.aioe.org>
References: <sof888$9ts$3@gioia.aioe.org> <f6ec8f97-6a91-465f-b754-d1c50095bdf3n@googlegroups.com> <sol3fh$1g7s$2@gioia.aioe.org> <solj63$3g0$1@gioia.aioe.org> <solr6k$g7g$1@gioia.aioe.org> <som5pl$11ef$1@gioia.aioe.org> <soptt1$77b$1@gioia.aioe.org> <soqn3b$4bs$1@gioia.aioe.org>
Injection-Info: gioia.aioe.org; logging-data="10327"; posting-host="BHGTVyTGRwF2ntnqLVfpDg.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
X-Notice: Filtered by postfilter v. 0.9.2
X-Priority: 3
X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
X-RFC2646: Format=Flowed; Response
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
 by: R.Wieser - Wed, 8 Dec 2021 21:19 UTC

Herbert,

> It doesn't matter how much software you have to install to create a
> program.
> But once created, it should be possible to execute the program on a
> standard Windows installation without first installing additional
> software.

It doesn't work that way for Windows programs ...

> It is always frustrating if you copy a program on an USB drive
> to use it on a different PC and then all what you get is: This program
> can't be executed because ......

.... and reading from the above you know it.

But if that is your yardstick I guess thats the end of the story. Its
over, curtains close, you all can go home now.

It has to be said though : where I can run those 16-bit DOS programs on any
Win32 'puter and with the help of DOSBox also on a Win64 machine, your own
64-bit programs won't have it that easy. Apart from those dependancies they
will never run on a Win32 machine, and they might also barf on an earlier
version of Windows.

> No, that's not the reason. I always used .com programs in DOS so I never
> had to mess around with segment registers.

lol. You are disagreeing with while agreeing with me. The only difference
is that you look at the COM model, while I thought of the EXE one.

> To use 32 bit addressing modes has nothing to do with libraries.

In that case, might I maybe have ment something else ? And if so, what ?
Maybe I was referring to something we already spoke of ? Do remember that
I also said "(or 64-bit)". Does that perhaps ring a bell ?

Playing dumb doesn't score you any points. It just shows what kind of
person you want to be.

> This tells the compiler what he has to do, not how it has to be down.

Its hard isn't it ? Understanding the point of an example ? I've also
made no mention of a language, or if it would be compiled or not. Funny
how you seem know exactly what I've must have ment when it benefits you, but
have lots of trouble figuring it out when it doesn't ...

> Why is 16-bit DOS programming a good choice in the year 2021?

Why are you ignoring that I also mentioned other possible platforms ?

> Is this 16 bit DOS or 32 bit Windows programming or is it even
> a LINUX program?

Your point ?

>> *as opposed to slap-dashing some scripting / high-level language
>> together.
>
> I would even go a step further and directly generate all bytes in
> the executable file, this way you can see how the interface to the OS
> works.

It looks like what you said has something to do with what you quoted there,
but heaven knows what.

And no, you would not be able to do that. Or you would need to drop the
"the OS" and be more specific than that.

> If it doesn't matter which platform you use, then there is no advantage
> in using an obsolete platform instead of a current platform.

And you have been refusing to listen to what I've been telling you, only
taking your own circumstances into account. On multiple points.

> But it is a big disadvantage if the generated code can't be executed on a
> current platform.

And water is still wet ?

> Now the answer to the above question, it is neither a DOS, Windows or
> Linux code,
> it is all three at the same time.

:-) Yeah, if you massage it enough I'm sure that you will be able to get
something runnable outof it. Just have to either replace those "getc" and
"putc" pseudos with code outof some library, wrap some target-environment
specific initialisation and finalisation code around it and sure it will do
something.

You will have no clue what is actually executed though.

Heck, maybe that compiler you mentioned earlier wil just replace it with
something else altogether !

> Just set OS to 0,1 or 2 and the assembler will generate an executable for
> the selected OS from the same source code.

"You keep using that word, Assembler. I don't think it means what you think
it means."
-- The princes bride.

As for that listing below it ? Nope, its not. Its several programs -
which do not even need to be doing the same* - pushed together and using the
preprocessor to filter the selected parts out - and ofcourse some of the
above mentioned massaging of its pseudos.

*and if youre not /very/ carefull *will* do something different. Perhaps
even on purpose ...

But hey, if your thing is to "prove" that you can have some program that
will work on multiple platforms than you failed. Before you can run it
you first need to pull it thru that "Assembler" of yours, and than it looses
all of its multi-platform capabilities.

But lets draw the line here.

You've shown that for you only your own circumstances matter (even ignoring
that I mentioned other environments and languages), as well as rather
quickly deviating from the subject to something else you think you can
control.

So, goodbye. Have a good life.

Regards,
Rudy Wieser

P.s.
I did not actually try to look at that lengthy code. Your description made
clear that you tried to do the "assembly" equivalent of a "portable" C
program. And thats old hat.

Re: How to access stack-based data (strings) when SS <> DS ? Newbie language.

<sor887$jpt$1@gioia.aioe.org>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=208&group=comp.os.msdos.programmer#208

  copy link   Newsgroups: comp.os.msdos.programmer
Path: i2pn2.org!i2pn.org!aioe.org!1QYr1x0m9iYqBfkTWlc9SA.user.46.165.242.91.POSTED!not-for-mail
From: klee@unibwm.de (Herbert Kleebauer)
Newsgroups: comp.os.msdos.programmer
Subject: Re: How to access stack-based data (strings) when SS <> DS ? Newbie
language.
Date: Wed, 8 Dec 2021 22:31:50 +0100
Organization: Aioe.org NNTP Server
Message-ID: <sor887$jpt$1@gioia.aioe.org>
References: <sof888$9ts$3@gioia.aioe.org>
<f6ec8f97-6a91-465f-b754-d1c50095bdf3n@googlegroups.com>
<sol3fh$1g7s$2@gioia.aioe.org> <solj63$3g0$1@gioia.aioe.org>
<solr6k$g7g$1@gioia.aioe.org> <som5pl$11ef$1@gioia.aioe.org>
<soptt1$77b$1@gioia.aioe.org> <soqn3b$4bs$1@gioia.aioe.org>
<20211208173729.b5c12747813fbd0e8892d2f2@127.0.0.1>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="20285"; posting-host="1QYr1x0m9iYqBfkTWlc9SA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.4.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-US
 by: Herbert Kleebauer - Wed, 8 Dec 2021 21:31 UTC

On 08.12.2021 18:37, Kerr-Mudd, John wrote:

> I suspect you also need am assembler/compiler that isn't available (without installing) on any of the OS's.

As I already said, it doesn't matter what you have to install
to create a program. But the created program should run without
the need of additional software/libraries which are not part of
a standard OS installation. The assembler I use is a single exe
file and doesn't need to be "installed". And the C source of the
assembler (also only a single C file) can be compiled with any
C compiler.

> So why dis anyone doing their own thing?

Because I learned more about assembly programming writing the
assembler than writing assembly programs using the assembler.

> (16bit x86 asm DOS for me, if you noticed my attempt at a tetris update)

I know, but I can't test the programs because they don't run in
64 bit Windows. Why not do it with 1024 byte 32 bit exe files instead
of 256 byte 16 bit com files?

Re: How to access stack-based data (strings) when SS <> DS ? Newbie language.

<20211209214314.a04e8e7100cc7b5afee6ff68@127.0.0.1>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=213&group=comp.os.msdos.programmer#213

  copy link   Newsgroups: comp.os.msdos.programmer
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: admin@127.0.0.1 (Kerr-Mudd, John)
Newsgroups: comp.os.msdos.programmer
Subject: Re: How to access stack-based data (strings) when SS <> DS ? Newbie
language.
Date: Thu, 9 Dec 2021 21:43:14 +0000
Organization: Dis
Lines: 36
Message-ID: <20211209214314.a04e8e7100cc7b5afee6ff68@127.0.0.1>
References: <sof888$9ts$3@gioia.aioe.org>
<f6ec8f97-6a91-465f-b754-d1c50095bdf3n@googlegroups.com>
<sol3fh$1g7s$2@gioia.aioe.org>
<solj63$3g0$1@gioia.aioe.org>
<solr6k$g7g$1@gioia.aioe.org>
<som5pl$11ef$1@gioia.aioe.org>
<soptt1$77b$1@gioia.aioe.org>
<soqn3b$4bs$1@gioia.aioe.org>
<20211208173729.b5c12747813fbd0e8892d2f2@127.0.0.1>
<sor887$jpt$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Injection-Info: reader02.eternal-september.org; posting-host="82a6c332392ab2f608a1b5f0b08ec5ce";
logging-data="18345"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/E+kCi2++FNes3S7Q802+u7V+FCWk5Iss="
Cancel-Lock: sha1:cmuVEgYudXt7s2nGoVPj2DQphaI=
X-Newsreader: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32)
;X-no-Archive: Maybe
GNU: Terry Pratchett
 by: Kerr-Mudd, John - Thu, 9 Dec 2021 21:43 UTC

On Wed, 8 Dec 2021 22:31:50 +0100
Herbert Kleebauer <klee@unibwm.de> wrote:

> On 08.12.2021 18:37, Kerr-Mudd, John wrote:
>
> > I suspect you also need am assembler/compiler that isn't available (without installing) on any of the OS's.
>
> As I already said, it doesn't matter what you have to install
> to create a program. But the created program should run without
> the need of additional software/libraries which are not part of
> a standard OS installation. The assembler I use is a single exe
> file and doesn't need to be "installed". And the C source of the
> assembler (also only a single C file) can be compiled with any
> C compiler.
>
>
> > So why dis anyone doing their own thing?
>
> Because I learned more about assembly programming writing the
> assembler than writing assembly programs using the assembler.
>
That's worthy, but it isn't everyone's path.
>
> > (16bit x86 asm DOS for me, if you noticed my attempt at a tetris update)
>
> I know, but I can't test the programs because they don't run in
> 64 bit Windows. Why not do it with 1024 byte 32 bit exe files instead
> of 256 byte 16 bit com files?

Sorry.

'cos I'm stuck in the past? I'm late to the demoscene!
1k - ridiculous overhead!

--
Bah, and indeed Humbug.

Pages:12
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor