Навигация
Главная
Поиск
Форум
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
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
ТЕХНОЛОГИИ ДОСТ... 63594
Имитационное мо... 58623
Реклама
Сейчас на сайте
Гостей: 7
На сайте нет зарегистрированных пользователей

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

Расчет мер близости на отношениях на Delphi + Пояснительная записка
База данных студентов на Delphi + Microsoft SQL Server
Метод конечных разностей для интерполяции/экстраполяции на Delphi

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Сортировка
Осуществить сортировку нескольких сторок методом вставки в алфавитном порядке. каждая строка не превышает 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 13 2014 02:28:19 · 0 Комментариев · 2094 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Delphi 6 программ...
Delphi 6/7 базы д...
База игр
Песочные часы
Современное проек...
Info
VksButton
IPAddresseEdit
Приемы программир...
HTMLredaktor
Degisy Data Acces...
Иллюстрированный ...
MiniTetris [Исход...
База для Allsubmi...
CoolControls v3.0...
Java 2. Наиболее ...
Экспорт базы данн...
PDJ_Anima
Киллер окон
PHP: Полезные приемы

Топ загрузок
Приложение Клие... 100488
Delphi 7 Enterp... 88205
Converter AMR<-... 20084
GPSS World Stud... 13844
Borland C++Buil... 12150
Borland Delphi ... 8709
Turbo Pascal fo... 7058
Visual Studio 2... 5007
Калькулятор [Ис... 4933
FreeSMS v1.3.1 3547
Случайные статьи
• Кэширование.
Эротическое белье ...
Всплывающие окно ф...
Условная компиляци...
ОБЯЗАТЕЛЬНЫЕ ИДЕНТ...
Использование стра...
QueryInterface и I...
Обзор инструментов...
Фольклор
Блок TABULATE
Инспекция состояни...
Программирование: ...
2.1. Вездесущий дв...
Игра 6 на 7 на Str...
как спланировать, ...
Установка программ...
Порты ТСР и UDP, н...
Инвестиции игорног...
В чем отличие ANI/...
• устранение непол...
Идейный лидер
Семантические сети
Получение XML-схем...
Здесь такжерассмот...
ПФЭК
Статистика



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


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