Compare commits
8 Commits
da62a80b0e
...
main
Author | SHA1 | Date | |
---|---|---|---|
b1379590ca | |||
2153e52c75 | |||
394fddb024 | |||
c3b61c2d95 | |||
df3b8bd0f8 | |||
20be72dbf9 | |||
afd7076106 | |||
5fbf00fa11 |
9
a_test_addition.txt
Normal file
9
a_test_addition.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
|
||||||
|
Suppose this is like a piece of code that I'm adding to the repository. This is version 1.
|
||||||
|
|
||||||
|
I'm adding stuff. Lots of stuff. just piling it in.
|
||||||
|
|
||||||
|
Suppose I make a mistake during some commit?
|
||||||
|
|
||||||
|
git reset --soft HEAD~1 isn't really undoing the addition of the mistake line?
|
30
assemblyexample1.asm
Normal file
30
assemblyexample1.asm
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
|
||||||
|
.global _start
|
||||||
|
//exposes a symbol called start to the assembler
|
||||||
|
.intel_syntax noprefix
|
||||||
|
|
||||||
|
//See: https://www.youtube.com/watch?v=6S5KRJv-7RU
|
||||||
|
//See: https://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/
|
||||||
|
|
||||||
|
_start:
|
||||||
|
//write call (sys_write)
|
||||||
|
mov rax,1
|
||||||
|
//sys_write system call
|
||||||
|
mov rdi, 1
|
||||||
|
//unsigned int fd = 1 (stdout)
|
||||||
|
lea rsi,[hello_world]
|
||||||
|
//load effective address (lea) into rsi of hello_world data
|
||||||
|
mov rdx, 14
|
||||||
|
//size_t count excluding null terminator
|
||||||
|
syscall
|
||||||
|
|
||||||
|
//exit call
|
||||||
|
mov rax, 60
|
||||||
|
mov rdi, 33
|
||||||
|
//return result (must be "rdi" not "rdx" - how are these registers named?)
|
||||||
|
syscall
|
||||||
|
//apprently int 80h interrupt is also syscall?
|
||||||
|
|
||||||
|
hello_world:
|
||||||
|
.asciz "Hello, World!\n"
|
||||||
|
|
24
assemblytutorial.txt
Normal file
24
assemblytutorial.txt
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
https://www.youtube.com/watch?v=6S5KRJv-7RU
|
||||||
|
|
||||||
|
rdi
|
||||||
|
rsi
|
||||||
|
r8
|
||||||
|
r - 64 bit pointer
|
||||||
|
|
||||||
|
mov rdi,8
|
||||||
|
mov rdi,rsi
|
||||||
|
|
||||||
|
memory operations
|
||||||
|
|
||||||
|
mov rdi, qword ptr[rsi] values from memory into register
|
||||||
|
mov qword ptr[rsi], rdi store into memory operation
|
||||||
|
|
||||||
|
https://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/
|
||||||
|
|
||||||
|
|
||||||
|
Compilation:
|
||||||
|
as -c assemblyexample1.asm -o assemblyexample1.o
|
||||||
|
gcc assemblyexample1.o -o assemblyexample1 -nostdlib -static
|
||||||
|
|
||||||
|
Check error code:
|
||||||
|
echo $?
|
6
test.txt
6
test.txt
@ -3,3 +3,9 @@ I've added this new thing
|
|||||||
a new addition
|
a new addition
|
||||||
|
|
||||||
Added a third line
|
Added a third line
|
||||||
|
|
||||||
|
a third line
|
||||||
|
|
||||||
|
A fourth line
|
||||||
|
An alternate fourth line.
|
||||||
|
|
||||||
|
7
test_repo.code-workspace
Normal file
7
test_repo.code-workspace
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"folders": [
|
||||||
|
{
|
||||||
|
"path": "./"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Reference in New Issue
Block a user