Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Assembler
Перезагрузить страницу Можете помочь, вроде бы написал всё нормально ((((
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
АтакаСтраусов))))))))) АтакаСтраусов))))))))) вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.04.2015
По умолчанию Можете помочь, вроде бы написал всё нормально (((( - 02.04.2015, 19:10

Как по мне вроде бы написано всё верно , но при запуске происходит вывод самого массива(я знаю что выводятся непонятные символы, но так нужно), сортировки пузырьком работает но криво, а вот сортировка прямым включением вообще не работает (

bits 16
org 0x7C00
global main
global doing
global set_videopage
global set_resolution
global print_key
global set_cursor
global sort
global esort
global get_key
section .text



main:
call doing
ret


doing:
xor si, si
xor di, di

call setTextMode
mov al, 1
call setPage
mov ax,a
push ax
call strOut




mov bl,1
cmp bl,1; при 1 - выполняется сортировка пузырьком , при 0 - сортировка прямым включением
mov bp,num
jnz go
jz go2

go:

call esort ; - сортировка прямым включением
mov ax,a
push ax
call strOut
jmp exit


go2:

call sort ; - сортировка пузырьком
mov ax,a
push ax
call strOut
jmp exit

exit:
ret







sort:
push bp
mov bp, sp
sor:
mov dx,0
mov si,0
mo: cmp si,[bp]
jnl m1
mov al,[si+a]
cmp al,[si+2+a]
jnb m2
xchg al,[si+2+a]
mov [si+a],al
mov dx,0
m2: inc si
jmp mo
m1: cmp dx,0
jne sor
pop bp
ret





esort:
push bp
mov bp, sp
mov cx,[bp]
dec cx
mov si, 0
cycl1:
push cx
mov cx, [bp]
sub cx, si
push si
mov si, [bp]
cycl2:
mov al, [si-1+a]
cmp [si+a], al
jb m5
mov [x],al
mov al, [si+a]
mov [si-1+a],al
mov al,x
mov [si+a],al
m5:
dec si
loop cycl2
pop si
inc si
pop cx
loop cycl1
pop bp
ret


setCursor:
mov ah, 2
int 10h
ret

setPage:
mov ah, 5
mov bh, al
int 10h
ret

setTextMode:
mov ax, 0003h
int 10h
ret

charOut:
mov cx, 1
mov ah, 9
int 10h
inc dl
call setCursor
ret

strOut:
mov bp, sp
mov bp, [bp+02]
mov al, [bp]
mov ah, 3
int 10h
mov bl, 2
string:
call charOut
inc bp
mov al, [bp]
and al, 0ffh
jnz string
inc dh
xor dl,dl
call setCursor
pop ax
add sp, 2
push ax
ret


section .data
a db 1,2,3,4,5,6,7,8
x db 0
;sel db 1
num dw 8

times 510-($-$$) db 0
dw 0xAA55
Ответить с цитированием
  (#2 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,956
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 03.04.2015, 00:35

Непривычно видеть программные прерывания BIOS. Как давно это было!
Сто пудов преподаватель асма в ВУЗе - пожилой чел. Весь мир уже много лет работает на windowsAPI.
Ответить с цитированием
  (#3 (permalink)) Старый
АтакаСтраусов))))))))) АтакаСтраусов))))))))) вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.04.2015
По умолчанию 03.04.2015, 00:52

Нет, преподаватель молодой)
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
можете подсказать бп FST_Kent Блоки питания 1 07.03.2014 21:36
что можете сказать по такому блоку? sketch Оценка конфигурации 18 05.01.2013 20:56
Qt Creator правильно ли написал программу mugik Visual C++ 0 31.08.2012 18:39
Что можете сказать о... balthasar Любые вопросы от новичков 12 13.01.2012 21:29
Какую видеокарту можете посоветовать!!! BAngel Видеокарты 15 09.10.2011 11:22
General Protection Fault написал мне ноут lelik229 Ремонт ноутбуков 5 24.05.2011 09:51
Можете помочь обучить начинаюшего на Delphi7 Ivan Oparin Delphi 2 14.04.2011 16:36
Можете плиз помочь с графами Crazyroma Prolog 1 09.11.2010 10:51
Что можете сказать о Lenovo Anna Выбор ноутбука 10 27.10.2010 22:35
Написал программу... Нужны люди для тестирования reliable Зацените! 27 05.09.2009 23:05
Что можете посоветовать? dimazemin Подбор комплектующих 10 16.12.2008 00:32
нокиа 6111.. что вы можете сказать? Lamariposa Сотовые телефоны 2 02.06.2007 20:40



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов