You are on page 1of 13

D1: Intro

Trần Thị Thiêm


Các toán tử thường dùng
Toán tử Chức năng Ví dụ Kết quả của ví dụ

+ Cộng 0100 + 1 0101

- Trừ 0100 - 1 0011

| Or/Gán 0100 | 1001 1101

& And 0100 & 1110 0100

^ Ex-Or 0100 ^ 1101 1001

<< Dịch trái 0110 << 1 1100

>> Dịch phải 0110 >> 1 0011

~ Đảo ~0101 1010


Chuyển đổi Bin → Hex
8421
0101  4 + 1 = 5
1100  8 + 4 = 12  C
BT

BT1.1: Sáng dần 8 led từ trái sáng phải rồi tắt hết. Sau đó,
sáng dần 8 led từ phải sang trái rồi tắt hết.
BT1.2: Sáng dần 16 led, mỗi lần sáng 3 led. Tắt dần 16 led,
mỗi lần tắt 2 led. (B: cao, D: thấp)
BT1.3: Sáng dần 10 led giữa, mỗi lần sáng 2 led. Tắt dần 10
led giữa (các led còn lại sáng)
Bài tập về lệnh cơ bản
VD1:
A = 0xA9; //1010 1001
B = 0x4D; //0100 1101
X = A|B; //1110 1101
B = ~A; //0101 0110
Y = A^B; //1111 1111
Z = X&Y; //1110 1101
FOR (I=0;I<3;I+=2)
{
B++;
A=(A<<2)|0X32;
}
Trình bày vòng for/while
FOR (I=0;I<3;I+=2)
{
B++;
A=(A<<2)|0X32;
}
+ I=0: I<3  Đúng
B = 0101 0111
A<<2 = 1010 0100
|0x32 = 0011 0010
A = 1011 0110
+ I=2: I<3  Đúng
B = 0101 1000
A<<2 = 1101 1000
|0x32 = 0011 0010
A = 1111 1010
+ I=4: I<3  Sai: Kết thúc vòng lặp
Bài tập về lệnh cơ bản
VD2:
A = 0xB6;
B = 0x7C;
X = A^B;
A = ~A;
Y = X&A;
Z = B|Y;
WHILE (B < 0X7E)
{
B++;
Z = (A>>2)+0X03;
}
Bài tập về lệnh cơ bản
VD3:
A = 0x4D;
B = 0xE3;
X= A&B;
B = ~(B^0x3F);
Y= X|B;
IF (Y<X) Z = A<<4;
ELSE Z = A>>4;
DO
{
A++;
X=(X>>2)|0XC0;
}
WHILE(A<0X4F);
Bài tập về lệnh cơ bản
VD4:
A = 0x05;
B = 0XBD;
X = A^B;
FOR (K=2;K>0;K--)
FOR(J=0;J<K;J++)
{
A=(A<<2)|0X03;
B=(B>>2)&0XFC;
}
IF (A!=B) Z=(A&B)>>3;
ELSE Z=(A|B)<<3;
BT BT 2.1:
A = 0xB7;
B = 0x5C;
X = A|B;
B = ~A;
Y = A^B;
Z = X&Y;
FOR (I=0;I<3;I+=2)
{
B++;
A=(A<<2)|0X32;
}
BT
BT 2.2:
A = 0xD8;
B = 0x6A;
X = A^B;
A = ~A;
Y = X&A;
Z = B|Y;
WHILE (B < 0X6C)
{
B++;
Z = (A>>2)+0X03;
}
BT BT 2.3:
A = 0x05;
B = 0X2D;
X = A^B;
FOR (K=2;K>0;K--)
FOR(J=0;J<K;J++)
{
A=(A<<2)|0X05;
B=(B>>2)&0XFC;
}
IF (A!=B) Z=(A&B)>>3;
ELSE Z=(A|B)<<2;
0111 1110

0111 1100
0111 1000
0111 0000

You might also like