DOC Added license and acknowledgements
This commit is contained in:
parent
323e46ade1
commit
3b1f0e9a3d
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2018 Elf M. Sternberg
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
47
README.md
47
README.md
|
@ -5,12 +5,32 @@ reboot my assembly language skills, this time in X86 and X86_64. ("This
|
||||||
time" because the last time I wrote assembly language I was writing for
|
time" because the last time I wrote assembly language I was writing for
|
||||||
the Motorola 68000 line.)
|
the Motorola 68000 line.)
|
||||||
|
|
||||||
The tutorial I based this off of is at http://asmtutor.com/
|
The tutorial I based this off of is at http://asmtutor.com/ The source
|
||||||
|
code for the original tutorial, as well as the website, is by GitHub
|
||||||
|
contributor Daniel Givney at
|
||||||
|
[Assembly Tutorials](https://github.com/DGivney/assemblytutorials).
|
||||||
|
|
||||||
|
I'll see if I can't scrape together some other, more esoteric examples
|
||||||
|
in the future.
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
|
||||||
There's a Makefile. It has a nice help¹.
|
There's a Makefile. It has a nice help¹.
|
||||||
|
|
||||||
|
You will need to be running Linux on an Intel platform. These lessons
|
||||||
|
do not apply to ARM chips like those on the Raspberry Pi (although it
|
||||||
|
would be super cool if they did!).
|
||||||
|
|
||||||
|
You will need a copy of [nasm](https://www.nasm.us/), the Netwide
|
||||||
|
Assembler, the most popular assembler currently in widespread use.
|
||||||
|
There are other assemblers, such as GAS (Used by the GNU GCC project),
|
||||||
|
MASM (from Microsoft), and so forth, but NASM is popular,
|
||||||
|
well-understood, and well-supported. You will also need a linker; the
|
||||||
|
Makefile assumes you have the linker suppled with GNU Binutils. On
|
||||||
|
Ubuntu-based platforms this comes with the `build-essentials` package.
|
||||||
|
If you have a different distribution, consult your archive. If you can
|
||||||
|
compile a **C** program, you're fine.
|
||||||
|
|
||||||
## Lesson 2
|
## Lesson 2
|
||||||
|
|
||||||
There is no Lesson 1. Okay, there *is*, but I didn't do it. While I
|
There is no Lesson 1. Okay, there *is*, but I didn't do it. While I
|
||||||
|
@ -114,10 +134,33 @@ other combination.
|
||||||
|
|
||||||
More to come... I hope...
|
More to come... I hope...
|
||||||
|
|
||||||
|
## Authors
|
||||||
|
|
||||||
|
Yours truly! Elf M. Sternberg <elf.sternberg@gmail.com>.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
Daniel Givney does not specify a license for his code, but it is his
|
||||||
|
copyright. I did type in, modify, and write these examples on my own (I
|
||||||
|
find that I only *learn* things in my brain if they go through my
|
||||||
|
fingers, so I rarely cut-and-paste anything), and unless Daniel has a
|
||||||
|
complaint, I'm tagging my code with the MIT License. See the
|
||||||
|
`LICENSE.txt` file for the full details.
|
||||||
|
|
||||||
|
## Acknowledgements
|
||||||
|
|
||||||
|
* Daniel Givney, of course.
|
||||||
|
* [The NASM Documentation](https://www.nasm.us/doc/) is very well-written!
|
||||||
|
* [Nayuki](https://github.com/nayuki) has added much to my understanding
|
||||||
|
* [David Evans](http://www.cs.virginia.edu/~evans/cs216/guides/x86.html)
|
||||||
|
helped with my understanding of syntax and register use.
|
||||||
|
* [Ray Toal](http://cs.lmu.edu/~ray/notes/nasmtutorial/)'s notes on NASM
|
||||||
|
are also useful.
|
||||||
|
|
||||||
---
|
---
|
||||||
Footnotes!
|
Footnotes!
|
||||||
|
|
||||||
¹ I firmly believe that no command, typed blindy, should modify the
|
¹ I firmly believe that no command, typed blindy, should modify the
|
||||||
contents of your hard drive. Make takes target arguments, and you
|
contents of your hard drive. `Make` takes target arguments, and you
|
||||||
should specify the targets you want built. So `make` by itself only
|
should specify the targets you want built. So `make` by itself only
|
||||||
issues help.
|
issues help.
|
||||||
|
|
Loading…
Reference in New Issue