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

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

Расчет мер близости на отношениях на Delphi + Пояснительная записка
Программа тестирования и обучающая программа по математике на Turbo Pasc...
Моделирование процесса поступления заявок в систему, состоящую из трёх Э...

Реклама



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

ПОДПИСЫВАЙСЯ на канал о программировании
Ввод массива
format mz



macro gets str {

;============
mov dx, str
mov ah,3Fh
mov bx,0
mov cx,5; максимум символов
int 21h
;===============
add dx,ax ;???????????????????????????
sub dx,2 ;???????????????????????????
mov al,'$' ;???????????????????????????
mov bx,dx ;???????????????????????????
mov [bx],al ;???????????????????????????



}



macro mxchg i1,j1,i2,j2 {
;меняет занчение положение матрици между [x1,y1] [x2,y2]
;
xor dx,dx

mov ax,i1
xor bx,bx
mov bl,[n] ;???????????????????????????

mul bx
mov si,ax

mov bx,j1

mov ah,[si+bx+mass] ;???????????????????????????

push ax
mov ax,i2
mov bl,[n]
mul bx

mov di,ax
mov bx,j2

mov cl,[di+bx+mass]

pop ax
mov [di+bx+mass],ah

mov bx,j1

mov [si+bx+mass],cl
}


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;=======переменные ======================
msg db 56 dup (?) ;Set msg array
endl db 10,13,'$'
EnterN db "N=$"
n db 7; размер массива
mass db 1024 dup (?); начало масива и выделение места под него

i1 dw 0
j1 dw 0

i2 dw ?
j2 dw ?

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;==========================================
begin:
mov ax,cs
mov ds,ax

call VVOD


;DO
call vuvmass

mov ah,9
mov dx,endl
int 21h
;;;;;;;;;;;;;;


;------------------------
;Подготовка
;
xor cx,cx
mov cl,[n]
dec cx
mov [i1],0
mov [j1],1


mov [i2],1

mov [j2],cx


fcikl:
dec cx
push cx


cmp cx,0
jle next
push [j1]
push [i2]
@@:
push cx
;mxchg 0,1,1,2
mxchg [i1],[j1],[i2],[j2] ;???????????????????????????
inc [j1]
inc [i2]
pop cx
loop @r

pop [i2]
pop [j1]

inc [j1]
inc [i1]

dec [j2]
inc [i2]

next:

;------------------------
pop cx
dec cx ;???????????????????????????
cmp cx,0
jg fcikl

;==========================
;;;;;;;;;;;;;;;;;;;;;;;;;;;
call vuvmass
;;;;;;;;;;;;;;;;;;;;;
;====================

mov ax, 4c00h ;
int 21h
;==============

dgtTostr: ;число в строку
;ax=число
;si=строка

mov dl,'$'
push dx



vuv_chisla_s:
mov dx,0
mov bx,10
div bx


add dl,30h ;???????????????????????????

push dx

cmp ax,0
jne vuv_chisla_s
; ;теперь числа вынимаеи из стека
gopop:
pop dx
mov [si],dl ;???????????????????????????
cmp dl,'$'
pushf
inc si
popf
jne gopop

ret
;=====================
;процедура выводит массив на экран
vuvmass:

xor cx,cx
xor bx,bx
mov cl,[n]
;mov
.cikl:
push cx
xor cx,cx
mov cl,[n]
@@:
push cx
push bx
xor ax,ax
mov al,[mass+bx]

mov si,msg
call dgtTostr

mov ah,9
mov dx,msg
int 21h

mov ah,2
mov dl,9h
int 21h


pop bx
inc bx
pop cx
loop @r
push bx
mov ah,9
mov dx,endl
int 21h
pop bx

pop cx

loop .cikl

ret
;========================
;=========================
VVOD:
;воодим масив
mov ah,9
mov dx,EnterN
int 21h

gets msg

mov si,msg

call strTodgt

mov [n],al

;водим матрицу(массив)
xor bx,bx
;xor ax,ax
;mov al,[n]
mov bx,ax

mul bx
mov cx,ax
xor bx,bx
xor ax,ax
@@:
push cx
push bx

call vuvod_do
gets msg

mov si,msg

call strTodgt

pop bx
pop cx
mov [mass+bx],al ;???????????????????????????
inc al
inc bx
loop @r


ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;===========================
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
strTodgt: ; строку в число, принимает строку в si , вывод в ах
;метод который переводит с строки в числовой формат
mov dx,0
;mov si,%1
@@: ;начало цикла
mov ax,0
mov cx,0
mov al,[si] ;???????????????????????????
cmp al,'$' ;???????????????????????????
je @f
sub al,30h

mov cx,ax
mov bx,10 ;???????????????????????????
mov ax,0 ;???????????????????????????
mov ax,dx
mul bx

add ax,cx

mov dx,ax
inc si

jmp @r
@@:
mov ax,dx

ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;
vuvod_do:
;выводим инфу о том какой элемент массива вводим
;так же тут будем увеличивать индексы
mov ah,2
mov dl,'['
int 21h

mov ax,[i1]
mov si,msg
call dgtTostr

mov ah,9
mov dx,msg
int 21h

;---------------
mov ah,2
mov dl,',' ;???????????????????????????
int 21h
;---------------

mov ax,[j1]
mov si,msg
call dgtTostr

mov ah,9
mov dx,msg
int 21h

mov ah,2
mov dl,']'
int 21h

mov ah,2
mov dl,':'
int 21h
;-------------

inc [j1]
xor ax,ax
mov al,[n]
cmp [j1],ax ;???????????????????????????
jne @f
mov [j1],0 ;???????????????????????????
inc [i1]
@@:

ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;



Опубликовал Kest May 13 2014 02:30:04 · 0 Комментариев · 2121 Прочтений · Для печати

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


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



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

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

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

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

Пароль



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

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

Случайные загрузки
Создание меню на ...
Rss Parser
SODA [Исходник на...
Degisy Data Acces...
PCX
Ильдар Хабибуллин...
Averaging [Исходн...
Таймер и секундомер
Run
Язык программиров...
CoolHints2k v1.03
Counter [Исходник...
Приемы программир...
WAP версия сайта
VFW
Синтаксический ан...
IMtale
Bitmap [для кнопок]
Удаление своего EXE
Панель случайной ...

Топ загрузок
Приложение Клие... 100399
Delphi 7 Enterp... 84058
Converter AMR<-... 20052
GPSS World Stud... 11502
Borland C++Buil... 11306
Borland Delphi ... 8255
Turbo Pascal fo... 6994
Visual Studio 2... 4975
Калькулятор [Ис... 4500
FreeSMS v1.3.1 3517
Случайные статьи
СПИСКИ В GPSS
Параллельная магис...
Рекомендации по ор...
Чем отличается руб...
286/287 Instructio...
Манипуляторы с арг...
Задача о коммивояж...
Блоки работы со сп...
Декларативная и пр...
Типы модуляции
Трансляция списков...
Perl :: LWP + MIME...
Физическое копиров...
расположены в разн...
Трояны - это свои ...
Как включить отобр...
Варианты заданий
Недостатки рекурси...
Изменение свойств ...
Запуск Windows ХР ...
Операции с контейн...
Приведение типов в...
Профессиональное р...
tld. Самымпростым ...
клиенты POP3/SMTP
Статистика



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


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