fferum

asm2

May 30th, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.62 KB | None | 0 0
  1. // второй вариант
  2. #include <iostream>
  3.  
  4. int main() {
  5.     char b1, b2, b3, b4;
  6.     short w1, w2, w3;
  7.     int d1, result, res;
  8.     setlocale(LC_ALL, "Russian");
  9.     printf("Данная программа вычисляет значение выражения ((b1 and (w1 xor b2) xor w2 and b3) and not w3 or d1 and not b4)\n");
  10.     printf("Введите целое число b1: ");
  11.     scanf_s("%hhd", &b1);
  12.     printf("Введите целое число b2: ");
  13.     scanf_s("%hhd", &b2);
  14.     printf("Введите целое число b3: ");
  15.     scanf_s("%hhd", &b3);
  16.     printf("Введите целое число b4: ");
  17.     scanf_s("%hhd", &b4);
  18.     printf("Введите целое число w1: ");
  19.     scanf_s("%hd", &w1);
  20.     printf("Введите целое число w2: ");
  21.     scanf_s("%hd", &w2);
  22.     printf("Введите целое число w3: ");
  23.     scanf_s("%hd", &w3);
  24.     printf("Введите целое число d1: ");
  25.     scanf_s("%d", &d1);
  26.     res = ((b1 & (w1 ^ b2) ^ w2 & b3) & (~w3) | d1 & (~b4));
  27.     /* ((b1 and (w1 xor b2) xor w2 and b3) and not w3 or d1 and not b4) */
  28.     __asm {
  29.         mov ax, w1
  30.         mov bl, b2
  31.         xor al, bl
  32.         mov bl, b1
  33.         and al, bl
  34.         mov bx, w2
  35.         and bl, b3
  36.         xor ax, bx
  37.         mov bx, w3
  38.         not bx
  39.         and ax, bx
  40.         mov bx, word ptr[d1]
  41.         mov cx, word ptr[d1 + 2]
  42.         mov dl, b4
  43.         not dl
  44.         and bl, dl
  45.         or bx, ax
  46.         //result in cx:bx
  47.         mov word ptr result, bx
  48.         mov word ptr result + 2, cx
  49.     }
  50.     printf("Результат вычислений на языке ассемблера: %d\n", result);
  51.     printf("Результат вычислений на языке C/C++: %d\n", res);
  52.     system("pause");
  53.     return 0;
  54. }
Add Comment
Please, Sign In to add comment