; LOOP
; PRINTS YOUR INPUT 5 TIMES
; THIS CODE PROBABLY WONT WORK HERE, USE WSL ON WINDOWS OR JUST A LINUX DISTRO
; NASM SYNTAX
SECTION .data
PROMPT DB "ENTER MSG: ", 0
SECTION .bss
BUFFER RESB 128
SECTION .text
GLOBAL _start
_start:
MOV RAX, 1
MOV RDI, 1
MOV RSI, PROMPT
MOV RDX, 11
SYSCALL
; USER INPUT
MOV RAX, 0
MOV RDI, 0
MOV RSI, BUFFER
MOV RDX, 128
SYSCALL
; LOOP
MOV R8, 5 ; LOOP COUTER
LOOP: ; LABEL
MOV RAX, 1
MOV RDI, 1
MOV RSI, BUFFER
MOV RDX, 128
SYSCALL
DEC R8 ; DECREMENT REGISTER 8 (OUR LOOP COUNTER)
JZ EXIT ; JUMP IF ZERO TO EXIT
JMP LOOP ; WE COULD ALSO USE JNZ(JUMP IF NOT ZERO)
EXIT:
MOV RAX, 60
XOR RDI, RDI
SYSCALL
OyBMT09QCjsgUFJJTlRTIFlPVVIgSU5QVVQgNSBUSU1FUwo7IFRISVMgQ09ERSBQUk9CQUJMWSBXT05UIFdPUksgSEVSRSwgVVNFIFdTTCBPTiBXSU5ET1dTIE9SIEpVU1QgQSBMSU5VWCBESVNUUk8KOyBOQVNNIFNZTlRBWAoKU0VDVElPTiAuZGF0YQpQUk9NUFQJCURCCQkiRU5URVIgTVNHOiAiLCAwCgpTRUNUSU9OIC5ic3MKQlVGRkVSCQlSRVNCIDEyOAoKClNFQ1RJT04gLnRleHQKCkdMT0JBTCBfc3RhcnQKCl9zdGFydDoKCU1PViBSQVgsIDEKCU1PViBSREksIDEKCU1PViBSU0ksIFBST01QVAoJTU9WIFJEWCwgMTEKCVNZU0NBTEwKCQo7IFVTRVIgSU5QVVQKCU1PViBSQVgsIDAKCU1PViBSREksIDAKCU1PViBSU0ksIEJVRkZFUgoJTU9WIFJEWCwgMTI4CglTWVNDQUxMCgkKOyBMT09QCglNT1YgUjgsIDUJCQkJOyBMT09QIENPVVRFUgoJCkxPT1A6CQkJCQkJOyBMQUJFTAoJTU9WIFJBWCwgMQoJTU9WIFJESSwgMQoJTU9WIFJTSSwgQlVGRkVSCglNT1YgUkRYLCAxMjgKCVNZU0NBTEwKCQoJREVDIFI4CQkJCQk7IERFQ1JFTUVOVCBSRUdJU1RFUiA4IChPVVIgTE9PUCBDT1VOVEVSKQoJSlogRVhJVAkJCQkJOyBKVU1QIElGIFpFUk8gVE8gRVhJVAoJSk1QIExPT1AJCQkJOyBXRSBDT1VMRCBBTFNPIFVTRSBKTlooSlVNUCBJRiBOT1QgWkVSTykKCQpFWElUOgoJTU9WIFJBWCwgNjAKCVhPUiBSREksIFJESQoJU1lTQ0FMTA==