![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() |
brut_ |
![]() ![]()
Сообщение
#1
|
Гость ![]() |
Помогите пожалуйста с двумя задачками:
1) Дан массив из 10 элементов. Вычислить разность между максимальным и минимальным элементами (используйте адресацию по базе). 2) Дан массив P[0..k]. Определить сколько элементов удовлетворяют неравенству A<P[i]<B (используйте косвенную регистровую адресацию). Я ее частчно сделал: stac segment stack 'stack'осталось самое сложное: Ввода с клавиатуры исходных данных и вывода на экран исходных и конечных данных. Очистить экран и вывести результат в рамке красного цвета Поменять цвет рамки через 5 сек. Помогите, пожалуйста... |
![]() ![]() |
brut_ |
![]()
Сообщение
#2
|
Гость ![]() |
Вообщем такое дело, я привел решение только второй задачи, возможно там
есть что то лишнее ![]() По поводу вопроса: такое дело: лекции нам по ассемблеру не читали, дали только методички и поставили лабы, типа на практике все и поймете... Отвечаю на вопрос (я буду цитировать из методы): push ds - При запуске exe-программы регистр DS указывает на ее заголовок, считанной в память. Поэтому если тело программы описывается как процедура, то первой командой программы должна быть PUSH DS, которая сохраняет в стеке начальное значение DS. ret - Выход из программы, описанной как дальняя процедура, осуществляется с помощью команды RETN или RET (типа конец процедуры). push ax - поместить в стек нулевое смещение адреса возврата. sub ax,ax - возможно - это то же лишнее. |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 8:37 |