Вопрос № 92203: Здравствуйте уважаемые Эксперты! Волей случая так получилось, что мне нужна срочная помощь в написании программы на Ассемблере. Если кто нибудь сможет помочь в этом, буду очень признателен.
Вот сама задача:
Умножить два двухбайтных числа...Вопрос № 92276: Добрый вечер!
Помогите пожалуйста с програмкой:
Ввести размерность m х n и элементы матрицы (байты, положительные числа).Заменить минимальные элементы в нечетных строках на нули.
Сложность возникла при объявлении матрицы размерностью m x ...Вопрос № 92296: Здраствуйте ! У меня такой вопрос :
Как вывести сообщение через видеобуфер если программка запускается из 1 сектора дискеты, т.е при загрузке.
Я пытаюсь вывести в es(b800):XXXX , но его нет на экране.
Как настроить монитор на видеобуфер ....Вопрос № 92345: подскажите как установить ПО для работы с ассемблером.
Скачал МАСМ с сайта майкрософт, скачас С++ Експресс едишн. Все установилось нормально. файлы .asm распознаются и открываются. Как их дальше преобразовывать в объектный и т.д. Как потом запуст...
Вопрос № 92.203
Здравствуйте уважаемые Эксперты! Волей случая так получилось, что мне нужна срочная помощь в написании программы на Ассемблере. Если кто нибудь сможет помочь в этом, буду очень признателен.
Вот сама задача:
Умножить два двухбайтных числа в памяти с адресами 0d50 (младший байт числа) 0d51 (старший байт числа) 0d52 (младший байт числа) 0d53 (старший байт числа). Результат записать по адресам с000h (младший байт числа) с001H (старший байт числа).
Я так понимаю что ответ будет четырехбайтным, и как его записать в 2 ячейки памяти? Возможна ошибка в задании. Давайте запишем в 4 ячейки.
Виноват, извините за повторный вопрос, просто забыл сказать что это нужно сделать коммандами для процессора KP580BM80A. Ещё раз спасибо!
Добрый вечер!
Помогите пожалуйста с програмкой:
Ввести размерность m х n и элементы матрицы (байты, положительные числа).Заменить минимальные элементы в нечетных строках на нули.
Сложность возникла при объявлении матрицы размерностью m x n.
mas db m DUP (5 DUP (?)) он не воспринимает, а
mas db ?
m db ?
n db ?
путсються...
заранее спасибо)
Отправлен: 20.06.2007, 22:53
Вопрос задал: Mikelado (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Олег Владимирович
Здравствуйте, Mikelado!
Прокомментирую только проблему с объявлением. Прекрасно воспринимается объявление вроде
mas db 5 dup (5 dup (?))
Другое дело, что недопустимо
m db ?
n db ?
mas db m dup (n dup (?))
так как ассемблер должен точно знать, сколько памяти отводить под переменную mas. Можно сделать так:
m equ 5
n equ 5
mas db m dup(n dup (?))
Но твёрдо прописывать в программе размер матрицы противоречит заданию. Можно предложить слдующее: задать максимальный возможный размер матрицы и исходя из него, выделять память: mas db 100 dup (100 dup (?)).
Другой вариант - после ввода пользователем m и n создавать матицу в стэке -
mov ax, n ; m и n - word
imul ax, m ; Теперь в AX m*n - размер матрицы в байтах
sub sp, ax ; Сдвигаем SP, выделяя область размером mn
mov bp, sp ; Устанавливаем указатель на неё в BP
Если будут вопросы или возникнут трудности с самой программой - обращайтесь в минифорум. Удачи!
--------- Факультет ПМ-ПУ - лучший в СПбГУ!
Ответ отправил: Олег Владимирович (статус: Студент)
Ответ отправлен: 20.06.2007, 23:36 Оценка за ответ: 5
Вопрос № 92.296
Здраствуйте ! У меня такой вопрос :
Как вывести сообщение через видеобуфер если программка запускается из 1 сектора дискеты, т.е при загрузке.
Я пытаюсь вывести в es(b800):XXXX , но его нет на экране.
Как настроить монитор на видеобуфер .
Пытался
mov ax,3
int 10h ;video mode = 3
mov ah,5
xor al,al ; page 0
int 10h
thanks forward
Отправлен: 21.06.2007, 01:46
Вопрос задал: James (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 7)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, James !
Вспомните формат MBR.
1)Программа должна начинатся с 0000h по этому адресу стоит переход на программу.
2)Далие идет описание диска.
3)Сама программа.
4)Таблица разделов.
и все заканчивается кодом 55h,AAh
(итого 512 байт)
Подробности смотрите в книге В. Кулакова работа с дисками.
Удачи!
--------- И только наступив на грабли мы преобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Практикант)
Ответ отправлен: 22.06.2007, 10:42 Оценка за ответ: 5
Вопрос № 92.345
подскажите как установить ПО для работы с ассемблером.
Скачал МАСМ с сайта майкрософт, скачас С++ Експресс едишн. Все установилось нормально. файлы .asm распознаются и открываются. Как их дальше преобразовывать в объектный и т.д. Как потом запустить?
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Шамигулов Тимофей Ринатович!
Посмотрите вопрос 92197.
Скорее всего Вы скачали версию для Windows(32-bit он не компилирует программы 16-bit и Вам нужно скачать версию для Дос(16-bit): MASM 6.11, 6.12)
Удачи!
--------- И только наступив на грабли мы преобретаем драгоценный опыт!