diff options
| -rw-r--r-- | main.asm | 19 |
1 files changed, 7 insertions, 12 deletions
@@ -1,17 +1,12 @@ global _start -section .data ; defines a section - msg db "Hello, x86 Assembly Language!", 0x0a - len equ $ - msg ; subtract the location before the message (msg) from the location after the message ($) to get the length - section .text _start: - mov eax, 4 ; sys_write syscall - mov ebx, 1 ; stdout file descriptor - mov ecx, msg ; bytes to write - mov edx, len ; number of bytes to write - int 0x80 ; perform syscall + mov ebx, 1 ; start at 1 + mov ecx, 4 ; num iterations +label: + add ebx, ebx ; ebx += ebx + dec ecx ; ecx -= 1 + cmp ecx, 0 ; compare ecx with 0 + jg label ; jump if greater than label - mov eax, 1 ; sys_exit syscall - mov ebx, 0 ; exit status 0 - int 0x80 ; perform syscall |
