This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||
|
The following Wikipedia contributor may be personally or professionally connected to the subject of this article. Relevant policies and guidelines may include conflict of interest, autobiography, and neutral point of view. |
The contents of the RDOFF page were merged into Netwide Assembler on 2014-11-04. For the contribution history and old versions of the redirected page, please see its history; for the discussion at that location, see its talk page. |
"It was originally copyrighted but it is now available as free software under the terms of the GNU Lesser General Public License" It sure is still copyrighted as otherwise it would have been donated into the public domain and not licensed LGPL. It was probably closed source (or otherwise restricted before). -- 213.39.162.9 ( talk) 19:59, 10 September 2008 (UTC)
It was under an ad hoc and very awkward license. Most of the developers decided they had no interest in continuing to work on the project under that license, and NASM got kicked off Sourceforge due to the license not being OSI-approved. -- Hpa ( talk) 23:06, 15 September 2008 (UTC)
How did it come by its name? "Netwide Assembler" seems kind of odd. Is it like Nethack in its derivation? -- Gwern (contribs) 18:39, 4 November 2006 (UTC)
Could anyone elaborate on the political problems mentioned? If they caused a license change, they may be significant enough to have their own section. Obonicus 15:01, 24 August 2007 (UTC)
Could somebody reword this:
"NASM principally outputs object files, which are generally not executable in and of themselves. The only exception to this are flat binaries (e.g. .COM) which are inherently limited in modern use."
Why "NASM"? (Isn't the rest of the paragraph equally applicable to all assemblers?) Why "principally"? Why "generally"? Is "in and of themselves" necessary? "Exception" to what, precisely? (Their ability to be executed? I thought object files ended in ".O", and simple, headerless command file executables under 64 kilobytes, if that's the way to describe them, ended in ".COM", so wouldn't they have to be renamed, at least?) What does "flat" mean? Are there many examples besides ".COM"? Why "inherently"? "Limited" how? How "modern"? Do ".COM" binaries work, and if so, why are they less useful today than in the past? (As far as I know, they work fine, and work on my Windows XP computer, as far as I can tell, just as they did on my IBM PC in the early 1980's.)
I hope the statement can be made less verbose and more definitive without loss of accuracy, yet comprehensible to a wider audience. Perhaps this would do (if it's correct):
"Assemblers produce object files, which do not contain legible text, but instructions to central processing units. Those assembled on the TINY model can be executed directly, but otherwise are accompanied by other files, to be linked (compiled?) into an executable program." Unfree ( talk) 22:46, 25 December 2007 (UTC)
Seeing as even DOS has a sample program can a "Hello World" for OSX assembly be included as well? Perhaps the code on http://peter.michaux.ca/articles/assembly-hello-world-for-os-x if allowed? — Preceding unsigned comment added by Friecode ( talk • contribs) 00:00, 15 March 2011 (UTC)
The following NASM source code was verified to work with all the 8 mentioned Unix-like operating systems. The system-dependent part in the beginning can be separated in a header file, which in turn can be expanded to include more system calls than just two. -- Лъчезар☭共产主义万岁★ 17:12, 18 June 2014 (UTC)
; MacOS X: /usr/local/bin/nasm -f macho64 *.s && ld -macosx_version_min 10.7 *.o
; Solaris/FreeBSD/DragonFly: nasm -f elf64 -D UNIX *.s && ld *.o
; NetBSD: nasm -f elf64 -D UNIX -D NetBSD *.s && ld *.o
; OpenBSD: nasm -f elf64 -D UNIX -D OpenBSD *.s && ld -static *.o
; OpenIndiana: nasm -f elf64 -D UNIX *.s && ld -m elf_x86_64 *.o
; Linux: nasm -f elf64 *.s && ld *.o
%ifdef NetBSD
section .note.netbsd.ident
dd 7,4,1
db "NetBSD",0,0
dd 200000000 ; amd64 supported since 2.0
%endif
%ifdef OpenBSD
section .note.openbsd.ident
align 2
dd 8,4,1
db "OpenBSD",0
dd 0
align 2
%endif
section .text
%ifidn __OUTPUT_FORMAT__, macho64 ; MacOS X
%define SYS_exit 0x2000001
%define SYS_write 0x2000004
global start
start:
%elifidn __OUTPUT_FORMAT__, elf64
%ifdef UNIX ; Solaris/OI/FreeBSD/NetBSD/OpenBSD/DragonFly
%define SYS_exit 1
%define SYS_write 4
%else ; Linux
%define SYS_exit 60
%define SYS_write 1
%endif
global _start
_start:
%else
%error "Unsupported platform"
%endif
mov rax,SYS_write
mov rdi,1 ; stdout
mov rsi,msg
mov rdx,len
syscall
mov rax,SYS_exit
xor rdi,rdi ; exit code 0
syscall
section .data
msg db "Hello, world!",10
len equ $-msg
Hello fellow Wikipedians,
I have just added archive links to one external link on
Netwide Assembler. Please take a moment to review
my edit. If necessary, add {{
cbignore}}
after the link to keep me from modifying it. Alternatively, you can add {{
nobots|deny=InternetArchiveBot}}
to keep me off the page altogether. I made the following changes:
When you have finished reviewing my changes, please set the checked parameter below to true to let others know.
An editor has reviewed this edit and fixed any errors that were found.
Cheers. — cyberbot II Talk to my owner:Online 16:44, 28 August 2015 (UTC)
Hello fellow Wikipedians,
I have just modified 3 external links on Netwide Assembler. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
This message was posted before February 2018.
After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than
regular verification using the archive tool instructions below. Editors
have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the
RfC before doing mass systematic removals. This message is updated dynamically through the template {{
source check}}
(last update: 5 June 2024).
Cheers.— InternetArchiveBot ( Report bug) 11:33, 16 February 2018 (UTC)
This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||
|
The following Wikipedia contributor may be personally or professionally connected to the subject of this article. Relevant policies and guidelines may include conflict of interest, autobiography, and neutral point of view. |
The contents of the RDOFF page were merged into Netwide Assembler on 2014-11-04. For the contribution history and old versions of the redirected page, please see its history; for the discussion at that location, see its talk page. |
"It was originally copyrighted but it is now available as free software under the terms of the GNU Lesser General Public License" It sure is still copyrighted as otherwise it would have been donated into the public domain and not licensed LGPL. It was probably closed source (or otherwise restricted before). -- 213.39.162.9 ( talk) 19:59, 10 September 2008 (UTC)
It was under an ad hoc and very awkward license. Most of the developers decided they had no interest in continuing to work on the project under that license, and NASM got kicked off Sourceforge due to the license not being OSI-approved. -- Hpa ( talk) 23:06, 15 September 2008 (UTC)
How did it come by its name? "Netwide Assembler" seems kind of odd. Is it like Nethack in its derivation? -- Gwern (contribs) 18:39, 4 November 2006 (UTC)
Could anyone elaborate on the political problems mentioned? If they caused a license change, they may be significant enough to have their own section. Obonicus 15:01, 24 August 2007 (UTC)
Could somebody reword this:
"NASM principally outputs object files, which are generally not executable in and of themselves. The only exception to this are flat binaries (e.g. .COM) which are inherently limited in modern use."
Why "NASM"? (Isn't the rest of the paragraph equally applicable to all assemblers?) Why "principally"? Why "generally"? Is "in and of themselves" necessary? "Exception" to what, precisely? (Their ability to be executed? I thought object files ended in ".O", and simple, headerless command file executables under 64 kilobytes, if that's the way to describe them, ended in ".COM", so wouldn't they have to be renamed, at least?) What does "flat" mean? Are there many examples besides ".COM"? Why "inherently"? "Limited" how? How "modern"? Do ".COM" binaries work, and if so, why are they less useful today than in the past? (As far as I know, they work fine, and work on my Windows XP computer, as far as I can tell, just as they did on my IBM PC in the early 1980's.)
I hope the statement can be made less verbose and more definitive without loss of accuracy, yet comprehensible to a wider audience. Perhaps this would do (if it's correct):
"Assemblers produce object files, which do not contain legible text, but instructions to central processing units. Those assembled on the TINY model can be executed directly, but otherwise are accompanied by other files, to be linked (compiled?) into an executable program." Unfree ( talk) 22:46, 25 December 2007 (UTC)
Seeing as even DOS has a sample program can a "Hello World" for OSX assembly be included as well? Perhaps the code on http://peter.michaux.ca/articles/assembly-hello-world-for-os-x if allowed? — Preceding unsigned comment added by Friecode ( talk • contribs) 00:00, 15 March 2011 (UTC)
The following NASM source code was verified to work with all the 8 mentioned Unix-like operating systems. The system-dependent part in the beginning can be separated in a header file, which in turn can be expanded to include more system calls than just two. -- Лъчезар☭共产主义万岁★ 17:12, 18 June 2014 (UTC)
; MacOS X: /usr/local/bin/nasm -f macho64 *.s && ld -macosx_version_min 10.7 *.o
; Solaris/FreeBSD/DragonFly: nasm -f elf64 -D UNIX *.s && ld *.o
; NetBSD: nasm -f elf64 -D UNIX -D NetBSD *.s && ld *.o
; OpenBSD: nasm -f elf64 -D UNIX -D OpenBSD *.s && ld -static *.o
; OpenIndiana: nasm -f elf64 -D UNIX *.s && ld -m elf_x86_64 *.o
; Linux: nasm -f elf64 *.s && ld *.o
%ifdef NetBSD
section .note.netbsd.ident
dd 7,4,1
db "NetBSD",0,0
dd 200000000 ; amd64 supported since 2.0
%endif
%ifdef OpenBSD
section .note.openbsd.ident
align 2
dd 8,4,1
db "OpenBSD",0
dd 0
align 2
%endif
section .text
%ifidn __OUTPUT_FORMAT__, macho64 ; MacOS X
%define SYS_exit 0x2000001
%define SYS_write 0x2000004
global start
start:
%elifidn __OUTPUT_FORMAT__, elf64
%ifdef UNIX ; Solaris/OI/FreeBSD/NetBSD/OpenBSD/DragonFly
%define SYS_exit 1
%define SYS_write 4
%else ; Linux
%define SYS_exit 60
%define SYS_write 1
%endif
global _start
_start:
%else
%error "Unsupported platform"
%endif
mov rax,SYS_write
mov rdi,1 ; stdout
mov rsi,msg
mov rdx,len
syscall
mov rax,SYS_exit
xor rdi,rdi ; exit code 0
syscall
section .data
msg db "Hello, world!",10
len equ $-msg
Hello fellow Wikipedians,
I have just added archive links to one external link on
Netwide Assembler. Please take a moment to review
my edit. If necessary, add {{
cbignore}}
after the link to keep me from modifying it. Alternatively, you can add {{
nobots|deny=InternetArchiveBot}}
to keep me off the page altogether. I made the following changes:
When you have finished reviewing my changes, please set the checked parameter below to true to let others know.
An editor has reviewed this edit and fixed any errors that were found.
Cheers. — cyberbot II Talk to my owner:Online 16:44, 28 August 2015 (UTC)
Hello fellow Wikipedians,
I have just modified 3 external links on Netwide Assembler. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
This message was posted before February 2018.
After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than
regular verification using the archive tool instructions below. Editors
have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the
RfC before doing mass systematic removals. This message is updated dynamically through the template {{
source check}}
(last update: 5 June 2024).
Cheers.— InternetArchiveBot ( Report bug) 11:33, 16 February 2018 (UTC)