Форум программистов, компьютерный форум, киберфорум
C (Си)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 14.06.2018
Сообщений: 3

Код с ассемблерной вставкой

14.06.2018, 02:29. Показов 1565. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте. Помогите, пожалуйста, написать код на си с ассемблерной вставкой к заданию:

Дан массив A из 16 слов. Скопировать в байтовый массив B элементы, величины которых лежат в диапазоне [-3;4] и вычислить их сумму и их количество. В массив C поместить адреса(смещения) этих элементов.

Заранее благодарю!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.06.2018, 02:29
Ответы с готовыми решениями:

Ошибки в ассемблерной вставке
в 24 и 25 строке ругается, что недопустимое число операторов #include "iostream" #include "windows.h" #include...

Разбор кода ассемблерной программы
Добрый день, у меня возникла такая проблема, я при помощи функции strtok() считываю слова из перенной buffer в переменную word. В buffer...

С++ с Ассемблерной вставкой
помогите с решением данного задания Y = b-a-c+d

2
Заблокирован
14.06.2018, 08:17
Лучший ответ Сообщение было отмечено kirillhse9 как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
    short a[16],*c[16];
    char b[16];
    int i,s,n;
 
    srand((unsigned)time(0));
    for(i=0; i<16; i++)
    {
        a[i]=rand()%13-6;
        printf("%i ",a[i]);
    }
    printf("\n");
    _asm{
        mov dword ptr[s],0
        mov dword ptr[n],0
        lea esi,a
        lea edi,b
        mov ecx,16
        lea ebx,c
        xor edx,edx
        cld
    goB:lodsw
        cmp ax,-3
        jl goA
        cmp ax,4
        jg goA
        stosb
        add byte ptr[s],al
        mov [ebx],esi
        add ebx,4
        inc dword ptr[n]
    goA:loop goB
        }
    for(i=0; i<n; i++)
        printf("%i ",b[i]);
    printf("\n%d\n",s);
Добавлено через 11 минут
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
    short a[16],*c[16],s;
    char b[16];
    int i,n;
 
    srand((unsigned)time(0));
    for(i=0; i<16; i++)
    {
        a[i]=rand()%13-6;
        printf("%i ",a[i]);
    }
    printf("\n");
    _asm{
        mov word  ptr[s],0
        mov dword ptr[n],0
        lea esi,a
        lea edi,b
        mov ecx,16
        lea ebx,c
        cld
    goB:lodsw
        cmp ax,-3
        jl goA
        cmp ax,4
        jg goA
        stosb
        add byte ptr[s],al
        mov [ebx],esi
        add ebx,4
        inc dword ptr[n]
    goA:loop goB
        mov al,byte ptr[s]
        cbw
        mov s,ax
        }
    for(i=0; i<n; i++)
        printf("%i ",b[i]);
    printf("\n%d\n",s);
так точнее
1
0 / 0 / 0
Регистрация: 14.06.2018
Сообщений: 3
14.06.2018, 08:41  [ТС]
Спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.06.2018, 08:41
Помогаю со студенческими работами здесь

Найти F(x) = x^3/(x^2+1) ассемблерной вставкой в С
найти F(x) = x^3/(x^2+1) ассемблерной вставкой в С

Ошибка с ассемблерной вставкой
#include &lt;iostream&gt; int main() { char src = &quot;hello&quot;, dst; int a = strlen(src); for (int i = 0; i &lt; a; ++i) _asm...

Декремент с ассемблерной вставкой
Уважаемые, знатоки, подскажите в чём сакральный смысл такого декремента в программе С++: static inline int InterlockedDecrement...

Массив с ассемблерной вставкой
Задан одномерный массив целых или действительных данных А в одном из заданных форматов (short int - INTEGER, long int - LONGINT, float -...

Программа на С# и библиотека на C++ с ассемблерной вставкой
Есть программа на С# Windows Forms Небольшую часть программы (вычисления) нужно написать на ассемблере, т.к. важна скорость...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru