Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

which assembler

21 views
Skip to first unread message

Joost

unread,
Nov 28, 2009, 5:21:58 PM11/28/09
to

After searching the internet for a while I feel a bit lost. Looking
for an assembler with the following characteristics, in order of
importance for me:
- free, or not expensive, or free until used succesful commercially
- usable under Windows (i have Vista now)
- the resulting executable should be distributable like a single .exe
file, no extra stuff needed. This is important because it eventually
has to be distributed to others who are not willing/capable to install
extras.
- documentation that at least shows a skeleton asm file with some
explanations and how to produce executables from it, step by step, at
least for command line mode (CMD box) and maybe for Windows mode too.
I found that some tools produce .COM files that are not usable with
Vista and up anymore (a window appears with "This system does not
support full-screen mode".).
- no restrictions for resulting executables (memory size, data size,
etc)
- simple and concise where possible
- no C compiler or make tools or linkers needed preferably
- no cygwin or other msys or whatever needed
- speed is not such a big issue
- full intel support or support for the latest opcodes etc. is not so
important

The kind of application I would like to learn to make is something
like a Forth system ( http://en.wikipedia.org/wiki/Forth_programming_language
), but maybe without the interactive mode. Should be able to use it
on the command line like
C:\> myprogram < input.txt > output.txt

I have looked at FASM but the tutorial on the website is work in
progress. Also the other documentation is being worked on, no
skeleton asm file etc. It looks good but I wouldnt know where to
start.

NASM seems popular and the tutorial by Paul A. Carter looks nice but
assumes a driver.c file and gcc and stuff. The NASM manual was hard
to read. It starts with describing a lot of instructions and even
macros but no example programs or skeletons. It does not provide the
hands-on approach I would love.
Some other assemblers had even less documentation.

As an example of what I feel is great documentation, there is
Programming from the ground up by Jonathan Bartlett, but it is for
linux.

Maybe I am looking for something that doesn't exist, anybody?

cyrillos

unread,
Nov 28, 2009, 5:39:30 PM11/28/09
to

On Nov 29, 1:21=A0am, Joost <joost.ja...@MUNGED.microcosmotalk.com>
wrote:
...

> I have looked at FASM but the tutorial on the website is work in
> progress. =A0Also the other documentation is being worked on, no
> skeleton asm file etc. =A0It looks good but I wouldnt know where to

> start.
>
> NASM seems popular and the tutorial by Paul A. Carter looks nice but
> assumes a driver.c file and gcc and stuff. =A0The NASM manual was hard
> to read. =A0It starts with describing a lot of instructions and even
> macros but no example programs or skeletons. =A0It does not provide the

> hands-on approach I would love.
> Some other assemblers had even less documentation.
>
> As an example of what I feel is great documentation, there is
> Programming from the ground up by Jonathan Bartlett, but it is for
> linux.
>
> Maybe I am looking for something that doesn't exist, anybody?

Well, in NASM sources you may find test/ directory with a number
of examples. Though NASM is an assembler only, not linker, which means
it doesn't produce .exe for you but .obj rather.

Hope it helps :)

Nathan Baker

unread,
Nov 28, 2009, 5:39:55 PM11/28/09
to

"Joost" <joost...@MUNGED.microcosmotalk.com> wrote in message
news:4b11a286$0$4848$9a6e...@unlimited.newshosting.com...

Well, the only assembler that complies with all of your requirements (
including "no C compiler or make tools or linkers needed preferably" ) is
RosAsm:
http://betov.free.fr/

However, I think you shouldn't overlook some of the other options:

Hutch's MASM32 package:
http://www.movsd.com/

Randy's 'Art of Assembly Programming' book and 'High-Level Assembly' (HLA)
assembler:
http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/index.html

GoAsm:
http://www.jorgon.freeserve.co.uk/

Nathan.
--
http://delicious.com/Evenbit/
http://www.frontiernet.net/~fys/faq/


Rod Pemberton

unread,
Nov 28, 2009, 6:58:41 PM11/28/09
to

"Joost" <joost...@MUNGED.microcosmotalk.com> wrote in message
news:4b11a286$0$4848$9a6e...@unlimited.newshosting.com...
>
> After searching the internet for a while I feel a bit lost. Looking
> for an assembler with the following characteristics, in order of
> importance for me:

I'm not sure if you're going to get everything you desire. The assemblers
which are still supported and popular:

NASM
- uses own easy syntax
http://www.nasm.us/

GAS
- comes with GNU C (and other) compiler toolchains
- part of "binutils" package
- uses Motorola syntax
http://www.gnu.org/software/binutils/

WASM (TASM clone)
- comes with OpenWatcom C compiler

FASM (NASM clone)
http://flatassembler.net/

Some might debate that MASM and/or TASM are still being supported... But, I
wouldn't recommend using "dying" assemblers.

> The kind of application I would like to learn to make is something
> like a Forth system

A FORTH interpreter has a number of intracacies that aren't well documented.
It's probably not in your best interest to learn both assembly and FORTH
implementation at the same time. You'll end up reading everything on the
Internet by every FORTH "master", like Charles Moore, Leo Brodie, Brad
Rodriguez, Philip Koopman, Rob Chapman, Jim Brooks, Anton Ertl, Bernd
Paysan, etc, and you still might have difficulties implementing FORTH. It's
only once you've begun to implement a FORTH interpreter from scratch that
you'll begin to understand cryptic statements regarding the operation of a
FORTH interpreter. But, you really need to know how to program, in assembly
(or C) first.

You could start by porting a 16-bit fig-FORTH to 32-bits. You'll probably
need 32-bit, or maybe 64-bit code, for Vista anyway. First, you'll need to
convert the 16-bit code from MASM to the syntax of the assembler you're
using. This is relatively easy for WASM, NASM, or FASM. It's a bit more
complex for GAS if you're doing it by hand. I wouldn't recommend doing it
by hand. If converting to GAS, assemble it using MASM (or TASM), and
disassemble it using objdump (for GAS). You could do the same for NASM
using ndisasm etc, if learning multiple syntaxes is too much work. Clean it
up. Reassemble. Rework until the new binary is identical, or equivalent.
Then, rewrite for 32-bits. You'll have to add appropriate code for a Vista
executable.

If you choose to port a 16-bit FORTH, you might look at using J.E. Smith's
fig-FORTH (fig86.lzh) or Charlie Krajewski's fig-FORTH (figforth8088.zip)
here in figFORTH section:
http://www.forth.org/eforth.html

Or, you might read this Dr. Dobb's article which presents something similar
in nature to FORTH, but not FORTH:

"Roll Your Own Minilanguages with Mini-Interpreters" by Michael Abrash and
Dan Illowsky, Dr. Dobbs, Sept 1, 1989.
http://www.ddj.com/184408206?pgno=3

Steve Dubrovich posted a NASM port of their interpreter here:
http://groups.google.com/group/comp.lang.asm.x86/msg/adc45c28de334bb7?hl=en

And, comp.lang.forth, will help with the FORTH aspects, if not assembly.


Rod Pemberton


James Harris

unread,
Nov 28, 2009, 8:06:20 PM11/28/09
to

On 28 Nov, 22:21, Joost <joost.ja...@MUNGED.microcosmotalk.com> wrote:
> After searching the internet for a while I feel a bit lost. =A0Looking

> for an assembler with the following characteristics, in order of
> importance for me:
> - free, or not expensive, or free until used succesful commercially
> - usable under Windows (i have Vista now)
> - the resulting executable should be distributable like a single .exe
> file, no extra stuff needed. =A0This is important because it eventually

> has to be distributed to others who are not willing/capable to install
> extras.
> - documentation that at least shows a skeleton asm file with some
> explanations and how to produce executables from it, step by step, at
> least for command line mode (CMD box) and maybe for Windows mode too.
> I found that some tools produce .COM files that are not usable with
> Vista and up anymore (a window appears with "This system does not
> support full-screen mode".).
> - no restrictions for resulting executables (memory size, data size,
> etc)
> - simple and concise where possible
> - no C compiler or make tools or linkers needed preferably
> - no cygwin or other msys or whatever needed
> - speed is not such a big issue
> - full intel support or support for the latest opcodes etc. is not so
> important
>
> The kind of application I would like to learn to make is something
> like a Forth system (http://en.wikipedia.org/wiki/Forth_programming_langu=
age
> ), but maybe without the interactive mode. =A0Should be able to use it

> on the command line like
> C:\> myprogram < input.txt > output.txt
>
> I have looked at FASM but the tutorial on the website is work in
> progress. =A0Also the other documentation is being worked on, no
> skeleton asm file etc. =A0It looks good but I wouldnt know where to

> start.
>
> NASM seems popular and the tutorial by Paul A. Carter looks nice but
> assumes a driver.c file and gcc and stuff. =A0The NASM manual was hard
> to read. =A0It starts with describing a lot of instructions and even
> macros but no example programs or skeletons. =A0It does not provide the

> hands-on approach I would love.
> Some other assemblers had even less documentation.
>
> As an example of what I feel is great documentation, there is
> Programming from the ground up by Jonathan Bartlett, but it is for
> linux.
>
> Maybe I am looking for something that doesn't exist, anybody?

If you want to run under Windows the biggest thing to learn is
probably the Windows calls themselves and which dll they are in. The
specific language or assembler may be less of an issue but pick one
you are happy to work with long term. There are primers on getting
started at

http://codewiki.wikispaces.com/winstdout.nasm
http://codewiki.wikispaces.com/winpopup.nasm

These use Nasm which is one of the best out there. You do need a
linker but one that is easy to use is linked from the pages along with
notes on how to use it. If you want to run assembler and linker
together so you can forget the presence of a linker you could make a
batch file something like

@echo off
if "%1" =3D=3D "" goto usage
if not "%2" =3D=3D "" goto usage

echo.
echo nasm -fobj %1.asm -l %1.lst
call nasm -fobj %1.asm -l %1.lst
echo.

echo alink -c -oPE -subsys console %1
call alink -c -oPE -subsys console %1 | find "Generating"
goto :eof

:usage
echo Usage: %0 base_name
echo For example, %0 hello will assemble hello.asm and link as
hello.exe
echo Check for the last line "Generating ..." to determine success
echo.

You can make an exe and distribute it as you mention.

James

s_dub...@munged.microcosmotalk.com

unread,
Nov 28, 2009, 10:00:55 PM11/28/09
to

On Nov 28, 4:39=A0pm, cyrillos <gorcu...@MUNGED.microcosmotalk.com>
wrote:
> On Nov 29, 1:21=3DA0am, Joost <joost.ja...@MUNGED.microcosmotalk.com>

> wrote:
> ...
>
>
>
>
>
> > I have looked at FASM but the tutorial on the website is work in
> > progress. =3DA0Also the other documentation is being worked on, no
> > skeleton asm file etc. =3DA0It looks good but I wouldnt know where to

> > start.
>
> > NASM seems popular and the tutorial by Paul A. Carter looks nice but
> > assumes a driver.c file and gcc and stuff. =3DA0The NASM manual was har=
d
> > to read. =3DA0It starts with describing a lot of instructions and even
> > macros but no example programs or skeletons. =3DA0It does not provide t=

he
> > hands-on approach I would love.
> > Some other assemblers had even less documentation.
>
> > As an example of what I feel is great documentation, there is
> > Programming from the ground up by Jonathan Bartlett, but it is for
> > linux.
>
> > Maybe I am looking for something that doesn't exist, anybody?
>
> Well, in NASM sources you may find test/ directory with a number
> of examples. Though NASM is an assembler only, not linker, which means
> it doesn't produce .exe for you but .obj rather.
>

Not quite so. You can prepend an exe header to a -f bin form, see..

http://www.project-fbin.hostoi.com/nasmhints/binspace/binexe/bin_exe.html

for an example template. Also shown, with NASM, mixing 16 & 32 bit
instructions is easy.

Steve

> Hope it helps :)- Hide quoted text -
>
> - Show quoted text -

David

unread,
Nov 28, 2009, 10:57:25 PM11/28/09
to

I think MASM is the solution for Windows. Yes, the others have
features and a lot of support via newsgroups but it is not possible to
implement an OS (commercial) without any assembler. MASM really comes
in three forms, all for free. They are different to some degree.
Download the WDK for Windows and you will find all three in it.
Together they support x86, x64, & ia64. The ia64 version is really
from Intel. There is a protected mode linker in the same subdirectory
or a subdirectory off the one where ml, ml64, or ias executables are
located.

There are some web pages with the entire MASM manual from version 6.11
available on the Internet. You can search the web for a 16-bit
real-mode linker if you wish to target DOS or for creating boot
sectors.

Normally I would not recommend assembly in production code except for
some games and other specialized tasks. Current 'C' compilers
generate better code than you can do with assembly until you have many
years experience in assembly and fully understand the instruction set
of your target CPU. Various Intel and AMD CPUs have different timings
for instructions so you could produce inefficient code easily.

I do believe that no one can become a proficient programmer without
understanding assembly. In that case, just pick one and live with the
syntax for that assembler. It was quite a jump from MASM 5 to 6 even
staying with Microsoft, but most of the older forms still worked with
the new version.

On 29 Nov 2009 01:06:20 GMT, James Harris
<james.h...@MUNGED.microcosmo.com> wrote:

>
>On 28 Nov, 22:21, Joost <joost.ja...@MUNGED.microcosmotalk.com> wrote:
>> After searching the internet for a while I feel a bit lost. =

=3DA0Looking


>> for an assembler with the following characteristics, in order of
>> importance for me:
>> - free, or not expensive, or free until used succesful commercially
>> - usable under Windows (i have Vista now)
>> - the resulting executable should be distributable like a single .exe

>> file, no extra stuff needed. =3DA0This is important because it =


eventually
>> has to be distributed to others who are not willing/capable to install
>> extras.
>> - documentation that at least shows a skeleton asm file with some
>> explanations and how to produce executables from it, step by step, at
>> least for command line mode (CMD box) and maybe for Windows mode too.
>> I found that some tools produce .COM files that are not usable with
>> Vista and up anymore (a window appears with "This system does not
>> support full-screen mode".).
>> - no restrictions for resulting executables (memory size, data size,
>> etc)
>> - simple and concise where possible
>> - no C compiler or make tools or linkers needed preferably
>> - no cygwin or other msys or whatever needed
>> - speed is not such a big issue
>> - full intel support or support for the latest opcodes etc. is not so
>> important
>>
>> The kind of application I would like to learn to make is something

>> like a Forth system =
(http://en.wikipedia.org/wiki/Forth_programming_langu=3D
>age
>> ), but maybe without the interactive mode. =3DA0Should be able to use =


it
>> on the command line like
>> C:\> myprogram < input.txt > output.txt
>>
>> I have looked at FASM but the tutorial on the website is work in

>> progress. =3DA0Also the other documentation is being worked on, no
>> skeleton asm file etc. =3DA0It looks good but I wouldnt know where to


>> start.
>>
>> NASM seems popular and the tutorial by Paul A. Carter looks nice but

>> assumes a driver.c file and gcc and stuff. =3DA0The NASM manual was =
hard
>> to read. =3DA0It starts with describing a lot of instructions and even
>> macros but no example programs or skeletons. =3DA0It does not provide =


the
>> hands-on approach I would love.
>> Some other assemblers had even less documentation.
>>
>> As an example of what I feel is great documentation, there is
>> Programming from the ground up by Jonathan Bartlett, but it is for
>> linux.
>>
>> Maybe I am looking for something that doesn't exist, anybody?
>
>If you want to run under Windows the biggest thing to learn is
>probably the Windows calls themselves and which dll they are in. The
>specific language or assembler may be less of an issue but pick one
>you are happy to work with long term. There are primers on getting
>started at
>
> http://codewiki.wikispaces.com/winstdout.nasm
> http://codewiki.wikispaces.com/winpopup.nasm
>
>These use Nasm which is one of the best out there. You do need a
>linker but one that is easy to use is linked from the pages along with
>notes on how to use it. If you want to run assembler and linker
>together so you can forget the presence of a linker you could make a
>batch file something like
>
>@echo off

>if "%1" =3D3D=3D3D "" goto usage
>if not "%2" =3D3D=3D3D "" goto usage

Alexei A. Frounze

unread,
Nov 29, 2009, 7:39:40 AM11/29/09
to

On Nov 28, 7:00=A0pm, s_dubrov...@MUNGED.microcosmotalk.com wrote:
> On Nov 28, 4:39=3DA0pm, cyrillos <gorcu...@MUNGED.microcosmotalk.com>
> wrote:
>
>
>
> > On Nov 29, 1:21=3D3DA0am, Joost <joost.ja...@MUNGED.microcosmotalk.com>

> > wrote:
> > ...
>
> > > I have looked at FASM but the tutorial on the website is work in
> > > progress. =3D3DA0Also the other documentation is being worked on, no
> > > skeleton asm file etc. =3D3DA0It looks good but I wouldnt know where =

to
> > > start.
>
> > > NASM seems popular and the tutorial by Paul A. Carter looks nice but
> > > assumes a driver.c file and gcc and stuff. =3D3DA0The NASM manual was=
har=3D
> d
> > > to read. =3D3DA0It starts with describing a lot of instructions and e=
ven
> > > macros but no example programs or skeletons. =3D3DA0It does not provi=
de t=3D

> he
> > > hands-on approach I would love.
> > > Some other assemblers had even less documentation.
>
> > > As an example of what I feel is great documentation, there is
> > > Programming from the ground up by Jonathan Bartlett, but it is for
> > > linux.
>
> > > Maybe I am looking for something that doesn't exist, anybody?
>
> > Well, in NASM sources you may find test/ directory with a number
> > of examples. Though NASM is an assembler only, not linker, which means
> > it doesn't produce .exe for you but .obj rather.
>
> Not quite so. =A0You can prepend an exe header to a -f bin form, see..
>
> http://www.project-fbin.hostoi.com/nasmhints/binspace/binexe/bin_exe....
>
> for an example template. =A0Also shown, with NASM, mixing 16 & 32 bit
> instructions is easy.

Isn't that useless if the DOS/16-bit support is absent or severely
broken (as is the case with Vista+ and 64-bit Windows)? That seems to
be the OP's case.

Alex

Bob Masta

unread,
Nov 29, 2009, 10:45:38 AM11/29/09
to

On 28 Nov 2009 22:21:58 GMT, Joost
<joost...@MUNGED.microcosmotalk.com> wrote:

MASM32 heartily recommended!


Bob Masta

DAQARTA v4.51
Data AcQuisition And Real-Time Analysis
www.daqarta.com
Scope, Spectrum, Spectrogram, Sound Level Meter
FREE Signal Generator
Science with your sound card!

pe...@nospam.demon.co.uk

unread,
Nov 29, 2009, 10:47:04 AM11/29/09
to

In article <4b126b8c$0$5116$9a6e...@unlimited.newshosting.com>

alexf...@MUNGED.microcosmotalk.com "Alexei A. Frounze" writes:

> On Nov 28, 7:00=A0pm, s_dubrov...@MUNGED.microcosmotalk.com wrote:
> > On Nov 28, 4:39=3DA0pm, cyrillos <gorcu...@MUNGED.microcosmotalk.com>
> > wrote:
> >
> >
> >
> > > On Nov 29, 1:21=3D3DA0am, Joost <joost.ja...@MUNGED.microcosmotalk.com>
> > > wrote:
> > > ...

[...]

I'm seeing more and more articles like this -- i.e. unannounced
quoted-printable encoding, resulting in the sort of output above
and which I think created a distraction for the reader. OK, me.

Might I be so bold as to make a suggestion?

Either (1) posters switch off MIME in their newsreaders and post
in plain [ASCII] text, or (2) that the robomoderation software be
updated to preserve contributors' MIME headers when articles are
published?

Just a thought...
Pete
--
"We have not inherited the earth from our ancestors,
we have borrowed it from our descendants."

Frank Kotler

unread,
Nov 29, 2009, 10:48:56 AM11/29/09
to

Alexei A. Frounze wrote:

...


>> http://www.project-fbin.hostoi.com/nasmhints/binspace/binexe/bin_exe....
>>
>> for an example template. =A0Also shown, with NASM, mixing 16 & 32 bit
>> instructions is easy.
>
> Isn't that useless if the DOS/16-bit support is absent or severely
> broken (as is the case with Vista+ and 64-bit Windows)? That seems to
> be the OP's case.

Steve's example is for a 16-bit bit MZ, but you can do the same thing
for PE. Not a very flexible way to make an .exe, but any assembler with
flat binary output will do it. Fasm makes it easier, and is probably
what he wants. Here's the example code - straight from the Fasm download:

;----------------------------------------------------------
; fasm example of writing 32-bit PE program using Win32 API

format PE GUI
entry start

include 'windows.inc'

section '.code' code readable executable

start:

push MB_OK + MB_ICONEXCLAMATION
push _caption
push _message
push 0
call [MessageBox]

push 0
call [ExitProcess]

section '.data' data readable writeable

_caption db 'Win32 assembly program',0
_message db 'Hello World!',0

section '.idata' import data readable writeable

dd 0,0,0,RVA kernel_name,RVA kernel_table
dd 0,0,0,RVA user_name,RVA user_table
dd 0,0,0,0,0

kernel_table:
ExitProcess dd RVA _ExitProcess
dd 0
user_table:
MessageBox dd RVA _MessageBoxA
dd 0

kernel_name db 'KERNEL32.DLL',0
user_name db 'USER32.DLL',0

_ExitProcess dw 0
db 'ExitProcess',0
_MessageBoxA dw 0
db 'MessageBoxA',0

section '.reloc' fixups data readable discardable
;------------------------------------------------

If OP couldn't find this, I have doubts for the success of this project.

Best,
Frank

s_dub...@munged.microcosmotalk.com

unread,
Nov 29, 2009, 6:00:30 PM11/29/09
to

On Nov 29, 6:39=A0am, "Alexei A. Frounze"
<alexfrun...@MUNGED.microcosmotalk.com> wrote:
> On Nov 28, 7:00=3DA0pm, s_dubrov...@MUNGED.microcosmotalk.com wrote:
>
>
>
>
>
> > On Nov 28, 4:39=3D3DA0pm, cyrillos <gorcu...@MUNGED.microcosmotalk.com>
> > wrote:
>
> > > On Nov 29, 1:21=3D3D3DA0am, Joost <joost.ja...@MUNGED.microcosmotalk.=

com>
> > > wrote:
> > > ...
>
> > > > I have looked at FASM but the tutorial on the website is work in
> > > > progress. =3D3D3DA0Also the other documentation is being worked on,=
no
> > > > skeleton asm file etc. =3D3D3DA0It looks good but I wouldnt know wh=
ere =3D
> to
> > > > start.
>
> > > > NASM seems popular and the tutorial by Paul A. Carter looks nice bu=
t
> > > > assumes a driver.c file and gcc and stuff. =3D3D3DA0The NASM manual=
was=3D
> =A0har=3D3D
> > d
> > > > to read. =3D3D3DA0It starts with describing a lot of instructions a=
nd e=3D
> ven
> > > > macros but no example programs or skeletons. =3D3D3DA0It does not p=
rovi=3D
> de t=3D3D

> > he
> > > > hands-on approach I would love.
> > > > Some other assemblers had even less documentation.
>
> > > > As an example of what I feel is great documentation, there is
> > > > Programming from the ground up by Jonathan Bartlett, but it is for
> > > > linux.
>
> > > > Maybe I am looking for something that doesn't exist, anybody?
>
> > > Well, in NASM sources you may find test/ directory with a number
> > > of examples. Though NASM is an assembler only, not linker, which mean=

s
> > > it doesn't produce .exe for you but .obj rather.
>
> > Not quite so. =3DA0You can prepend an exe header to a -f bin form, see.=
.
>
> >http://www.project-fbin.hostoi.com/nasmhints/binspace/binexe/bin_exe....
>
> > for an example template. =3DA0Also shown, with NASM, mixing 16 & 32 bit

> > instructions is easy.
>
> Isn't that useless if the DOS/16-bit support is absent or severely
> broken (as is the case with Vista+ and 64-bit Windows)? That seems to
> be the OP's case.
>

I don't know enough to answer your points.

It seems that the OP wanted a command line target, but my reply was
directed to cyrillos to point out that an exe header can be hand
crafted without the need for .obj's and linking.

As to Vista, I haven't retrograded to it. But I did find in a store
display that cmd.exe was on it and debug was still available. Doing
maintenance on my aunts Vista box dissuaded me from switching over.

As to windows 7, in a store display this weekend, I managed to put the
gui into a logic trap before I went very far exploring it. I managed
to cause some error to which it launched a diagnostics window to
trouble shoot, by connecting to the internet. Since there was no
internet connection in the store display, it couldn't proceed, and it
wouldn't let me close the diagnostics window to try something else.
phewey. Your mileage may vary.

But if I did have those, I'd still be using these old boxes to bitbang
on, if only for safety.

Steve

> Alex- Hide quoted text -

ArarghMai...@not.at.arargh.com

unread,
Nov 29, 2009, 6:55:30 PM11/29/09
to

On 29 Nov 2009 15:47:04 GMT, pe...@nospam.demon.co.uk wrote:

>
>In article <4b126b8c$0$5116$9a6e...@unlimited.newshosting.com>
> alexf...@MUNGED.microcosmotalk.com "Alexei A. Frounze" writes:
>
>> On Nov 28, 7:00=A0pm, s_dubrov...@MUNGED.microcosmotalk.com wrote:
>> > On Nov 28, 4:39=3DA0pm, cyrillos <gorcu...@MUNGED.microcosmotalk.com>
>> > wrote:
>> >
>> >
>> >
>> > > On Nov 29, 1:21=3D3DA0am, Joost <joost.ja...@MUNGED.microcosmotalk.com>
>> > > wrote:
>> > > ...
>[...]
>
>I'm seeing more and more articles like this -- i.e. unannounced
>quoted-printable encoding, resulting in the sort of output above
>and which I think created a distraction for the reader. OK, me.

Me too. :-)

>Might I be so bold as to make a suggestion?
>
>Either (1) posters switch off MIME in their newsreaders and post
>in plain [ASCII] text, or (2) that the robomoderation software be
>updated to preserve contributors' MIME headers when articles are
>published?

Wouldn't just stop using Quoted-Printable be enough?

>Just a thought...
I expressed a similar thought some time back. Seems to have been
ignored.

>Pete
--
ArarghMail911 at [drop the 'http://www.' from ->] http://www.arargh.com
BCET Basic Compiler Page: http://www.arargh.com/basic/index.html

To reply by email, remove the extra stuff from the reply address.

pe...@nospam.demon.co.uk

unread,
Nov 30, 2009, 9:52:48 AM11/30/09
to

In article <4b1309f2$0$4847$9a6e...@unlimited.newshosting.com>
ArarghMai...@NOT.AT.Arargh.com writes:

> On 29 Nov 2009 15:47:04 GMT, pe...@nospam.demon.co.uk wrote:
>
> >
> >In article <4b126b8c$0$5116$9a6e...@unlimited.newshosting.com>
> > alexf...@MUNGED.microcosmotalk.com "Alexei A. Frounze" writes:
> >
> >> On Nov 28, 7:00=A0pm, s_dubrov...@MUNGED.microcosmotalk.com wrote:

[1]----------------^


> >> > On Nov 28, 4:39=3DA0pm, cyrillos <gorcu...@MUNGED.microcosmotalk.com>

[2]------------------^


> >> > wrote:
> >> >
> >> >
> >> >
> >> > > On Nov 29, 1:21=3D3DA0am, Joost <joost.ja...@MUNGED.microcosmotalk.com>

[3]--------------------^


> >> > > wrote:
> >> > > ...
> >[...]
> >
> >I'm seeing more and more articles like this -- i.e. unannounced
> >quoted-printable encoding, resulting in the sort of output above
> >and which I think created a distraction for the reader. OK, me.
>
> Me too. :-)

Its reassuring to hear that one is not alone :-)

> >Might I be so bold as to make a suggestion?
> >
> >Either (1) posters switch off MIME in their newsreaders and post
> >in plain [ASCII] text, or (2) that the robomoderation software be
> >updated to preserve contributors' MIME headers when articles are
> >published?
> Wouldn't just stop using Quoted-Printable be enough?

It should be. The problem seems to be caused by a (IMO unnecessary)
non-break space [0A0h, 1] being encoded as "=A0" and each time it
is requoted the 'equals' becomes "=3D" so it is not long before
the whole thing snowballs into a string of "3D3D3D...". But getting
the entire posting community to change their newsreaders to disable

Content-Transfer-Encoding: quoted-printable

is asking a lot. Altering the publishing software to include the
original poster's MIME headers (if any) would fix the problem at a
stroke. I.e. retaining

Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8 (or whatever)
Content-Transfer-Encoding: quoted-printable

would give readers' software the clues it needs to decode the
text and render it legibly.

> >Just a thought...
> I expressed a similar thought some time back. Seems to have been
> ignored.

Maybe if enough interest is shown, something will get done? I
appreciate that the mods are volunteering their time for the
benefit of this group (which is greatly appreciated by the way!)
so maybe this can be added to the "wishlist" of future software
updates?

Respectfully,

wolfgang kern

unread,
Nov 30, 2009, 9:53:38 AM11/30/09
to

pete suggested:

[...about annoying, redundant =3DA0 and stuff]

> I'm seeing more and more articles like this -- i.e. unannounced
> quoted-printable encoding, resulting in the sort of output above
> and which I think created a distraction for the reader. OK, me.

> Might I be so bold as to make a suggestion?

> Either (1) posters switch off MIME in their newsreaders and post
> in plain [ASCII] text, or (2) that the robomoderation software be
> updated to preserve contributors' MIME headers when articles are
> published?

> Just a thought...
> Pete

motion seconded, perhaps (2) a filter for google-posts may do it.

__
wolfgang

Frank Kotler

unread,
Nov 30, 2009, 11:09:35 AM11/30/09
to

You are absolutely correct, Pete, and I apologize for goofing off on it.

Anyone know Python?

I think maybe adding a few lines to the very last routine in
serverFiles.py might do the trick(?). PyModerator parses the message,
and returns the header as a "dictionary"(???). This seems to be where
"From:", "Subject:", etc. get added on to what gets sent(?). I keep
saying "code is code", but this Python is a cryptic reptile...

I suppose we could bang on the author to fix it. Seems almost too much
like asking for directions. :)

We'll look into it (we keep saying that!). In the meantime, try not to
use "quoted-printable" if you can avoid it (not always easy).

Best,
Frank

pe...@nospam.demon.co.uk

unread,
Nov 30, 2009, 3:32:37 PM11/30/09
to

In article <4b13ee3e$0$4874$9a6e...@unlimited.newshosting.com>
fbko...@myfairpoint.net "Frank Kotler" writes:

> pe...@nospam.demon.co.uk wrote:
[..]


> > Maybe if enough interest is shown, something will get done? I
> > appreciate that the mods are volunteering their time for the
> > benefit of this group (which is greatly appreciated by the way!)
> > so maybe this can be added to the "wishlist" of future software
> > updates?
> >
> > Respectfully,
> > Pete
>
> You are absolutely correct, Pete, and I apologize for goofing off on it.

No need to apologise, Frank! There is a Life outside of c.l.a.x86
after all...

> Anyone know Python?

I can learn :-) Seriously though I'd be happy to give it a go if
you don't receive any other offers. Is the source available
online somewhere for viewing? If not and you'd like to take the
thread to email you should be able to contact me at papadelta dt
co dt uk using my name.

> I think maybe adding a few lines to the very last routine in
> serverFiles.py might do the trick(?). PyModerator parses the message,
> and returns the header as a "dictionary"(???). This seems to be where
> "From:", "Subject:", etc. get added on to what gets sent(?). I keep
> saying "code is code", but this Python is a cryptic reptile...

From the tiny amount of Python I've looked at, I'll second that!
But with a bit of snake oil I'm sure it's fixable...

> I suppose we could bang on the author to fix it. Seems almost too much
> like asking for directions. :)
>
> We'll look into it (we keep saying that!). In the meantime, try not to
> use "quoted-printable" if you can avoid it (not always easy).
>
> Best,
> Frank

Indeed. And thanks for taking the time to reply.

Tim Roberts

unread,
Dec 1, 2009, 10:00:33 AM12/1/09
to

Joost <joost...@MUNGED.microcosmotalk.com> wrote:
>
>I found that some tools produce .COM files that are not usable with
>Vista and up anymore (a window appears with "This system does not
>support full-screen mode".).

Right. You need to understand that there are a certain number of
self-contradictions in your requirements.

..COM files are necessarily 16-bit executables. 16-bit executables are no
longer supported on the 64-bit operating systems -- they are dead, finally.

That means you're going to need to create PE files, either 32-bit or
64-bit. It also means you must necessarily use a linker.

MASM should do what you need, although NASM could as well.

>The kind of application I would like to learn to make is something
>like a Forth system ( http://en.wikipedia.org/wiki/Forth_programming_language
>), but maybe without the interactive mode. Should be able to use it
>on the command line like
>C:\> myprogram < input.txt > output.txt

That doesn't necessarily have to be done in assembler.
--
Tim Roberts, ti...@probo.com
Providenza & Boekelheide, Inc.

robert...@munged.microcosmotalk.com

unread,
Dec 1, 2009, 10:01:28 AM12/1/09
to

On Nov 28, 4:21=A0pm, Joost <joost.ja...@MUNGED.microcosmotalk.com>
wrote:
> After searching the internet for a while I feel a bit lost. =A0Looking

> for an assembler with the following characteristics, in order of
> importance for me:
> - free, or not expensive, or free until used succesful commercially
> - usable under Windows (i have Vista now)
> - the resulting executable should be distributable like a single .exe
> file, no extra stuff needed. =A0This is important because it eventually

> has to be distributed to others who are not willing/capable to install
> extras.
> - documentation that at least shows a skeleton asm file with some
> explanations and how to produce executables from it, step by step, at
> least for command line mode (CMD box) and maybe for Windows mode too.
> I found that some tools produce .COM files that are not usable with
> Vista and up anymore (a window appears with "This system does not
> support full-screen mode".).
> - no restrictions for resulting executables (memory size, data size,
> etc)
> - simple and concise where possible
> - no C compiler or make tools or linkers needed preferably
> - no cygwin or other msys or whatever needed
> - speed is not such a big issue
> - full intel support or support for the latest opcodes etc. is not so
> important


MASM is included with current versions of Visual Studio Express (C++)
Edition from MS. Which is free. Other than the "no linker"
requirement (which is kinda silly), and a decided lack of sample code
(although there's plenty around the internet), it does pretty much
everything you ask.

And while the linker is required, just compiling with ml from a
command line (IOW, "ml myprog.asm"), automatically runs the linker, so
you don't have to deal with in for a simple program.

Steve

unread,
Dec 1, 2009, 10:03:07 AM12/1/09
to

pe...@nospam.demon.co.uk writes:
>
> ...

>It should be. The problem seems to be caused by a (IMO unnecessary)
>non-break space [0A0h, 1] being encoded as "=A0"

This is so stupid. What was the intended purpose?
Or what is the stated purpose for this?

Regards,

Steve N.

ArarghMai...@not.at.arargh.com

unread,
Dec 1, 2009, 3:44:00 PM12/1/09
to

Well, the non-break space I think is used to change the point at which
line wrapping occurs.

And the Quoted-Printable is needed to send 8 bit data across a 7 bit
link, if there are any left.
--
ArarghMail912 at [drop the 'http://www.' from ->] http://www.arargh.com

hutch--

unread,
Dec 2, 2009, 9:00:04 PM12/2/09
to

Joost,

While there are many good tools around for writing assembler on the 32
bit platforms, if your target is 32 bit Windows you will find the most
reference material and the best support for MASM. It has been around
for over 25 years, has a massive number of people who know how to
write it and it is regularly updated on a needs basis by Microsoft. It
also comes for free if you can suffer the download size of their
current SDKs.

Now RE the MASM32 Project that I maintain, it will build skeletons for
32 bit code for you and build reliably without having to scoure the
internet for other bits, libraries, linkers, tools etc .... You still
have to get both the Intel and Microsoft reference material for
mnemonics and API respectively but it will get tiny executable up and
going very quickly for you, that is what it is designed to do.

There are a number of 64 bit assembler around but the support is poor,
the tools are on average very ordinary and there is little example
code available. 64 bit is coming but its a bit like watching paint
dry.

It does not target 16 bit DOS code but the assembler will still build
the old stuff and a 16 bit Microsoft linker is supplied for those who
have some use in writing 16 bit real mode code.

Regards,

hutch

0 new messages