;; (C) David Vajda
;; i586/x86/amd64 - Sort
;; 2024-11-25
global _start
section .data
ToSrtString: db "sjfmcmcnmhqwqwasdbnsadabasnd", 0x00
section .text
_start:
mov esi, ToSrtString
loop2:
mov al, [esi]
cmp al, 0x00
je loop2end
mov edi, esi
loop3:
inc edi
mov al, [edi]
cmp al, 0x00
je loop3end
mov ah, [esi]
mov al, [edi]
cmp ah, al
jge noexchange
mov ah, [esi]
mov al, [edi]
mov [edi], ah
mov [esi], al
noexchange:
jmp loop3
loop3end:
inc esi
jmp loop2
loop2end:
mov esi, ToSrtString
mov ecx, 0
loop1:
mov al, [esi]
cmp al, 0
je loop1end
inc ecx
inc esi
jmp loop1
loop1end:
mov edx, ecx
mov ecx, ToSrtString
mov eax, 4
mov ebx, 1
int 0x80
mov eax, 1
mov ebx, 0
int 0x80
|
Ausgabe
david@work:~$ nasm -f elf32 nasm20241125001sort.asm david@work:~$ ld -m elf_i386 nasm20241125001sort.o -o nasm20241125001sort david@work:~$ ./nasm20241125001sort wwssssqqnnnmmmjhfdddccbbaaaadavid@work:~$ |