Advertisement
myamikova9

Asm33

Apr 22nd, 2019
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.38 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <stdio.h>
  3. #include <locale.h>
  4. #include <cstdlib>
  5.  
  6.  
  7. int main()
  8. {
  9.     setlocale(LC_ALL, "Russian");
  10.     int a = 0, bit1 = 0, bit2 = 0;
  11.     int h1 = 0, h2 = 0, h3 = 0;
  12.     printf("Введите число: ");
  13.     scanf_s("%i", &a);
  14.     printf("\nВведите номера битов: ");
  15.     printf_s("\nНомер 1-го бита: ");
  16.     scanf_s("%i", &bit1);
  17.     printf_s("\nНомер 1-го бита: ");
  18.     scanf_s("%i", &bit2);
  19.     _asm {
  20.         mov ebx,bit1
  21.         mov ecx,bit2
  22.         mov eax,a
  23.  
  24.         bt ax,bx
  25.         jnc scan1
  26.         mov bit1,1
  27.         jc next1
  28.  
  29.     scan1:
  30.         mov bit1,0
  31.         jnc next1
  32.     next1:
  33.         bt ax,cx
  34.         jnc scan2
  35.         mov bit2,1
  36.         jc next2
  37.     scan2:
  38.         mov bit2,0
  39.         jnc next2
  40.     next2:
  41.         mov eax, bit1
  42.         xor eax,bit2
  43.         mov ebx, bit1
  44.         and ebx, bit2
  45.         mov ecx, bit1
  46.         or ecx, bit2
  47.         mov h1, eax
  48.         mov h2, ebx
  49.         mov h3, ecx
  50.         btc bit1,0
  51.         btc bit2,0
  52.  
  53.  
  54.     }
  55.     printf("\nПолученное значение с операцией xor: %i", h1);
  56.     printf("\nПолученное значение с операцией and: %i", h2);
  57.     printf("\nПолученное значение с операцией or: %i", h3);
  58.     printf("\nПолученное значение с операцией not первого бита: %i", bit1);
  59.     printf("\nПолученное значение с операцией not второго бита: %i", bit2);
  60.     system("pause");
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement