@ZIK1

Правильно ли сделаны задания?

Доброго времени суток, нужно проверить 3 задания, заранее спасибо

1) • представить отрицательное число в прямом коде, число должно соответствовать номеру бригады * 10;
• перевести данное число в дополнительный код;
• убедится в правильности полученного кода отрицательного числа в режиме отладчика.
#include "stdafx.h"
#include <iostream>
using namespace std;


int main()
{
	int A, B;
	B = -0x5A;
	_asm MOV EBX, B;
	_asm MOV EAX, 0;
	_asm MOV AL, BL;
	_asm NOT AL;
	_asm INC EAX;
	_asm MOV ECX, 0xFFFFFF80;
	_asm OR EAX, ECX;
	_asm NOT EAX;
	_asm ADD EAX, ECX;
	_asm INC AL;
	_asm MOV EBX, EAX;
	system("pause");
	return 0;
}


2) Объявить 3 переменные. С помощью команд ассемблера переслать данные из 1-й переменной во вторую, из 2-й в 3-ю.
#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{int A = 1;
int B = 2;
int C = 3;
_asm {
	  mov EAX,A;
          mov B,EAX;
	  MOV EAX,C;
	  MOV EAX,B;
}

}


3) переслать данные из одной переменной в другую используя абсолютную адресацию.
#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
	int A;
	int B;
	A = 1;
	B = 7;
	_asm MOV EAX, A;
	void *pB = &B;
	_asm MOV EBX, pB;
	_asm MOV[EBX], EAX;
    return 0;
}
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
2 -- нет. Из второй в третью не переслано.
3 -- нет. Использована косвенная адресация.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы