Advertisement
Anton0093

Assembler 3_4

Apr 18th, 2019
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.03 KB | None | 0 0
  1. #include "pch.h"
  2. #include <stdio.h>
  3. #include <locale.h>
  4. #include <cstdlib>
  5. int main()
  6. {
  7.     setlocale(LC_ALL, "Russian");
  8.     short int m, a, f;
  9.     short int r = 0;
  10.     printf(" Данная прoграмма реализует с помощью логических операций вставку заданного\n значения (0 или 1) в любой бит байта со сдвигом вправо и потерей крайнего бита.", "\n");
  11.     printf(" Введите число (0-255): ", "\n");
  12.     scanf_s("%hi", &a);
  13.     printf(" Введите номер заменяемого бита (0-7): ", "\n");
  14.     scanf_s("%hi", &f);
  15.     printf(" Введите на какое значение заменить бит (0 или 1) : ", "\n");
  16.     scanf_s("%hi", &m);
  17.  
  18.     __asm
  19.     {
  20.         mov ax, f
  21.         mov dx, a
  22.         mov bx, m
  23.  
  24.         cmp bx, 0
  25.         je m1
  26.  
  27.         bts dx, ax
  28.         jmp m2
  29.  
  30.         m1 :
  31.         btr dx, ax
  32.  
  33.         m2 :
  34.         shr dx,1
  35.         mov r, dx
  36.     }
  37.     printf(" Ответ на языке ассемблер: %u  \n ", r);
  38.     system("pause");
  39.     return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement