Halloo...
da ich jez Assembler lerne.. (langsam aber sicher) hab ichs erstmal mit Inline Assembler versucht..unszwar erstmal Addieren...
Die maximale laenge eines registers ist 4294967295 aber wenn ich das eingebe kommt (mein) fehler..
Der Code (wundert euch nicht dass das so umstaendlich ist.. ist teil meiner gestellten aufgabe.. )
#include <iostream>
using namespace std;
int INPUTAX;
int OUTPUTBX;
int main()
{
bool CIN_ERROR;
cout << "FIRST NUMBER: ";
CIN_ERROR = cin >> INPUTAX;
if(CIN_ERROR == 0)
{
cout << "ERROR: TOO LONG INTEGER FOR REGISTER; MAX: 4294967295";
}
cout << "\nSECOND NUMBER: ";
CIN_ERROR = cin >> OUTPUTBX;
if(CIN_ERROR == 0)
{
cout << "ERROR: TOO LONG INTEGER FOR REGISTER; MAX: 4294967295";
}
__asm("movl _INPUTAX, %eax");
__asm("movl _OUTPUTBX, %ebx");
__asm("add %ebx, %eax");
__asm("movl %eax, _INPUTAX");
cout << "RESULT(ADD): " << INPUTAX;
__asm("END:");
cout << "\n\n";
system("pause");
}
Vll hat die Eingabe ein Limit ? (alsoo std::cin (hier ohne std:: ))
MFG
TOMEK