🪗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

Instruction
Description

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).

Instruction
Description

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

Có 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