diff --git a/lesson29/l29 b/lesson29/l29 new file mode 100755 index 0000000..d9cd215 Binary files /dev/null and b/lesson29/l29 differ diff --git a/lesson29/l29.asm b/lesson29/l29.asm new file mode 100644 index 0000000..caf8fc1 --- /dev/null +++ b/lesson29/l29.asm @@ -0,0 +1,27 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .text +global _start + +_start: +xor eax, eax +xor ebx, ebx +xor edi, edi +xor esi, esi + +_socket: +push byte 6 +push byte 1 +push byte 2 +mov ecx, esp +mov ebx, 1 +mov eax, 102 +int 80h + +call iprintLF + +_exit: +call quit + diff --git a/lesson29/l29.o b/lesson29/l29.o new file mode 100644 index 0000000..1f1eb41 Binary files /dev/null and b/lesson29/l29.o differ diff --git a/lesson30/l30 b/lesson30/l30 new file mode 100755 index 0000000..36d51cc Binary files /dev/null and b/lesson30/l30 differ diff --git a/lesson30/l30.asm b/lesson30/l30.asm new file mode 100644 index 0000000..f28c5a7 --- /dev/null +++ b/lesson30/l30.asm @@ -0,0 +1,39 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .text +global _start + +_start: +xor eax, eax +xor ebx, ebx +xor edi, edi +xor esi, esi + +_socket: +push byte 6 +push byte 1 +push byte 2 +mov ecx, esp +mov ebx, 1 +mov eax, 102 +int 80h + +_bind: +mov edi, eax +push dword 0x00000000 +push word 0x2923 +push word 2 +mov ecx, esp +push byte 16 +push ecx +push edi +mov ecx, esp +mov ebx, 2 +mov eax, 102 +int 80h + +_exit: +call quit + diff --git a/lesson30/l30.o b/lesson30/l30.o new file mode 100644 index 0000000..e070e0e Binary files /dev/null and b/lesson30/l30.o differ diff --git a/lesson31/l31 b/lesson31/l31 new file mode 100755 index 0000000..73ff145 Binary files /dev/null and b/lesson31/l31 differ diff --git a/lesson31/l31.asm b/lesson31/l31.asm new file mode 100644 index 0000000..cb7e8eb --- /dev/null +++ b/lesson31/l31.asm @@ -0,0 +1,47 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .text +global _start + +_start: +xor eax, eax +xor ebx, ebx +xor edi, edi +xor esi, esi + +_socket: +push byte 6 +push byte 1 +push byte 2 +mov ecx, esp +mov ebx, 1 +mov eax, 102 +int 80h + +_bind: +mov edi, eax +push dword 0x00000000 +push word 0x2923 +push word 2 +mov ecx, esp +push byte 16 +push ecx +push edi +mov ecx, esp +mov ebx, 2 +mov eax, 102 +int 80h + +_listen: +push byte 1 +push edi +mov ecx, esp +mov ebx, 4 +mov eax, 102 +int 80h + +_exit: +call quit + diff --git a/lesson31/l31.o b/lesson31/l31.o new file mode 100644 index 0000000..a3d55bb Binary files /dev/null and b/lesson31/l31.o differ diff --git a/lesson32/l32 b/lesson32/l32 new file mode 100755 index 0000000..3c1b28e Binary files /dev/null and b/lesson32/l32 differ diff --git a/lesson32/l32.asm b/lesson32/l32.asm new file mode 100644 index 0000000..aa4686d --- /dev/null +++ b/lesson32/l32.asm @@ -0,0 +1,56 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .text +global _start + +_start: +xor eax, eax +xor ebx, ebx +xor edi, edi +xor esi, esi + +_socket: +push byte 6 +push byte 1 +push byte 2 +mov ecx, esp +mov ebx, 1 +mov eax, 102 +int 80h + +_bind: +mov edi, eax +push dword 0x00000000 +push word 0x2923 +push word 2 +mov ecx, esp +push byte 16 +push ecx +push edi +mov ecx, esp +mov ebx, 2 +mov eax, 102 +int 80h + +_listen: +push byte 1 +push edi +mov ecx, esp +mov ebx, 4 +mov eax, 102 +int 80h + +_accept: +push byte 0 +push byte 0 +push edi +mov ecx, esp +mov ebx, 5 +mov eax, 102 +int 80h + +_exit: +call quit + diff --git a/lesson32/l32.o b/lesson32/l32.o new file mode 100644 index 0000000..c9a7e22 Binary files /dev/null and b/lesson32/l32.o differ diff --git a/lesson33/l33 b/lesson33/l33 new file mode 100755 index 0000000..ac9bf5f Binary files /dev/null and b/lesson33/l33 differ diff --git a/lesson33/l33.asm b/lesson33/l33.asm new file mode 100644 index 0000000..71ddafd --- /dev/null +++ b/lesson33/l33.asm @@ -0,0 +1,79 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .bss +buffer resb 255, + +SECTION .text +global _start + +_start: +xor eax, eax +xor ebx, ebx +xor edi, edi +xor esi, esi + +_socket: +push byte 6 +push byte 1 +push byte 2 +mov ecx, esp +mov ebx, 1 +mov eax, 102 +int 80h + +_bind: +mov edi, eax +push dword 0x00000000 +push word 0x2923 +push word 2 +mov ecx, esp +push byte 16 +push ecx +push edi +mov ecx, esp +mov ebx, 2 +mov eax, 102 +int 80h + +_listen: +push byte 1 +push edi +mov ecx, esp +mov ebx, 4 +mov eax, 102 +int 80h + +_accept: +push byte 0 +push byte 0 +push edi +mov ecx, esp +mov ebx, 5 +mov eax, 102 +int 80h + +_fork: +mov esi, eax +mov eax, 2 +int 80h + +cmp eax, 0 +jz _read + +jmp _accept + +_read: +mov edx, 255 +mov ecx, buffer +mov ebx, esi +mov eax, 3 +int 80h + +mov eax, buffer +call sprintLF + +_exit: +call quit + diff --git a/lesson33/l33.o b/lesson33/l33.o new file mode 100644 index 0000000..8fca7ed Binary files /dev/null and b/lesson33/l33.o differ diff --git a/lesson34/l34 b/lesson34/l34 new file mode 100755 index 0000000..cb57120 Binary files /dev/null and b/lesson34/l34 differ diff --git a/lesson34/l34.asm b/lesson34/l34.asm new file mode 100644 index 0000000..639230f --- /dev/null +++ b/lesson34/l34.asm @@ -0,0 +1,89 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .data +response db 'HTTP/1.1 200 OK', 0Dh, 0Ah, 'Content-Type: text/html', 0Dh, 0Ah, 'Content-Length: 14', 0Dh, 0Ah, 0Dh, 0Ah, 'Hello World!', 0Dh, 0Ah, 0h + +SECTION .bss +buffer resb 255, + +SECTION .text +global _start + +_start: +xor eax, eax +xor ebx, ebx +xor edi, edi +xor esi, esi + +_socket: +push byte 6 +push byte 1 +push byte 2 +mov ecx, esp +mov ebx, 1 +mov eax, 102 +int 80h + +_bind: +mov edi, eax +push dword 0x00000000 +push word 0x2923 +push word 2 +mov ecx, esp +push byte 16 +push ecx +push edi +mov ecx, esp +mov ebx, 2 +mov eax, 102 +int 80h + +_listen: +push byte 1 +push edi +mov ecx, esp +mov ebx, 4 +mov eax, 102 +int 80h + +_accept: +push byte 0 +push byte 0 +push edi +mov ecx, esp +mov ebx, 5 +mov eax, 102 +int 80h + +_fork: +mov esi, eax +mov eax, 2 +int 80h + +cmp eax, 0 +jz _read + +jmp _accept + +_read: +mov edx, 255 +mov ecx, buffer +mov ebx, esi +mov eax, 3 +int 80h + +mov eax, buffer +call sprintLF + +_write: +mov edx, 78 +mov ecx, response +mov ebx, esi +mov eax, 4 +int 80h + +_exit: +call quit + diff --git a/lesson34/l34.o b/lesson34/l34.o new file mode 100644 index 0000000..afca239 Binary files /dev/null and b/lesson34/l34.o differ diff --git a/lesson35/l35 b/lesson35/l35 new file mode 100755 index 0000000..9f50153 Binary files /dev/null and b/lesson35/l35 differ diff --git a/lesson35/l35.asm b/lesson35/l35.asm new file mode 100644 index 0000000..8f56c3e --- /dev/null +++ b/lesson35/l35.asm @@ -0,0 +1,94 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .data +response db 'HTTP/1.1 200 OK', 0Dh, 0Ah, 'Content-Type: text/html', 0Dh, 0Ah, 'Content-Length: 14', 0Dh, 0Ah, 0Dh, 0Ah, 'Hello World!', 0Dh, 0Ah, 0h + +SECTION .bss +buffer resb 255, + +SECTION .text +global _start + +_start: +xor eax, eax +xor ebx, ebx +xor edi, edi +xor esi, esi + +_socket: +push byte 6 +push byte 1 +push byte 2 +mov ecx, esp +mov ebx, 1 +mov eax, 102 +int 80h + +_bind: +mov edi, eax +push dword 0x00000000 +push word 0x2923 +push word 2 +mov ecx, esp +push byte 16 +push ecx +push edi +mov ecx, esp +mov ebx, 2 +mov eax, 102 +int 80h + +_listen: +push byte 1 +push edi +mov ecx, esp +mov ebx, 4 +mov eax, 102 +int 80h + +_accept: +push byte 0 +push byte 0 +push edi +mov ecx, esp +mov ebx, 5 +mov eax, 102 +int 80h + +_fork: +mov esi, eax +mov eax, 2 +int 80h + +cmp eax, 0 +jz _read + +jmp _accept + +_read: +mov edx, 255 +mov ecx, buffer +mov ebx, esi +mov eax, 3 +int 80h + +mov eax, buffer +call sprintLF + +_write: +mov edx, 78 +mov ecx, response +mov ebx, esi +mov eax, 4 +int 80h + +_close: +mov ebx, esi +mov eax, 6 +int 80h + +_exit: +call quit + diff --git a/lesson35/l35.o b/lesson35/l35.o new file mode 100644 index 0000000..5999b36 Binary files /dev/null and b/lesson35/l35.o differ diff --git a/lesson36/l36 b/lesson36/l36 new file mode 100755 index 0000000..9f783e4 Binary files /dev/null and b/lesson36/l36 differ diff --git a/lesson36/l36.asm b/lesson36/l36.asm new file mode 100644 index 0000000..63f01ed --- /dev/null +++ b/lesson36/l36.asm @@ -0,0 +1,70 @@ + +; %include '../lib/fl.asm' ; local +%include 'lib/fl.asm' ; build.sh + +SECTION .data +request db 'GET / HTTP/1.1', 0Dh, 0Ah, 'Host: 139.162.39.66:80', 0Dh, 0Ah, 0Dh, 0Ah, 0h + +SECTION .bss +buffer resb 1, + +SECTION .text +global _start + +_start: +xor eax, eax +xor ebx, ebx +xor edi, edi + +_socket: +push byte 6 +push byte 1 +push byte 2 +mov ecx, esp +mov ebx, 1 +mov eax, 102 +int 80h + +_connect: +mov edi, eax +push dword 0x4227a28b +push word 0x5000 +push word 2 +mov ecx, esp +push byte 16 +push ecx +push edi +mov ecx, esp +mov ebx, 3 +mov eax, 102 +int 80h + +_write: +mov edx, 43 +mov ecx, request +mov ebx, edi +mov eax, 4 +int 80h + +_read: +mov edx, 1 +mov edx, buffer +mov ebx, edi +mov eax, 3 +int 80h + +cmp eax, 0 +jz _close + +mov eax, buffer +call sprint +jmp _read + +_close: +mov ebx, edi +mov eax, 6 +int 80h + +_exit: +call quit + diff --git a/lesson36/l36.o b/lesson36/l36.o new file mode 100644 index 0000000..35d7037 Binary files /dev/null and b/lesson36/l36.o differ