Randy Hyde's AOA masm 16bit and windows 7 (my problem)

Started by anouarattn, February 01, 2012, 06:01:28 PM

Previous topic - Next topic

anouarattn

hello

sorry if i don't write a correct english I'm from italy

I work with this book http://www.arl.wustl.edu/~lockwood/class/cs306/books/artofasm/toc.html but i can't assemble the shell.asm file I think because I work in 32bit system (windows 7) and this book is for 16bit system also I use masm32 and in the book they use masm611

I want really to learn this book but i don't know Operating system i must use for working like in the book
please help me  I a beginner

dedndave

ciao - welcome to the forum   :U

yes - the shell program is 16-bit
you can assemble it using the version of MASM included with the masm32 package
however, you must use the 16-bit linker (Link16.exe) instead of the 32-bit linker (link.exe)
of course, you also need Randy's 16-bit libraries

Randy's book is a great reference
i often refer beginners to the first several chapters

but there are always problems when trying to use one set of libraries (Randy Hyde) with another set (masm32)
also, you probably don't want to spend too much time learning 16-bit code
you would be much better off learning 32-bit

dedndave

here are the command lines...

\masm32\bin\ml /c shell.asm
\masm32\bin\Link16 shell.obj

anouarattn

this is my shell.asm file
http://pastebin.com/6KTTnEJi

but when \masm32\bin\ml /c shell.asm
\masm32\bin\Link16 shell.obj

masm give me this error


thank you very much for help

dedndave

dseg segment para public 'data'

you are using accent graves (' ') instead of apostrophes or single-quotes (')   :P

dseg segment para public 'data'

anouarattn

thank you

when i execute link16 shell.obj this is the picture


the line libraries [.lib]: want a path of a libraries I think when I put c:\stdlib\lib\stdlib.lib (the path of the book aoa libraries) the linker work is c:\stdlib\lib\stdlib.lib the correct libraries or i must put sth other



thanks you very very very very much

dedndave

i don't understand the picture   :P
that appears to be some radical islamic newspaper

oh - different picture, now - lol

dedndave

you have added the INCLUDE and INCLUDELIB lines in the source
just tell it no libraries
you can terminate the input line with a semicolon to make it assemble as is - i didn't think you'd see those lines

Link16 shell.obj;


anouarattn



dedndave

we normally put the masm32\bin folder in the PATH environment variable
then use batch files to assemble
let me know if you need help with either of those

jj2007

Quote from: anouarattn on February 01, 2012, 07:13:31 PM
when i execute link16 shell.obj this is the picture

Click on the upper left corner of your console window; a menu will show. Near the bottom, you find "Modifica". Hover over it, then go right and click on "Segna". Use the mouse to choose the rectangle you want to copy, then hit Return. Afterwards, you can simply paste the text.

Benvenuto al Forum :thumbu