Навигация
Главная
Поиск
Форум
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
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Создание отчето... 63263
Модуль Forms 63166
ТЕХНОЛОГИИ ДОСТ... 59811
Пример работы с... 58690
Имитационное мо... 55287
Реклама
Сейчас на сайте
Гостей: 7
На сайте нет зарегистрированных пользователей

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

Моделирование работы перекрёстка по регулированию движения на GPSS + Поя...
Информационная система - транспортный парк на Turbo Pascal (База данных)...
Моделирование интернет магазина (Apache, Php, Html) на GPSS + Блок схема

Реклама



Подписывайся на 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 Комментариев · 1933 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Приложение Клиент...
IMtale
Проигрыватель Mp3
Пример OpenGL гра...
Delphi World 6.0
Visual Basic Script
База Allsubmitter...
Определние размер...
Аватары в комме...
Ранги для форума
TrayIcon
Delphi 2005. Разр...
mmmJlabel
PHP: Полезные приемы
Развивающийся фла...
RbControls
Assembler. Практикум
3d Tank [Исходник...
Proeffectimage
Delphi на примерах

Топ загрузок
Приложение Клие... 100426
Delphi 7 Enterp... 85301
Converter AMR<-... 20062
GPSS World Stud... 12234
Borland C++Buil... 11457
Borland Delphi ... 8428
Turbo Pascal fo... 7014
Visual Studio 2... 4985
Калькулятор [Ис... 4682
FreeSMS v1.3.1 3530
Случайные статьи
Раздел описания ме...
Глава 10
Directory и объект...
Подмена функций ст...
10.6. Задачи
Друзья на высоких ...
участника безопасн...
Итератор end
анне Тип Choices о...
ДОПУСТИМЫЕ СПОСОБЫ...
Сжатие страниц на PHP
Программа на языке...
9.2. Описание син...
Функция MessageDlg
Формат X PixMap
Invalid qualifier
Параметрические ко...
— услуг Интернета см
Синхронизация в яд...
Функции выполняют ...
Как работает типов...
внутренней сети
Первый алгоритм ре...
Установка IBM WebS...
Компонент кнопка
Статистика



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


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