Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
eXnatiOnz
5 / 2 / 2
Регистрация: 23.11.2013
Сообщений: 42
1

Создание одно- и многосегментных программ

15.05.2015, 18:40. Просмотров 444. Ответов 4
Метки нет (Все метки)

Ребят помогите пожалуйста, думаю уже которую неделю, нужно разработать одно- и многосегментную программы. Суть заключается в следующем:
Написать программу на ассемблере, осуществляющую ввод последовательности символов с клавиатуры, обработку кодов символов в соответствии с заданием и вывод на экран результирующей последовательности
Программа должна включать в себя:
• ввод последовательности символов с клавиатуры (в результате ввода формируется статический массив кодов символов, максимальное число вводимых символов задается студентом самостоятельно);
• обработку кодов символов в соответствии с заданием (вариант задания, B. Перестановка a(n),a(n-1),a(n-2),...,a(n/2),a(1),a(2),...,a(n/2-1).);
• вывод на экран результирующей последовательности
Программа должна быть реализована в 2-х вариантах:
а) односегментная (.com); б) многосегментная (.exe).
ЗАДАНИЕ 2: Написать программу на Ассемблере, осуществляющую вывод на экран даты создания BIOS (Aф=0FFFF5h) прямой записью в видеопамять (Аф=B8000h). Использовать точечные директивы (модель памяти, директивы сегментации).
пожалуйста хотя бы объясните, просто эту тему пропустил, никак въехать не могу, знаю что это самая мелочь, но всё равно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2015, 18:40
Ответы с готовыми решениями:

Создание многосегментных программ
Ребят помогите пожалуйста, думаю уже которую неделю, нужно разработать одно- и...

Создание программ не линейной структуры
Доброе время суток, очень нужно решить 2 задачи, буду огромно благодарен за...

Перехват прерываний и создание резидентных программ
Привет! я новичек в ассемблере, встала передо мной тяжелая для меня задача:...

Средства отладки программ в DELPHI.Создание программ для циклических процессов
Ребята, помогите, пожалуйста, нубу, никак не справлюсь(( Заранее благодарен)...

Запуск программ на одно ядро ЦП
добрый день. у меня Виндовс 7 32 бит + двухъядерный процессор. из диспетчера...

4
Charles Kludge
Клюг
7642 / 3157 / 382
Регистрация: 03.05.2011
Сообщений: 8,382
15.05.2015, 19:13 2
Цитата Сообщение от eXnatiOnz Посмотреть сообщение
ЗАДАНИЕ 2:
[FASM]
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    org 100h
    push    0F000h
    pop ds
    mov si, 0FFF5h
    push    0B800h
    pop es
    xor di, di
    mov ah, 0Ah
    mov cx, 8
@@: lodsb
    stosw
    loop    @B
    xor ax, ax
    int 16h
@@: ret
1
Ethereal
Нарушитель
4140 / 1753 / 226
Регистрация: 17.02.2013
Сообщений: 2,638
15.05.2015, 19:40 3
Цитата Сообщение от eXnatiOnz Посмотреть сообщение
точечные директивы
Это что за новая терминология ? Какие директивы точечные, а какие нет ?

Добавлено через 1 минуту
А, допер. Это директивы, которые начинаются с точки. Кто бы мог подумать.
0
eXnatiOnz
5 / 2 / 2
Регистрация: 23.11.2013
Сообщений: 42
16.05.2015, 09:40  [ТС] 4
В первом задании как я понял нужно задать некое число N, которое введут с клавиатуры, потом сделать цикл ввода символов с клавиатуры, после он делает перестоновку чисел согласно уравнению и потом выводит результат на экран
0
eXnatiOnz
5 / 2 / 2
Регистрация: 23.11.2013
Сообщений: 42
17.05.2015, 12:00  [ТС] 5
вот сделал саму перестановку в первом задании, помогите доработать пожалуйста
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mov    cx, 8   //длина строки
mov    si,0200   //адрес начального массива
mov    di,0208  //адрес конечного массива
push    si      //читаем байт из исходного массива
add    si,cx        //добавляем в si длину строки
dec     si          //указатель на конец si
shr    cx,1       //сдвигаем на 1
push    cx        //делим по полам cx
mov    al,[si]        //сравниваем si 
mov    [di],al       //сравниваем di
dec     si         //указатель на конец начального массива   
inc     di     //записываем в конечный массив
loop    0110              //переходим на строку 0110
pop    cx              //достаем cx
pop     si       //достаем si
mov    al,[si]        //сравниваем si 
mov    [di],al       //сравниваем di
inc     si         //указатель на начало массива 
inc     di     //записываем в конечный массив
loop    011A              //переходим на строку 011A
0
17.05.2015, 12:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2015, 12:00

Различается ли написание программ в C++ Builder для одно-двухъядерных процессоров?
Например, в текущей программе предстоит перебор 10^12 вариантов с небольшими...

Необходимо составить несколько простых программ с использованием функций, процедур, одно/двумерных массивов.
Необходимо составить несколько простых* программ на Паскаль: 1) Две программы...

Создание программ
Есть ли какая-нибудь программа, чтобы создавать приложения для Андроид с самого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru