Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2013, 19:13   #1
Dimon82Al
Новичок
Джуниор
 
Регистрация: 14.02.2012
Сообщений: 2
По умолчанию Сортировка массива по нечетным элементам

Необходимо расположить нечетные элементы массива по возрастанию. Но вот почему-то постоянно выводит значения, которых нет в массиве.

Код:
#make_COM#
include 'emu8086.inc'
 
ORG 100h 
 
.data
mas     db 2,9,12,8,1,3,19,5,10,23,7,11  
 
X db 0 
 
.code   
 
JMP cycl0
 
YES:
  inc si 
  jmp cycl2
    
cycl0:
        mov   cx, 11
    mov   si, 1  
cycl1: 
    push  cx 
    mov   cx, 12 
    sub   cx, si                    
    push  si                       
    mov   si, 11  
   
cycl2:
    mov al, mas[si]
    mov bl, 2
    div bl
    cmp ah, 1
    jnz YES
                   
        mov al, mas[si - 1]             
    cmp mas[si], al
    ja m1
    mov x, al                  
    mov al, mas[si]
    mov mas[si - 1], al          
    mov al, x
    mov mas[si], al
        
m1: 
        dec si
    loop cycl2
    pop si
    inc si
    pop cx
    loop cycl1 
    
CALL    PTHIS  
DB 13, 10, 'Otsortirovannyi massiv: ', 0
mov cx, 12      
mov si,0    
 
cycl4:
    mov al, mas[si]
    CALL    PTHIS  
        DB 13, 10, 'Elementy massiva: ', 0
    CALL    PRINT_NUM_UNS   
    inc si      
loop cycl4
    
exit:   
    ret
                                      
DEFINE_SCAN_NUM
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
DEFINE_PTHIS
END
Dimon82Al вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбивка массива по элементам! Corvette Общие вопросы C/C++ 12 15.10.2011 23:18
к элементам первой половины массива добавить минимум, а к элементам второй - добавить максимум specialist Паскаль, Turbo Pascal, PascalABC.NET 3 08.05.2011 01:46
обращение к элементам массива в С++ с помощью указателей серг Помощь студентам 0 05.12.2009 22:58
обращение к элементам двумерного массива на С++ серг Помощь студентам 16 05.12.2009 21:01