From f192d5e5a81621d6c556ec850d1cae1193cb414b Mon Sep 17 00:00:00 2001 From: Arthur Abrahao Santos Barbosa Date: Fri, 4 Oct 2019 19:01:28 -0300 Subject: [PATCH 1/3] HElloooo --- ASM/hello.asm | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 ASM/hello.asm diff --git a/ASM/hello.asm b/ASM/hello.asm new file mode 100644 index 0000000..8c48933 --- /dev/null +++ b/ASM/hello.asm @@ -0,0 +1,126 @@ +org 0x7c00 +jmp main + +batata times 30 db 0 +msg db 'HELLO WORLD',0 + + +getchar: + mov ah, 0x0 + int 16h + ret +scanf: + scan_loop: + call getchar + + + cmp al, 13 + je scan_end + + mov ah, 0xe + int 10h + mov ah, 0 + + cmp al, 8 + je backspace + inc dx + + stosb + jmp scan_loop + + backspace: + cmp dx, 0 + je scan_loop + add dx, -1 + mov byte[di], 0 + add di, -1 + mov ah, 0xe + mov al, 0 + int 10h + mov al, 8 + int 10h + mov ah, 0 + xor ax, ax + jmp scan_loop + + + scan_end: + mov ah, 0xe + call endl + xor ax, ax + stosb + ret +putchar: + + mov ah, 0xe + int 10h + ret +endl: + mov ah,0xe + mov al, 10 + xor cx, cx + int 10h + endl_loop: + cmp cx, dx + je endl_loop_end + mov al, 8 + int 10h + inc cx + jmp endl_loop + endl_loop_end: + mov ah, 0xe + mov bl, 10 + mov cx, 01h +ret + +printf: + xor dx, dx + print_loop: + lodsb + cmp al,0 + je end_print + add al, -32 + inc dx + call putchar + jmp print_loop + end_print: + call endl + ret + + +main: + + xor ax, ax + mov bx, ax + mov cx, ax + mov dx, ax + + + + mov ah, 0 + mov al, 13h + int 10h + + mov ah, 0xb + mov bh, 0 + mov bl, 4 + int 10h + + mov ah, 0xe + mov al, 8 + mov bh, 0 + mov bl, 0xf + mov cx, 01h + int 10h + + + + mov si, msg + mov di, msg + call printf + + + jmp $ +times 510-($-$$) db 0 +dw 0xaa55 + From b7567ab1c7e8fdb325644bdf057a3c75ac26a363 Mon Sep 17 00:00:00 2001 From: Arthur Abrahao Santos Barbosa Date: Fri, 4 Oct 2019 19:08:21 -0300 Subject: [PATCH 2/3] HElloooo --- ASM/README.md | 9 +++++++++ ASM/hello.asm | 3 +-- ASM/hello.bin | Bin 0 -> 512 bytes 3 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 ASM/README.md create mode 100644 ASM/hello.bin diff --git a/ASM/README.md b/ASM/README.md new file mode 100644 index 0000000..ef97b90 --- /dev/null +++ b/ASM/README.md @@ -0,0 +1,9 @@ +### Instructions +First, you will need: +- qemu (on linux : sudo apt-get install qemu + +Then run: +``` +$ nasm -f bin hello.asm -o hello.bin +$ qemu-system-i386 hello.bin +``` diff --git a/ASM/hello.asm b/ASM/hello.asm index 8c48933..d79743b 100644 --- a/ASM/hello.asm +++ b/ASM/hello.asm @@ -1,7 +1,7 @@ org 0x7c00 jmp main -batata times 30 db 0 + msg db 'HELLO WORLD',0 @@ -79,7 +79,6 @@ printf: lodsb cmp al,0 je end_print - add al, -32 inc dx call putchar jmp print_loop diff --git a/ASM/hello.bin b/ASM/hello.bin new file mode 100644 index 0000000000000000000000000000000000000000..1e11f3bbb3fcf0bcf5b561d6328a79f127e4587e GIT binary patch literal 512 zcmaD|=i%z(a_f3T)s2sW3e7`s^0I7o0%Gs>2{nKw<-z;mNZCmKRIdL24Xdf8D~j znQJE_!(qcqYit-w*qmNm{r~zakT`63p!0C&!OlZl7&Zt4P2=9qu$cu&^KIY&viN~o a&I;^fs@cy}^WyOT*Z&ws0aZgFbQJ&=pi^xC literal 0 HcmV?d00001 From 72cb23149a5aa95675b97936759bf2d1e434dcd1 Mon Sep 17 00:00:00 2001 From: Arthur Abrahao Santos Barbosa Date: Fri, 4 Oct 2019 19:11:54 -0300 Subject: [PATCH 3/3] HElloooo --- ASM/README.md | 2 ++ ASM/hello.png | Bin 0 -> 19924 bytes 2 files changed, 2 insertions(+) create mode 100644 ASM/hello.png diff --git a/ASM/README.md b/ASM/README.md index ef97b90..55548ad 100644 --- a/ASM/README.md +++ b/ASM/README.md @@ -7,3 +7,5 @@ Then run: $ nasm -f bin hello.asm -o hello.bin $ qemu-system-i386 hello.bin ``` + + diff --git a/ASM/hello.png b/ASM/hello.png new file mode 100644 index 0000000000000000000000000000000000000000..7b6f21cf39a07a6df8fc523bff721c4f0784b904 GIT binary patch literal 19924 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 literal 0 HcmV?d00001