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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 25.10.2009, 22:30   #1
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию Сортировка простым обменом

Ребят спасайте, горю, почему то не сортирует:
Код:
.model tiny
.code
org 100h
main: 
;============================================================================
;сортировка методом простого выбора
	mov cx,5
	mov di,8
	mov v,0
cyc:
	sub di,v
	add v,2
	call maks
	
	loop cyc

;==================================================================
;вывод
	mov cx,5
     	xor si,si
     	xor ax,ax
     	xor dx,dx
output:
	push cx
	mov ax, word ptr arr [si]   
;; Проверяем число на знак.
        test    ax, ax
        jns     @oi1

;; Если оно отрицательное, выведем минус и оставим его модуль.
        mov     ah, 02h
        mov     dl, '-'
        int     21h
        pop     ax
        push    ax
        ;neg ax
        
;; Количество цифр будем держать в CX.
@oi1:  
        xor     cx, cx
        mov     bx, 10
@oi2:   
       ;cwd
       xor dx,dx
       div bx
; Делим число на десять. В остатке получается последняя цифра.
; Сразу выводить её нельзя, поэтому сохраним её в стэке.
        push    dx
        inc     cx
; А с частным повторяем то же самое, отделяя от него очередную
; цифру справа, пока не останется ноль, что значит, что дальше
; слева только нули.
        test    ax, ax
        jnz     @oi2
; Теперь приступим к выводу.
        mov     ah, 02h
@oi3:   pop     dx
; Извлекаем очередную цифру, переводим её в символ и выводим.
        add     dl, 30h
        int     21h
; Повторим ровно столько раз, сколько цифр насчитали.
        loop    @oi3
		
     	add si,2    
     	pop cx
	mov dx," "
	mov ah,02h
	int 21h
	loop output	
        
	ret

;================================================
;процедура нахождения макс и мин и обмен их местами
maks proc near
	push cx
	xor si,si
	xor ax,ax
	mov bx,offset arr
	mov ax,word ptr[bx]
	dec cx
	;xor dx,dx
_cyc:	
	add si,2
	cmp word ptr[bx+si],ax
	jl _no	;если макс больше то выходим на метку no
	mov ax,word ptr [bx+si]
	mov i,si
_no:
	loop _cyc
	mov si,i
	mov ax,word ptr[bx+si]
	mov dx, word ptr[bx+di]	;получили последний элемент в текущей размерности
	mov word ptr[bx+di],ax
	mov word ptr[bx+si],di
	
	pop cx
	ret
maks endp
	
;================================================

arr dw 5 dup (1,2,3,4,5)
error db "Введено не число$"
buff	db 5,6 dup(?)
i dw ?
v dw ?
end main
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума
Старый 26.10.2009, 11:58   #2
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

все проблема решена
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка простым выбором (метод пузырька)) Sparky Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 22.09.2009 18:06
помогите с простым алгоримтом Tirendus Microsoft Office Excel 7 05.08.2009 21:21
Помогите с простым запросом Mylene79 Microsoft Office Access 4 23.04.2009 14:41
отсортировать информацию обменом в типизированном файле rainbow Помощь студентам 6 07.03.2009 09:26