Assembly

terasof.com








Contents

Start
WebAssembly
CPU
Ubuntu
Mac OS X

Programming from the Ground Up
Write Great Code
Links




Start

♡ Listen to Pierre Boulez – Répons ♡♡♡ ♡ ♡♡♡

tutorialspoint.com asm compiler
Zehn Programmiersprachen, die Entwickler 2017 lernen sollten - heise.de
Die Top 12 Webseiten um Programmieren zu lernen - twago.de - generalassemb.ly
Wie kann man Programmieren lernen? - it-talents.de
I want to learn assembly on a Mac - reddit.com > first install Java for Mac OS X - install Mars - The MARS MIPS Simulator packaged as an OSX app - github.com - To install, run the following line in terminal. Once it completes, MARS.app will be located in /Applications. curl -L https://github.com/sagark/MARS-app/archive/master.zip > master.zip && unzip master.zip -x README.md && mv MARS-app-master/MARS.app /Applications/ && rm -rf MARS-app-master && rm master.zip To run MARS it needs also to install Java
NASM Hello World for x86 and x86_64 Intel Mac OS X (get yourself an updated nasm with brew) - github.com
x86 Assembly Crash Course - YT
GNU Assembly Tutorial 1 - YT - GNU Assembly Tutorial 2 - YT - macheads101.com - Terminal Commands 1
Basic Z80 Assembly and Simulation on the Mac - download Z80/8080 CPU simulation, Z80 cross assembler - autometer.de - Zilog Z80 WP

Assembly Programming Tutorial - Learn NASM (= assembler) Assembly - tutorialspoint.com - Netwide Assembler NASM - WP - nasm.us or nasm.sourceforge.net redirects - Simon Tatham - WP - Gonville music font - arm.com
x86 Assembly Language Reference Manual - oracle.com
How can I use my MacBook Pro for learning assembly language? - quora.com
Learn NASM on OS X
Assembly language programming under OS X with NASM - caswenson.com

#1 - Assembler Programmierung Tutorial - Einleitung - (German/Deutsch) von 5 - YT - robinwieschendorf.de - Pokemon Title Theme (Piano Improvisation Cover) - YT

Linux
x86_64 Linux Assembly #1 - "Hello, World!" - YT - x86_64 Linux Assembly #2 - "Hello, World!" Breakdown - YT




WebAssembly

webassembly.org - WA (wasm) - .wasm .wat - w3.org - MDN - WP - developed at the World Wide Web Consortium (W3C) with engineers from Mozilla, Microsoft, Google and Apple
Understand WebAssembly: Why It Will Change the Web - December 19, 2017/in Language Engineering /by Gabriele Tomassetti
What is WebAssembly? The Dawn of a New Era
Learning How to Learn WebAssembly by Mike Rourke - learn-c.org
Getting Started With WebAssembly
An Abridged Cartoon Introduction To WebAssembly
WebAssembly — The missing tutorial - Interacting with javascript from WebAssembly
WebAssembly Tutorial - An Introduction to WebAssembly - YT
Get started with WebAssembly — using only 14 lines of JavaScript
Yes, finally we have a decent WASM demo! >>> Epic Zen Garden - WebAssembly Video Editor
ROCKET - A RUST GAME RUNNING ON WASM
From ASM.JS to WebAssembly - JUNE 17, 2015 BY BRENDAN EICH
WebAssembly: A New Hope
Writing WebAssembly By Hand

How I went from newbie to Software Engineer in 9 months while working full time - medium.freecodecamp.org - austintackaberry.co TW 127
webassembly.studio
Introduction to WebAssembly

After the Flood WebGL2 Demo Mozilla / playcanvas - YT - AFTER THE FLOOD - playcanv.as




CPU

Central processing unit - WP
How a CPU is made
THE GRAY-1, A HOMEBREW CPU EXCLUSIVELY COMPOSED OF MEMORY




Ubuntu

ubuntu.com - backup with Backups app backup - ( Datensicherung)
Größe der Dateien: $ du -sh /home /etc
Upgrade Ubuntu to 17.04 "Zesty Zapus" via Update Manager - Warning: Third party sources disabled - Some third party entries in your sources.list were disabled. You can re-enable them after the upgrade with the 'software-properties' tool or your package manager. Fri 2017-12-1 Leipzig 17:19
MacBook Pro 3.1 german keyboard with Ubuntu 12.4 (@ and € keys)


Terminal Ubuntu

Open terminal from Dash search - or app bar - or ctrl + alt + T
cd - directory
nano


Gnu/Linux

h-node hardware




Mac OS X

Running Assembly on OS X - lord.io
OS X Assembler Reference - apple.com
Writing 64 Bit Assembly on Mac OS X

[HD] How to install boot manager on a Mac (rEFInd) - YT - download rEFInd from sourceforge.net - The rEFInd Boot Manager by Roderick W. Smith

Running Assembly Code for Mac OS X - stackoverflow.com - create helloworld.asm (open code here) global start

section .text

start:
   mov rax, 0x2000004 ; write
   mov rdi, 1 ; stdout
   mov rsi, msg
   mov rdx, msg.len
   syscall

   mov rax, 0x2000001 ; exit
   mov rdi, 0
   syscall

section .data

msg: db "Hello, world! >>> from Assembly :-)", 10
.len: equ $ - msg
Compile helloworld.asm in terminal: $ nasm -f macho64 -O0 helloworld.asm - (before you must have nasm installed, via brew, gcc or Xcode etc. - test: $ nasm -v - output: NASM version 2.13.02 compiled on Nov 30 2017)
This will produce a helloworld.o (object) file. You then need to finish this by linking:
$ ld helloworld.o -o helloworld You can now run with $ ./helloworld - the output should be: Hello, world! >>> from Assembly :-)

Terminal
Shutdown - $ sudo shutdown -h now




Assembly Language Step by Step

Amazon 3rd Edition 2009-3-18
Kate Editor Mac Linux Windows




Programming from the Ground Up

Chapter 1. Introduction
...
p3 - listing of GNU/Linux User’s Groups is available at linux.org/groups

Chapter 3. Your First Programs
...
p19 - Create exit.s - this is calles source code, the human-readable form of a program - in order to transform it into a program that a computer can run, we need to assemble and link it:
$ as exit.s -o exit.o - assembles it
$ ld exit.o -o exit - links it
$ ./exit - runs exit - jumps to next line
$ echo s?
0 /* output */
...

Chapter 11. High-Level Languages
Programming from the Ground Up - gnu.org

p215 - C - The Development of the C Language - create helloworld.c #include
/* PURPOSE: This program is mean to show a basic */
/* C program. All it does is print */
/* "Hello World!" to the screen and */
/* exit. */
/* Main Program */
int main(int argc, char **argv)
{
/* Print our string to standard output */
puts("Hello World!\n");
/* Exit with status 0 */
return 0; }
Compile it: $ gcc -o HelloWorld Hello-World.c
Run helloworld in terminal - $ ./helloworld

p218 - Perl - perl.org - create helloworld.pl #!/usr/bin/perl
print("Hello World!\n");
Run helloworld in terminal - $ perl helloworld.pl

p219 - Python - python.org - create helloworld.py
#!/usr/bin/python
print "Hello World!"
Run helloworld in terminal - $ python helloworld.py

Chapter 13. Moving On from Here
p233 - Even if you never use assembly language again, you have gained a valuable perspective and mental framework for understanding the rest of computer science
Three methods to learn: bottom-up - top-down - from the middle - good programmer takes all of them into account
p234 - Recommended books
p237 - Further Recources on Assembly Language - http://linuxassembly.org :-( and many more




Write Great Code

Write Great Code Volume I: Understanding the Machine - amazon.com
Write Great Code Volume 2: Thinking Low-Level, Writing High-Level
The Write Great Code Series - A Solid Foundation in Software Engineering for Programmers
Review of "Write Great Code, Volumes 1 and 2" - September 21, 2015 — A. Jesse Jiryu Davis
Randall Hyde - WP




The Art of Computer Programming

The Art of Computer Programming (TAOCP) by Donald E. Knuth
More coming soon :-)




Links

Microsoft to acquire GitHub for $7.5 billion - June 4, 2018 - news.microsoft.com
games.lovetheuniverse.com/assembly.html - Assemblersprache - WP
Where should I start learning Assembly? - ARM architecture - WP
Programmed Introduction to MIPS Assembly Language
Programming Arduino in assembly language - forum.arduino.cc - The Better Arduino IDE - Atmel Studio 7 AVR (not an acronym, could stand for Alf and Vegard's RISC processor) - WP - CrossPack for AVR® Development for Mac OS X
General Assembly: How to Teach Yourself to Code with John Resig 5:50 start with Processing - YT - johnresig.com - nellshawcohen.com
CODE GENIUS - Using JavaScript to Teach JavaScript by John Resig - YT
JavaScript Tutorial
macOS Sierra: invalid active developer path
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun Reasons Apple is bad for computer users
Elon Musk, We have built skynet!!. AI is now live and online - YT
WebAssembly - WP




Sessions

• Session 1 • Tue 2017-11-20 Leipzig 13:00- Create assembly.html + Start ♡♡♡








         

web counter