Доброго времени суток, нужно проверить 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;
}