Предмет: Информатика, автор: kardinal00

Oбрaзовaть стpокy, пoвтоpив фpaгмeнт исxоднoй cтpоки c задaннoй пoзиции дaннoй длины требyемоe чиcлo paз.

Программа на с++,функция должна быть написана с ассемблерной вставкой
Помогите, пожалуйста

Ответы

Автор ответа: ManulTheLiar
0
Думаю, что-то типа того.

#include <iostream>
#include <stdio.h>

using namespace std;

int main()
{
    const int n = 100;
    char *C = new char[n];
    int p // позиция
    int l // длина
    int k // повторения

    cout << "String C: ";
    cin >> C;
    cout << "Pos: ";
    cin >> p; p--;
    cout << "Length: ";
    cin >> l;
    cout << "N: ";
    cin >> k;
    char *V = new char[l*k+1];

    if ((p >= 0) && (l > 0) && (k > 0) && ((strlen(C) - p) >= l) && (p <= strlen(C))) //проверка ввода
    {
        __asm
        {
            mov ebx, k;           // количество повторений
            mov edi, V         // адрес приёмника
            m1 : cmp   ebx, 0  // сравнение
                 je   exit1    // если EBX = 0, то переход на exit1
                 mov   ecx, l  // длина строки
                 mov   esi, C  // адрес источника
                 add   esi, p  // с заданной позиции
             m2 :
                mov al, [esi]    //из ESI
                mov [edi], al    // запись в EDI
                inc edi            // EDI+1
                inc esi            // ESI+1
                loop  m2        // цикл EСХ раз
                dec ebx         // EBX-1
                jmp m1             // переход на m1
            exit1 : mov[edi], 0
        }

        cout << "nV: ";
        cout << V << endl;
    }

    else cout <<  "nError " << endl;

    system("pause");
}
Автор ответа: Аноним
0
здесь же просто вставка, а не функция... хотя если человек хоть немного знает тему, то преобразовать ничего не стоит...
Автор ответа: kardinal00
0
Спасибо вам большое! То, что нужно, можно без функции
Похожие вопросы
Предмет: Право, автор: alinamelnyk555
1.Батьки зобов′язані матеріально утримувати своїх дітей: а)протягом усього життя
б)до досягнення дитиною повноліття
в)до досягнення дитиною 21 року
г)поки діти навчаються в школі
2.Виберіть усі правильні відповіді (3).
Аліменти:
1) встановлюються судом;
2) їх розмір визначає той хто виховує дитину;
3) встановлюються в сталій грошовій формі;
4) в кількості речей необхідних для дитини;
5) встановлюються в розмірі не менше 30% від прожиткового мінімума на одну дитину;
6) встановлюються в розмірі не менше 30% доходів платника аліментів. а)123
б)246
в)135
г)356
3.Обов′язки батьків і дітей є: а)лише з боку батьків б)лише з боку дітей в)взаємними
г)виконуються лише за бажанням
4.Самостійно визначати з ким із батьків їй проживати дитина може з досягненням:
а)11 років
б)14 років
в)15 років г)16 років
5.Аліменти - це:
а)матеріальна допомога одного з батьків тому з ким живе дитина б)кошти на утримання дитини
в)плата за невиховання дитини
г)штраф за розлучення

6.Якщо батьки проживають окремо то вони визначають місце проживання дитини до досягнення нею:
а)10 років
б)11 років
в)14 років г)16 років
7.Коли батьки розлучаються то вихованням дитини: а)займається лише той з батьків з ким залишилася дитина б)мають займатися обоє батьків
в)суд визначає хто повинен виховувати дитину г)займається спеціальні служби
8.Турбота про дітей та допомога своїм батькам, зараз це: а)моральна норма
б)звичай
в)правова норма
г)релігійна норма
9.Найважливіша функція сім′ї: а)підтримання державної політики б)забезпечити релігійне виховання дитини в)продовження людського роду г)підтримання благополуччя в державі
10.Діти народжені у шлюбі і поза ним:
а)рівні у своїх правах
б)усі права мають лише діти народжені у шлюбі в)рівні лише в правах спадкування
г)рівні лише в немайнових правах
Предмет: Математика, автор: darkbomder0842