Обменять значения элементов массивов. С++ с ассемблерной вставкой - Assembler

Узнай цену своей работы

Формулировка задачи:

Обменять значения элементов массивов char x[4] и *y[3]; при выборке значения из массива *y используйте команду XLAT.
#include "stdafx.h"
#include "conio.h"
#include "iostream"
 
int main()
{
    using namespace std;
    char x[5]={'1','2','3','4',0};
    char *y;
    short i;
    y=new char[3];
    char C='A';
     for(i=0;i<3;i++)
     {
         y[i]=C;
         cout<<endl; 
         C++;
     }

         __asm 
     {
            
     }
        
        for(int q=0; q<5; q++)cout<<x[q]<<"";
        
        _getch();
        return 0;
        
}
Ассемблер:
        MOV AL, 1
            LEA EBX, y
            XLAT
            MOV x[0], AL
            
            MOV AL, 2
            LEA EBX, y
            XLAT
            MOV x[1], AL
            
            MOV AL, 3
            LEA EBX, y
            XLAT
            MOV x[2], AL
В ответе высвечиваются непонятные символы. Как прийти к ответу x['A', 'B', 'C', '4']?

Решение задачи: «Обменять значения элементов массивов. С++ с ассемблерной вставкой»

textual
Листинг программы
MOV EBX, y
 
MOV AL, 0
XLAT
MOV x[0], AL
 
MOV AL, 1
XLAT
MOV x[1], AL
 
MOV AL, 2
XLAT
MOV x[2], AL

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.357 из 5
Похожие ответы