News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Introduction and question

Started by A_B, December 13, 2009, 12:53:37 AM

Previous topic - Next topic

dedndave

also, i think Hutch wanted the package to install and work - i can see his goal, there
they are lucky it wasn't me - lol
my approach would have been, "if you don't understand environment variables, your language of choice is BASIC" - lol

jj2007

Quote from: dedndave on December 13, 2009, 01:02:11 PM
also, i think Hutch wanted the package to install and work - i can see his goal, there
they are lucky it wasn't me - lol
my approach would have been, "if you don't understand environment variables, your language of choice is BASIC" - lol

The problem is that setting environment variables is not that straightforward. It depends on your Windows version, and sometimes on security settings on which you may have no control. Hard-coded paths look terribly old-fashioned, but they work...

hutch--

There is virtue in not taking over the historical environment names for your own app as it allows you to set up multiple environments that are mutually exclusive in how they do things without interfering with each other. I have multiple versions of C compilers set up, multiple copies of MASM set up and a few others as well and they all work fine because they do not overwrite each others environmental setups.

Dave is right in the other factor, so few these days can properly set up a computer and the error rate of incorrectly set up machines was massive and so many would not install the project as per its instructions so I set it up so it installs in a fixed directory wth hard coded paths so it works properly and does not compete with other software installations.

The alternative is to take over the machine, overwrite everything elses environment, steal all the the required file extensions and do a slash and burn like other packages do which is not acceptable under the projects design as it is intended to be available to other systems like VC that can use masm without messing them up.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

redskull

Quote from: A_B on December 13, 2009, 11:10:50 AM
I presume then that "absolute hardcore pure assembly" is only for programming that is completely independant of the OS?

Generally, yes, but it's a mixed bag; in any program running under any 32-bit protected mode operating system, the most "pure" you can get is normally interacting with the peripherals via *mandatory* system calls (which includes printing '1' to the screen).  If you write for something like DOS (or FreeDOS), or something else without a protected mode O/S, you can do anything you want.  As a third option, you can write obsolete DOS code and run it under Windows, which will do a good job 'emulating' the low level stuff.

That being said, the less your program interacts with the peripherals, the less system calls you have to make.  For example, to do math on a list of numbers in a file and display the result, it would involve using Windows code to read the file, your own code for doing the math, and Windows code for printing the results to the screen.

-r
Strange women, lying in ponds, distributing swords, is no basis for a system of government

dedndave

in days of old, it was nice to be able to alter an environment variable and assemble the same program with
a completely different library version, without moving files around or typing some long command line
that method is not as usefull as it used to be back in the days of dos
now, there is only one memory model, really - lol
if i have a need to do that, i know how to get there