Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 13
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Меры близости на векторах в Delphi + Блок схемы
Моделирование автомойки на GPSS + Отчет + Блок схемы
Метод конечных разностей для интерполяции/экстраполяции на Delphi

Сортировка
Осуществить сортировку нескольких сторок методом вставки в алфавитном порядке. каждая строка не превышает 100 символов .количество строк не более 20.

;осуществить сортировку нескольких сторок методом вставки в алфавитном порядке
; каждая строка не превышает 100 символов .количество строк не более 20

format mz

begin:
mov ax,cs
mov ds,ax
mov es,ax

call vvods
push ax




call sort

mov ah,9
mov dx,otsortmsg
int 21h

pop ax

call vuvod



mov ah,0x4C ;эта функция завершает программу
mov al,0 ;код возврата 0
int 0x21 ;вызываем ядро операционной системы

;;;;;;;;;;;;;;;;;;;;;;;;;;
;=========================
endl db 10,13,'$'
buf db 2020 dup (0) ;100 * 20 +20(конец строки)=2020 символов
temp db 101 dup (0); для обмена
vveditemsg db "Vvedite stroku:$"
otsortmsg db "Otsortirovanie strki:",10,13,'$'
sort:
;aх= количество строк
;берем элемент и сравниваем его с передыдущими элементами
;если нашли что элемент меньше за предыдущее то все сдигаем
;и оставляем место чтоб вставить туда элемент
;сравнение начинаем с первого элемента

cld ;flag
mov cx,ax
dec cx
xor bx,bx
mov bx,100
.cikl:
push cx
push bx ;???????????????????????????

mov di,buf
mov si,di ;???????????????????????????
add si,bx
;-------------------
@@:
;mov si,di ;строка которую будем со всеми сравнивать


push si
push di

mov cx,100
repe CMPSB
;jle .bolshe ;по убыванию
jge .bolshe ;по возрастанию

;je .bolshe
;вставляем туда а все остальное свигаем вправо
pop di ;куда нужно положить
pop si ;какую строчку берем
mov ax,di;сохраняем чтоб не потерять

;с si помещяем в переменную и затем строка -1 помещяем в si
;а в строку -1 помещяем все с переменои и так пока si не будет равен ах
.start:

cmp ax,si
ja .exitobmen
je .exitobmen
push si
; si->temp
mov di,temp ;???????????????????????????
mov cx,100 ;???????????????????????????
rep MOVSB

;si-100>si
pop si
mov di,si
sub si,100 ;???????????????????????????
push si

mov cx,100
rep MOVSB

;temp>si-100
pop si
push si

mov di,si
mov si,temp
mov cx,100 ;???????????????????????????
rep MOVSB




pop si

jmp .start
.exitobmen:
;call vuvmes
;конец обменан(смещения)
jmp .exitcikl
.bolshe:




pop di
pop si
add di,100 ;???????????????????????????
cmp si,di
je .exitcikl


jmp @r
.exitcikl:

;--------------------

;--------------------
pop bx
pop cx
add bx,100
loop .cikl
ret


vvods:
;воодим строки до пустой строки или уже ввели 20 строк
mov cx,20
xor bx,bx
@@:
push cx
push bx

mov ah,9
mov dx,vveditemsg
int 21h
pop bx
pop cx

push cx
push bx

;============
mov dx, buf
add dx,bx
mov ah,3Fh
mov bx,0
mov cx,99; максимум символов


int 21h
;===============


pop bx
pop cx
add bx,100

cmp ax,99
je .next
sub ax,2

.next:

add dx,ax ;???????????????????????????

mov ah,'$' ;???????????????????????????
mov si,dx ;???????????????????????????
mov [si],ah ;???????????????????????????

cmp al,0
je .ext2 ;если ничего не ввели



loop @r

mov ax,20 ;???????????????????????????
jmp @f

.ext2:
mov ax,21
@@:


sub ax,cx


ret

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
vuvod:
xor bx,bx
mov cx,ax

;inc cx
.cikl:
push cx
push bx

mov ah,9
mov dx,buf
add dx,bx
int 21h

mov ah,9
mov dx,endl
int 21h


pop bx
pop cx
add bx,100 ;???????????????????????????
loop .cikl

ret;

;;;;;;;;;;;;


Опубликовал Kest May 12 2014 22:28:19 · 0 Комментариев · 3634 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Animation Effect ...
Последнее загруж...
DelTrayIcon [Исхо...
Защита от спама ...
ZipTV
PHP 5. Практика с...
База каталогов ( ...
C# в кратком изло...
БД сеть компьютер...
База для Allsubmi...
Delphi 2005 для .NET
Интерактивный инт...
XPmenu
Распознавание иде...
IpEditAdress
3D Тетрис [Исходн...
Удаление своего EXE
Globus VCL Extent...
INSTANT BOOSTER v...
Быстрое создание ...

Топ загрузок
Приложение Клие... 100779
Delphi 7 Enterp... 97936
Converter AMR<-... 20285
GPSS World Stud... 17037
Borland C++Buil... 14206
Borland Delphi ... 10334
Turbo Pascal fo... 7381
Калькулятор [Ис... 6050
Visual Studio 2... 5214
Microsoft SQL S... 3667
Случайные статьи
Использование приз...
Фотоаппарат и всп...
Указатели и память
вычисление значени...
Играть в игровые а...
Максимальная разни...
Обработка ошибок в...
Школа SEO Россия
Класс Scanner
Изучая сложные объ...
БЛУЖДАНИЯ БЕЗ ОРИЕ...
Вывести все 3х зна...
Раскрутка, путем р...
Некоторые пытаются...
Переписать текст и...
Доступ к рабочей к...
Инструмент исследо...
Язык С: перечислим...
Предоставление сеа...
Графический режим ...
Реализация собстве...
Принтеры и DTE
вкладках службы FT...
Целостность информ...
Символы для формат...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?