SASM Quicksort / 汇编快速排序

本文介绍了使用SASM(Simple Assembler)编程语言实现快速排序算法的详细过程,包括关键的汇编指令和排序逻辑。通过这个实例,读者可以深入理解快速排序的工作原理及其在低级编程中的应用。
摘要由CSDN通过智能技术生成

; my quick sort program!
; 
; use SASM under linux.

%include "io.inc"


section .data
    dat db 9,13,8,6,8,22,-11,1,-4,9,7,2,-7,-5,4,2;
    datlen equ $-dat
    
section .text

global CMAIN
CMAIN:
    mov ebp, esp; for correct debugging
    ;write your code here
    xor eax, eax
    
    mov eax, dat
    mov ebx, dat+ datlen
    dec ebx 
    
    call quicksort  
    mov eax, dat
    mov ebx, datlen
    loopshow:
        mov cl,byte[eax]
        PRINT_DEC 1, cl
        PRINT_STRING ","
        inc eax
        dec ebx
        cmp ebx,0
        jz loopshowout
        jmp loopshow
    loopshowout:
    ret
    
    
quicksort: ; split in half.. datarange:eax-ebx.
    cmp eax, ebx-1
    jge nothing
    jmp startpos
    nothing:
        ret
        
    startpos:
    
    push ebx 
    push eax
 
     
    ;eax = i
    ;ebx = j
    mov ecx, eax;
    inc ecx;
    
    loop:
        mov dh, byte[eax]
        mov dl, byte[ecx]
        cmp d
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值