Мы в Telegram
Добавить новость
103news.com
Работа
Июнь
2023

Написать ассемблерную вставку в виде функции для кода на C++

0

Написать функцию Swap, которая меняет местами содержимое двух областей памяти

одинаковой длины.

void Swap(void *Mem1, void *Mem2, long Len)

Здесь Mem1 — указатель на первую область памяти, Mem2 — на вторую, Len — их длина в

байтах. Для параметра Len использован знаковый тип, поскольку работоспособность функции

должна гарантироваться при 0 ≤ Len < 2^31

.

В коде реализовать цикл обмена областей памяти блоками по 4 или 8 байт. Обмен по 8 байт может быть реализован через стек математического

сопроцессора с помощью команд fild (загрузка числа из памяти в стек) и fistp (выгрузка числа из

стека в память) со спецификатором размера qword ptr (четверное слово). Стек сопроцессора

при необходимости может быть использован и при обмене блоками по 4 байта. В этом случае в

командах fild и fistp используется спецификатор размера dword ptr. Поскольку значение Len в

общем случае может быть не кратно 4 или 8, оставшиеся после цикла обмена двойных или

четверных слов байты обменять любым удобным способом.

Рассмотреть примеры работы функции. В каждом примере берутся два массива одного

типа и одной длины, но с разным содержанием (допустимо использовать как статические, так и

динамические массивы). Для них вызывается функция Swap. Массивы рассмотреть двух видов:

1

— вещественных чисел типа float;

— символов char (т.е. заполняется некоторой строкой).

При этом для каждого вида массивов рассмотреть два случая с разной длиной, т.е. функцию

Swap для каждого вида массивов запускать дважды. Всего получается 4 примера.

Вывести результаты на экран (два массива: до и после вызова функции Swap). X86





Губернаторы России
Москва

Собянин рассказал о работе сервиса «Вместе с культурой»





Москва

Эксперт Президентской академии в Санкт-Петербурге о поддержке организаций и ИП в Белгороде


Губернаторы России

103news.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.

Moscow.media
Москва

Собянин рассказал о работе сервиса «Вместе с культурой»



103news.comмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "103 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. 103news.com — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

103news.com — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.

Музыкальные новости

Булат Окуджава

Кажется, мы начинаем забывать Урганта: ведущего не пустили на 100-летие Окуджавы




Спорт в России и мире

Алексей Смирнов – актер, которого, надеюсь, еще не забыли

Инсайты, стратегии и нетворкинг для профессионалов: 21 июня пройдет ежегодный форум «Спорт и Бизнес»

Полезные приложения для поклонников спортивной ходьбы

Стартовал финальный этап всероссийского футбольного турнира «Будущее зависит от тебя»


Новак Джокович

Новак Джокович низко оценил свою готовность к «Ролан Гаррос» и Олимпиаде-2024



Новости Крыма на Sevpoisk.ru


Москва

Эксперт Президентской академии в Санкт-Петербурге о поддержке организаций и ИП в Белгороде



Частные объявления в Вашем городе, в Вашем регионе и в России