Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- using namespace std;
- int main()
- {
- //ZADANIE 1
- unsigned char a= 0x12, b, wyjscie=0;
- cout << "Zadanie 1" << endl;
- __asm {
- mov cl, 0xFF
- mov ah, a
- mov al, 0
- ELSE1:
- shl al, 0x01
- mov bl, ah
- and bl, 0x01
- or al, bl
- shr ah, 0x01
- shr cl, 0x01
- JNZ ELSE1
- mov wyjscie, al
- }
- printf("%X", wyjscie);
- cout <<endl << "Zadanie 2"<< endl;
- //ZADANIE 2
- a = 0x80;
- wyjscie = 0;
- __asm {
- mov al, a
- mov cl, 1
- mov bl, al
- add bl, 1
- mov cl, bl
- shr al, 1
- mov bl, al
- add bl, 1
- mov cl, bl
- shr al, 1
- mov bl, al
- add bl, 1
- mov cl, bl
- shr al, 1
- mov bl, al
- add bl, 1
- mov cl, bl
- shr al, 1
- mov bl, al
- add bl, 1
- mov cl, bl
- shr al, 1
- mov bl, al
- add bl, 1
- mov cl, bl
- shr al, 1
- mov bl, al
- add bl, 1
- mov cl, bl
- shr al, 1
- mov bl, al
- add bl, 1
- mov cl, bl
- shr al, 1
- and cl, 1
- mov wyjscie, cl
- }
- printf("%X", wyjscie);
- cout <<endl<<"Zadanie 3"<< endl;
- //ZADANIE 3
- a = 0xFE;
- wyjscie = 0;
- __asm {
- mov al, a
- mov cl, al
- mov dl, 8
- and cl, 1
- sub dl, cl
- shr al, 1
- mov cl, al
- and cl, 1
- sub dl, cl
- shr al, 1
- mov cl, al
- and cl, 1
- sub dl, cl
- shr al, 1
- mov cl, al
- and cl, 1
- sub dl, cl
- shr al, 1
- mov cl, al
- and cl, 1
- sub dl, cl
- shr al, 1
- mov cl, al
- and cl, 1
- sub dl, cl
- shr al, 1
- mov cl, al
- and cl, 1
- sub dl, cl
- shr al, 1
- mov cl, al
- and cl, 1
- sub dl, cl
- shr al, 1
- mov cl, al
- mov wyjscie, dl
- }
- printf("%X", wyjscie);
- cout <<endl<<"Zadanie 4"<<endl;
- a = 0xFF;
- wyjscie = 1;
- __asm {
- mov al, a
- add al, 0xCE
- JNZ ELSE4
- mov wyjscie, 0
- ELSE4:
- }
- printf("%X", wyjscie);
- cout <<endl<<"Zadanie 5"<< endl;
- //ZADANIE 5
- a = 0xC0;
- wyjscie = 1;
- __asm {
- mov al, a
- add al, 0x40
- JC ELSE5
- mov wyjscie, 0
- ELSE5:
- }
- printf("%X", wyjscie);
- cout << endl << "Zadanie 6" << endl;
- //ZADANIE 6
- a = 3;
- unsigned short wy = 0;
- __asm {
- ///mov ax, 0
- mov al, a
- shl ax, 5
- mov bx, 0
- mov bl, a
- shl bx, 2
- sub ax, bx
- shl bx, 1
- sub ax, bx
- mov wy, ax
- }
- printf("%d", wy);
- cout << endl << "Zadanie 7" << endl;
- //ZADANIE 7
- a = 255;
- b = 255;
- wy = 0;
- __asm {
- mov bx, 0x00
- mov al, a
- mov cl, b
- ELSE7:
- shl bx, 0x01
- test cl, 0x01
- JZ ELSE71
- add bx, ax
- ELSE71:
- shr cl, 0x01
- JNZ ELSE7
- mov wy, bx
- }
- printf("%d", wy);
- cout << endl << "Zadanie 8" << endl;
- unsigned short wea = 1000;
- wy = 0;
- __asm{
- mov ax, wea
- mov bx, wea
- shr bx, 3
- add ax, bx
- mov wy, ax
- }
- printf("%d", wy);
- cout << endl << "Zadanie 9" << endl;
- typedef union {
- unsigned char BYTE;
- struct {
- unsigned char a : 2;
- unsigned char b : 3;
- unsigned char c : 3;
- }bits;
- }un_X;
- un_X x;
- x.BYTE= 3;
- __asm {
- mov al, x.BYTE
- and al, 0x03
- mov bl, al
- shl al, 2
- or bl, al
- shl al, 3
- or bl, al
- mov x.BYTE, bl
- }
- printf("%x \n", x.BYTE);
- printf("%x %x %x", x.bits.a, x.bits.b, x.bits.c);
- cout << endl << "Zadanie 10" << endl;
- typedef union {
- unsigned char BYTE;
- struct {
- unsigned char a : 1;
- unsigned char b : 3;
- unsigned char c : 4;
- }bits;
- }un_Y;
- un_Y y;
- y.bits.a = 0;
- y.bits.b = 6;
- __asm{
- mov al, y.BYTE
- mov bl, al
- mov cl, 0
- and bl, 0x0E
- and al, 0x01
- JZ ELSE10
- mov cl, bl
- shl cl, 3
- ELSE10:
- or cl, al
- or cl, bl
- mov y.BYTE, cl
- }
- printf("%x \n", y.BYTE);
- printf("%x %x %x", y.bits.a, y.bits.b, y.bits.c);
- cout << endl << "Zadanie 11" << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement