fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. int y;
  6.  
  7. __asm__ (
  8. "mov $15, %%ax\n\t"
  9. "mov $2, %%bx\n\t"
  10. "sub %%bx, %%ax\n\t"
  11.  
  12. "mov $12, %%bx\n\t"
  13. "sub %%ax, %%bx\n\t"
  14.  
  15. "mov %%bx, %%ax\n\t"
  16. "cwd\n\t"
  17. "mov $13, %%bx\n\t"
  18. "idiv %%bx\n\t"
  19.  
  20. "mov %%ax, %%cx\n\t"
  21.  
  22. "mov $12, %%ax\n\t"
  23. "mov $7, %%bx\n\t"
  24. "xor %%dx, %%dx\n\t"
  25. "div %%bx\n\t"
  26. "add %%ax, %%cx\n\t"
  27.  
  28. "mov $13, %%ax\n\t"
  29. "mov $2, %%bx\n\t"
  30. "imul %%bx\n\t"
  31. "mov $5, %%bx\n\t"
  32. "idiv %%bx\n\t"
  33. "sub %%ax, %%cx\n\t"
  34.  
  35. "movw %%cx, %0"
  36. : "=m" (y) // выходной операнд
  37. : // входных операндов нет
  38. : "%ax", "%bx", "%cx", "%dx" // изменяемые регистры
  39. );
  40.  
  41. cout << "Результат: " << y << endl;
  42. return 0;
  43. }
Success #stdin #stdout 0.01s 5288KB
stdin
Standard input is empty
stdout
Результат: 65532