🪗Conditions
Các điều kiện phổ biến mà các bạn hay gặp là: ==, <=, >=, != nó rất quen thuộc với mọi lập trình viên.
Còn assembly thì sao ?
Thì nó cũng tương tự, chỉ khác nhau ở cách thể hiện qua các instruction ví dụ như
je
<--> jump if equal,
jne
<--> jump if not equal,
jg
<--> jump if great,
jl
<--> jump if less
Thì nhìn qua nghĩa tiếng anh của nó thì bạn cũng có thể biết là nó có chức năng gì rồi nhỉ :v . Nó chỉ có 1 vài cái cơ bản thôi nên mình sẽ để đây để các bạn học nhe dễ lắm.
Bảng các instruction này dược sử dụng cho dữ liệu có dấu(signed) nha
JE/JZ
Jump Equal or Jump Zero
JNE/JNZ
Jump not Equal or Jump Not Zero
JG/JNLE
Jump Greater or Jump Not Less/Equal
JGE/JNL
Jump Greater/Equal or Jump Not Less
JL/JNGE
Jump Less or Jump Not Greater/Equal
JLE/JNG
Jump Less/Equal or Jump Not Greater
Còn bảng này sẽ dành cho dữ liệu unsigned(không dấu).
JE/JZ
Jump Equal or Jump Zero
JNE/JNZ
Jump not Equal or Jump Not Zero
JA/JNBE
Jump Above or Jump Not Below/Equal
JAE/JNB
Jump Above/Equal or Jump Not Below
JB/JNAE
Jump Below or Jump Not Above/Equal
JBE/JNA
Jump Below/Equal or Jump Not Above
Nhưng mà trước khi jump thì chúng ta cần có 1 số điều kiện được thực hiện qua CMP
instructions
CMP
instructionsCó 2 loại condition: đó là có điều kiện và vô điều kiện(tức là bắt buộc nhảy)
Vô điều kiện thường sử dụng với jmp instruction.
Còn có điều kiện là những lệnh nhảy mà bạn đã thấy nó ở trên.
Còn đối với CMP(compare) instruction, nó có tác dụng so sánh 2 toán hạng với cú pháp sau:
CMP operand1 operand2
nếu operand1 == operand2 --> je
sẽ được thực thi.
nếu operand1 <= operand2 --> jle
sẽ được thực thi.
Và tương tự với các lệnh jump còn lại bạn tự học nha 😊
Như mọi khi thì phần này khá hay nên mình sẽ có 1 bài tập cho các bạn đây:
Nhập vào 1 só kiểm tra số đó là số chăn hay số lẻ:

Nhớ là số có 1 chữ số thôi nha. Số 2 chữ số là khó đó 😁
Last updated