Wikipedia:Sandbox

From Wikipedia, the free encyclopedia

%macro read 2 mov rax, 0 mov rdi, 0 mov rsi, %1 mov rdx, %2 syscall %endmacro

%macro print 2 mov rax, 1 mov rdi, 1 mov rsi, %1 mov rdx, %2 syscall %endmacro

%macro printdigat 1 mov al, [arr + %1] add al, 30h cmp al, 10 jae number%1 add rax, 7 number%1: mov [num], rax print num, 1 %endmacro

%macro printarr 0 printdigat 0 printdigat 1 printdigat 2 printdigat 3 printdigat 4 %endmacro

CL,CH as counters

section .data arr db 05h,04h,02h,03h,01h

section .bss num resb 5

section .text global _start

_start:

mov ch, 5

mov rsi, arr + 1 outer: dec ch cmp ch, 0 jbe loopend mov cl, 5 mov rsi, arr inner: dec cl cmp cl, 0 jbe outer inc rsi mov al, [rsi - 1] cmp [rsi], al jae inner xchg [rsi], al xchg [rsi-1], al jmp inner loopend:

printarr

mov rax, 60 mov rsi, 0 syscall

Related Articles

Wikiwand AI