14 / 14 / 11
Регистрация: 14.11.2016
Сообщений: 284
|
|
Вычисление количества элементов в массиве. Паскаль + ассемблерная вставка27.04.2017, 19:09. Показов 1556. Ответов 9
Метки нет Все метки)
(
Необходимо написать программу на языке Pascal, обработку данных (в том числе циклы, если они необходимы) осуществить в ассемблерной вставке.
Написать программу, вычисляющую количество элементов в массиве до первого нулевого элемента, в случае если нулевого элемента нет, должно возвращаться количество элементов в массиве. Помогите пожалуйста, очень прошу
0
|
27.04.2017, 19:09 | |
Ответы с готовыми решениями:
9
ассемблерная вставка в Delphi Циклический сдвиг элементов в массиве.
Ассемблерная вставка в паскаль (вычислить значение выражения) |
Asm/C++/Delphi/Py/PHP/VBA
![]() |
||||||
27.04.2017, 21:26 | ||||||
![]() Решение
2
|
3408 / 1827 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
||||||||||||||||
28.04.2017, 11:51 | ||||||||||||||||
Jin X, в данном коде это не существенно, но на будущее.
1)Паскаль генерирует код в моделях памяти Huge или Large, т.е. несколько сегментов кода и возможно несколько сегментов данных. 2)Переменная передается как параметр или как значение. В любом случае передается указатель сегмент : смещение. 3)Различия начинаются в генерации кода: -значение(нет var в описании переменной)
У Вас код написан для парметра-переменной и сегментные регистры не настраиваются
2
|
Asm/C++/Delphi/Py/PHP/VBA
![]() |
|
28.04.2017, 13:00 | |
Constantin Cat, спасибо за замечание. Давно не имел дела с паскалем
![]() Тогда надо заменить mov di,word ptr [A] на les di,A p.s. Насколько я помню, в TP/BP нужно сохранять только DS и BP/SP, остальные регистры можно юзать свободно? И никто не обещает DF=0 (CLD), верно?
0
|
Asm/C++/Delphi/Py/PHP/VBA
![]() |
|
07.05.2017, 12:40 | |
KatrinLuxury, какую именно?
les di ? Заносит в пару es:di значения из двойного слова по указанному адресу, т.е. адрес массива.
0
|
14 / 14 / 11
Регистрация: 14.11.2016
Сообщений: 284
|
||||||
07.05.2017, 13:01 [ТС] | ||||||
Jin X, Первый раз сталкиваюсь в ассемблером в задаче, поэтому если можно, исправьте, что не так поняла
0
|
Ушел с форума
![]() ![]() 16355 / 7671 / 1078
Регистрация: 11.11.2010
Сообщений: 13,730
|
|
07.05.2017, 14:06 | |
1
|
Asm/C++/Delphi/Py/PHP/VBA
![]() |
|
07.05.2017, 22:01 | |
![]() Решение
Я бы сказал "копирует значение"
поиск значения ax в буфере по адресу es:di длиной cx слов (w) если не нашли, прыгаем на @@nodec каких циклов? просто уменьшаем dx на 1 (изначально в dx длина массива - кол-во элементов; после repne scasw в cx будет содержаться размер массива минус кол-во проверенных элементов: если элемент не найден, то 0, а если найден, то на 1 меньше нужного кол-ва, т.к. найденный элемент тоже считается... в принципе, можно заменить dec dx на inc cx – разницы нет, т.к. дальше идёт sub dx,cx) вычесть cx из dx
1
|
07.05.2017, 22:01 | |
Помогаю со студенческими работами здесь
10
Вывод точки в графическом режиме (ассемблерная вставка в Паскаль) Вычисление арифметического выражения (ассемблерная вставка) Вычисление целочисленного арифметического выражения (Ассемблерная вставка в C++) Вычисление целочисленного арифметического выражения (Ассемблерная вставка) Вычисление целочисленного арифметического выражения (Ассемблерная вставка) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
|
Взаимодействие Python с REST API
py-thonny 27.03.2025
REST API - это архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Python располагает функциональным набором инструментов для работы с REST API и основная библиотека для. . .
|
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations
рестрикции доступа на сервер sshd
статья:
https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
|
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
|
Многопоточное программирование в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
|
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
|
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
|
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
|
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
|
Образование и практика
Igor3D 21.03.2025
Добрый день
А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
|