Skip to content
Snippets Groups Projects
Commit abd8a7a8 authored by Ahmad Fares's avatar Ahmad Fares
Browse files

-m adding assembly documentation

parent 38e6b6c6
No related branches found
No related tags found
No related merge requests found
Pipeline #
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<title></title>
<style type="text/css">code{white-space: pre;}</style>
<link rel="stylesheet" href="styles.css" type="text/css" />
</head>
<body>
<h1 id="assembly">Assembly</h1>
<h2 id="introduction">Introduction</h2>
<p>I have experience with high level programming languages like JAVA, but never programmed a hardware or used a low level programming language so learning Assembly was interesting.</p>
<p>Assembly is a low level programming language which is a millimeter higher than machine code. It is very strong and efficient. Computers and programmable devices can be programmed directly with assembly. In this language the programmer does not create classes, variables and objects, instead the programmer deals directly with registers, memory addresses and gives a direct instructions using the set of instructions of the microcontroller or the CPU.</p>
<h2 id="compiler">Compiler</h2>
<p>Each programming language needs to be translated into the only thing that a CPU or microcontroller understands which is machine code. Assembly uses <strong>assmbler</strong> which converts the <strong>.asm</strong> to <strong>.hex</strong> which can be uploaded to the microcontroller.</p>
<p>I have installed <strong>gavrasm</strong> from this <a href="http://www.avr-asm-tutorial.net/gavrasm/v37/gavrasm_lin_i386_x64_en_37.zip">link</a>, more information can be found in this <a href="http://www.avr-asm-tutorial.net/gavrasm/index_en.html">link</a></p>
<p>After downloading the compiler, I have moved it to the home page of my Ubuntu, so I can use it globally by just calling it from the terminal using the command <code>gavrasm</code> followed by the name of the <strong>.asm</strong> file.</p>
</body>
</html>
# Assembly
## Introduction
I have experience with high level programming languages like JAVA, but never programmed a hardware or used a low level programming language so learning Assembly was interesting.
Assembly is a low level programming language which is a millimeter higher than machine code. It is very strong and efficient. Computers and programmable devices can be programmed directly with assembly. In this language the programmer does not create classes, variables and objects, instead the programmer deals directly with registers, memory addresses and gives a direct instructions using the set of instructions of the microcontroller or the CPU.
## Compiler
Each programming language needs to be translated into the only thing that a CPU or microcontroller understands which is machine code. Assembly uses **assmbler** which converts the **.asm** to **.hex** which can be uploaded to the microcontroller.
I have installed **gavrasm** from this [link](http://www.avr-asm-tutorial.net/gavrasm/v37/gavrasm_lin_i386_x64_en_37.zip), more information can be found in this [link](http://www.avr-asm-tutorial.net/gavrasm/index_en.html)
After downloading the compiler, I have moved it to the home page of my Ubuntu, so I can use it globally by just calling it from the terminal using the command `gavrasm` followed by the name of the **.asm** file.
......@@ -2,6 +2,7 @@
echo "Starting the conversion"
pandoc -s -t html -c styles.css index.md -o index.html
pandoc -s -t html -c styles.css assembly/assembly.md -o assembly/assembly.html
pandoc -s -t html -c styles.css 3dprinters-scanning/3dprinters-scanning.md -o 3dprinters-scanning/3dprinters-scanning.html
pandoc -s -t html -c styles.css linux/linux.md -o linux/linux.html
pandoc -s -t html -c styles.css electronics/electronics.md -o electronics/electronics.html
......
......@@ -20,6 +20,7 @@
<li><a href="introduction/introduction.html">Introduction</a></li>
<li><a href="vinyl-cutter/vinyl-cutter.html">vinyl cutter</a></li>
<li><a href="linux/linux.html">Linux</a></li>
<li><a href="assembly/assembly.html">Assembly</a></li>
<li><a href="electronics/electronics.html">Electronics Production</a></li>
<li><a href="C-programming/C-programming.html">Programming in C</a></li>
<li><a href="3dprinters-scanning/3dprinters-scanning.html">3d printer and scanner</a></li>
......
......@@ -9,6 +9,7 @@ My name is Ahmad Fares, I have graduated from Jordan University of Science and T
1. [Introduction](introduction/introduction.html)
1. [vinyl cutter](vinyl-cutter/vinyl-cutter.html)
1. [Linux](linux/linux.html)
1. [Assembly](assembly/assembly.html)
1. [Electronics Production](electronics/electronics.html)
1. [Programming in C](C-programming/C-programming.html)
1. [3d printer and scanner](3dprinters-scanning/3dprinters-scanning.html)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment