سورس مرتب سازی حبابی (Bubble Sort) به زبان اسمبلی

bubble sort in assembly 7554 تصویر

سورس مرتب سازی حبابی (Bubble Sort) به زبان اسمبلی

در این بخش سورس مرتب سازی حبابی (Bubble Sort) به زبان اسمبلی را برای شما آماده کرده ایم که با استفاده از زبان برنامه نویسی Assembly نوشته شده است. در ادامه می توانید توضیحات، تصاویر و همچنین فیلمی از نحوه اجرای پروژه را مشاهده کنید.

توضیحات پروژه

الگوریتم مرتب سازی حبابی (Bubble Sort) ساده ترین الگوریتم مرتب سازی است که با تغییر دادن مکرر عناصر مجاور در صورت نامرتب بودن، آرایه را مرتب می کند. این تغییرات تا زمانی که عناصر آرایه به طور کامل مرتب نشده باشند، ادامه می یابد. این الگوریتم کارایی چندانی ندارد ولی از نظر پیاده سازی راحت است.

در این پروژه بعد از اجرا شدن برنامه، ابتدا آرایه ای که در برنامه به صورت نامرتب تعریف شده، نمایش داده می شود و سپس برنامه آن را با استفاده از الگوریتم مرتب سازی حبابی مرتب کرده و خروجی نمایش می دهد. شما می توانید با مشاهده سورس کد این پروژه ساده اما کاربردی، مواردی جدیدی به دانش برنامه نویسی اسمبلی خود اضافه کنید. این برنامه با استفاده از برنامه Emu8086 نوشته شده است که می توانید آن از لینک مورد نظر دانلود کنید.

قسمت های از سورس کد

.model small
.stack 64
.data                                           
    ProgramTitle db 'AscenDIng Bubble Sort$'
    BeforeSort db 0DH , 0AH  , 0DH , 0AH , '** Array Before Sort IS **$'
    AfterSort db  0DH , 0AH  , 0DH , 0AH , '** Array After Sort IS **' , '$'
    Enter db 0DH,0AH , '$'
    Space db '    $'
    TempForPrint db 6 dup (' '),'$'
    t db  6 dup (' '),'$'
    CountArrayTemp db ?
    VALueArray db 99 , 102 , 80 , 71 , 2 , 6 , 1 , '$'
    CountArray db 7     

.code
main proc far
    MOV ax, data
    MOV ds, ax
    MOV es, ax
    
;****** CLEAR SCREEN ******
    MOV AH , 6h
    MOV AL , 25
    MOV CH , 0
    MOV CL , 0
    MOV DH , 24
    MOV DL , 79
    MOV BH , 7
    INT 10H
;****** CLEAR SCREEN ******  
;****** Loop For Print Non-Sort Number ******  
    LEA   DX , AfterSort     
    MOV   AH , 9
    INT   21H  
 
    LEA   DX , Enter
    MOV   AH , 9
    INT   21H

    MOV   CL , CountArrayTemp
    MOV   CH , 0
    MOV   SI , 0 

    DIV   CL
    ADD   AH , 48
    MOV   [BX] , AH
    MOV   AH , 0
    DEC   BX

    CMP   AX , 0
    JNE   NumG100

    LEA   DX , TempForPrint
    MOV   AH , 9
    INT   21H
EndLoop1: 
    INC   SI 
    POP   CX
    LOOP  Loop2
;****** Loop For Print Non-Sort Number ******
   
    MOV   AH , 1
    INT   21H
    MOV   AX , 4c00H 
    INT   21H    
main endp
end main

نوشته سورس مرتب سازی حبابی (Bubble Sort) به زبان اسمبلی اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.

درباره نویسنده: administrator

ممکن است دوست داشته باشید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *