diff --git a/lesson19/l19 b/lesson19/l19 new file mode 100755 index 0000000..b0848de Binary files /dev/null and b/lesson19/l19 differ diff --git a/lesson19/l19.asm b/lesson19/l19.asm new file mode 100644 index 0000000..e7fb593 --- /dev/null +++ b/lesson19/l19.asm @@ -0,0 +1,24 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .data +command db '/bin/echo', 0h +arg1 db 'Hello World!', 0h +arguments dd command + dd arg1 + dd 0h +environment dd 0h + +SECTION .text +global _start + +_start: +mov edx, environment +mov ecx, arguments +mov ebx, command +mov eax, 11 +int 80h + +call quit + diff --git a/lesson19/l19.o b/lesson19/l19.o new file mode 100644 index 0000000..f8340e7 Binary files /dev/null and b/lesson19/l19.o differ diff --git a/lesson20/l20 b/lesson20/l20 new file mode 100755 index 0000000..32f65f4 Binary files /dev/null and b/lesson20/l20 differ diff --git a/lesson20/l20.asm b/lesson20/l20.asm new file mode 100644 index 0000000..5bc33f2 --- /dev/null +++ b/lesson20/l20.asm @@ -0,0 +1,28 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .data +childMsg db 'Child process', 0h +parentMsg db 'Parent process', 0h + +SECTION .text +global _start + +_start: +mov eax, 2 +int 80h + +cmp eax, 0 +jz child + +parent: +mov eax, parentMsg +call sprintLF +call quit + +child: +mov eax, childMsg +call sprintLF +call quit + diff --git a/lesson20/l20.o b/lesson20/l20.o new file mode 100644 index 0000000..0a6b74f Binary files /dev/null and b/lesson20/l20.o differ diff --git a/lesson21/l21 b/lesson21/l21 new file mode 100755 index 0000000..b606fe2 Binary files /dev/null and b/lesson21/l21 differ diff --git a/lesson21/l21.asm b/lesson21/l21.asm new file mode 100644 index 0000000..d7dd24b --- /dev/null +++ b/lesson21/l21.asm @@ -0,0 +1,20 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .data +msg db 'Seconds since Jan 01 1970: ', 0h + +SECTION .text +global _start + +_start: +mov eax, msg +call sprint + +mov eax, 13 +int 80h + +call iprintLF +call quit + diff --git a/lesson21/l21.o b/lesson21/l21.o new file mode 100644 index 0000000..f646619 Binary files /dev/null and b/lesson21/l21.o differ diff --git a/lesson22/l22 b/lesson22/l22 new file mode 100755 index 0000000..6ca2e6b Binary files /dev/null and b/lesson22/l22 differ diff --git a/lesson22/l22.asm b/lesson22/l22.asm new file mode 100644 index 0000000..1475519 --- /dev/null +++ b/lesson22/l22.asm @@ -0,0 +1,18 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .data +filename db 'README.md', 0h + +SECTION .text +global _start + +_start: +mov ecx, 0777o +mov ebx, filename +mov eax, 8 +int 80h + +call quit + diff --git a/lesson22/l22.o b/lesson22/l22.o new file mode 100644 index 0000000..aaa1792 Binary files /dev/null and b/lesson22/l22.o differ diff --git a/lesson23/l23 b/lesson23/l23 new file mode 100755 index 0000000..ec20122 Binary files /dev/null and b/lesson23/l23 differ diff --git a/lesson23/l23.asm b/lesson23/l23.asm new file mode 100644 index 0000000..80eb526 --- /dev/null +++ b/lesson23/l23.asm @@ -0,0 +1,25 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .data +filename db 'README.md', 0h +contents db 'Hello world!', 0h + +SECTION .text +global _start + +_start: +mov ecx, 0777o +mov ebx, filename +mov eax, 8 +int 80h + +mov edx, 12 +mov ecx, contents +mov ebx, eax +mov eax, 4 +int 80h + +call quit + diff --git a/lesson23/l23.o b/lesson23/l23.o new file mode 100644 index 0000000..30f63d8 Binary files /dev/null and b/lesson23/l23.o differ diff --git a/lesson24/l24 b/lesson24/l24 new file mode 100755 index 0000000..0c84743 Binary files /dev/null and b/lesson24/l24 differ diff --git a/lesson24/l24.asm b/lesson24/l24.asm new file mode 100644 index 0000000..9414654 --- /dev/null +++ b/lesson24/l24.asm @@ -0,0 +1,31 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .data +filename db 'test.txt', 0h +contents db 'Hello world!', 0h + +SECTION .text +global _start + +_start: +mov ecx, 0777o +mov ebx, filename +mov eax, 8 +int 80h + +mov edx, 12 +mov ecx, contents +mov ebx, eax +mov eax, 4 +int 80h + +mov ecx, 0 +mov ebx, filename +mov eax, 5 +int 80h + +call iprintLF +call quit + diff --git a/lesson24/l24.o b/lesson24/l24.o new file mode 100644 index 0000000..9ebabcc Binary files /dev/null and b/lesson24/l24.o differ diff --git a/lesson25/l25 b/lesson25/l25 new file mode 100755 index 0000000..6e36029 Binary files /dev/null and b/lesson25/l25 differ diff --git a/lesson25/l25.asm b/lesson25/l25.asm new file mode 100644 index 0000000..290bef4 --- /dev/null +++ b/lesson25/l25.asm @@ -0,0 +1,42 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .data +filename db 'test.txt', 0h +contents db 'Hello world!', 0h + +SECTION .bss +fileContents resb 255, + +SECTION .text +global _start + +_start: +mov ecx, 0777o +mov ebx, filename +mov eax, 8 +int 80h + +mov edx, 12 +mov ecx, contents +mov ebx, eax +mov eax, 4 +int 80h + +mov ecx, 0 +mov ebx, filename +mov eax, 5 +int 80h + +mov edx, 12 +mov ecx, fileContents +mov ebx, eax +mov eax, 3 +int 80h + +mov eax, fileContents +call sprintLF + +call quit + diff --git a/lesson25/l25.o b/lesson25/l25.o new file mode 100644 index 0000000..c0d2d19 Binary files /dev/null and b/lesson25/l25.o differ diff --git a/lesson26/l26 b/lesson26/l26 new file mode 100755 index 0000000..3ab6d60 Binary files /dev/null and b/lesson26/l26 differ diff --git a/lesson26/l26.asm b/lesson26/l26.asm new file mode 100644 index 0000000..10c52d2 --- /dev/null +++ b/lesson26/l26.asm @@ -0,0 +1,46 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .data +filename db 'test.txt', 0h +contents db 'Hello world!', 0h + +SECTION .bss +fileContents resb 255, + +SECTION .text +global _start + +_start: +mov ecx, 0777o +mov ebx, filename +mov eax, 8 +int 80h + +mov edx, 12 +mov ecx, contents +mov ebx, eax +mov eax, 4 +int 80h + +mov ecx, 0 +mov ebx, filename +mov eax, 5 +int 80h + +mov edx, 12 +mov ecx, fileContents +mov ebx, eax +mov eax, 3 +int 80h + +mov eax, fileContents +call sprintLF + +mov ebx, ebx ; not needed: takes fd from ebx +mov eax, 6 +int 80h + +call quit + diff --git a/lesson26/l26.o b/lesson26/l26.o new file mode 100644 index 0000000..c92c9fc Binary files /dev/null and b/lesson26/l26.o differ diff --git a/lesson27/l27 b/lesson27/l27 new file mode 100755 index 0000000..b5ed878 Binary files /dev/null and b/lesson27/l27 differ diff --git a/lesson27/l27.asm b/lesson27/l27.asm new file mode 100644 index 0000000..41d7551 --- /dev/null +++ b/lesson27/l27.asm @@ -0,0 +1,31 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .data +filename db 'test.txt', 0h +contents db '-updated-', 0h + +SECTION .text +global _start + +_start: +mov ecx, 1 +mov ebx, filename +mov eax, 5 +int 80h + +mov edx, 2 +mov ecx, 0 +mov ebx, eax +mov eax, 19 +int 80h + +mov edx, 9 +mov ecx, contents +mov ebx, ebx +mov eax, 4 +int 80h + +call quit + diff --git a/lesson27/l27.o b/lesson27/l27.o new file mode 100644 index 0000000..c3204c9 Binary files /dev/null and b/lesson27/l27.o differ diff --git a/lesson28/l28 b/lesson28/l28 new file mode 100755 index 0000000..626aa9f Binary files /dev/null and b/lesson28/l28 differ diff --git a/lesson28/l28.asm b/lesson28/l28.asm new file mode 100644 index 0000000..b186fbb --- /dev/null +++ b/lesson28/l28.asm @@ -0,0 +1,17 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .data +filename db 'test.txt', 0h + +SECTION .text +global _start + +_start: +mov ebx, filename +mov eax, 10 +int 80h + +call quit + diff --git a/lesson28/l28.o b/lesson28/l28.o new file mode 100644 index 0000000..104512f Binary files /dev/null and b/lesson28/l28.o differ