Assembly Language-এ Conditional Branching Instructions প্রোগ্রামের নিয়ন্ত্রণ প্রবাহ পরিবর্তনের জন্য ব্যবহৃত হয়। এগুলি সাধারণত CPU-এর ফ্ল্যাগ রেজিস্টারের ভিত্তিতে কাজ করে এবং শর্ত পূরণ হলে নির্দিষ্ট ঠিকানায় লাফ দেয়।
JE (Jump if Equal):
ব্যবহার:
CMP AX, BX ; AX এবং BX তুলনা
JE label ; যদি AX == BX হয়, তাহলে label এ জাম্প
JNE (Jump if Not Equal):
ব্যবহার:
CMP AX, BX ; AX এবং BX তুলনা
JNE label ; যদি AX != BX হয়, তাহলে label এ জাম্প
JL (Jump if Less):
ব্যবহার:
CMP AX, BX ; AX এবং BX তুলনা
JL label ; যদি AX < BX হয় (signed), তাহলে label এ জাম্প
JG (Jump if Greater):
ব্যবহার:
CMP AX, BX ; AX এবং BX তুলনা
JG label ; যদি AX > BX হয় (signed), তাহলে label এ জাম্প
JZ (Jump if Zero):
ব্যবহার:
CMP AX, 0 ; AX এবং 0 তুলনা
JZ label ; যদি AX == 0 হয়, তাহলে label এ জাম্প
JNZ (Jump if Not Zero):
ব্যবহার:
CMP AX, 0 ; AX এবং 0 তুলনা
JNZ label ; যদি AX != 0 হয়, তাহলে label এ জাম্প
section .text
global _start
_start:
MOV AX, 10 ; AX রেজিস্টারে 10 লোড
MOV BX, 5 ; BX রেজিস্টারে 5 লোড
CMP AX, BX ; AX এবং BX তুলনা
JE equal_label ; যদি AX == BX হয়, তাহলে equal_label এ জাম্প
JG greater_label ; যদি AX > BX হয়, তাহলে greater_label এ জাম্প
JL less_label ; যদি AX < BX হয়, তাহলে less_label এ জাম্প
equal_label:
; এখানে AX এবং BX সমান হলে কার্যকর হবে
; কোড ব্লক
JMP end ; প্রোগ্রামের শেষ
greater_label:
; এখানে AX > BX হলে কার্যকর হবে
; কোড ব্লক
JMP end ; প্রোগ্রামের শেষ
less_label:
; এখানে AX < BX হলে কার্যকর হবে
; কোড ব্লক
JMP end ; প্রোগ্রামের শেষ
end:
; প্রোগ্রাম শেষ
সারসংক্ষেপ
JE, JNE, JL, JG, JZ, এবং JNZ নির্দেশনাগুলি Assembly Language-এ শর্তমূলক ব্রাঞ্চিং নিশ্চিত করতে ব্যবহৃত হয়। এগুলি প্রোগ্রামের নিয়ন্ত্রণ প্রবাহ পরিবর্তন করে এবং CPU-এর ফ্ল্যাগ রেজিস্টারের ভিত্তিতে কাজ করে। JE এবং JZ সাধারণত সমতুল্য, এবং JNE এবং JNZ একে অপরের সমার্থক। এগুলি প্রোগ্রামের কার্যপ্রণালীতে শর্তমূলক সিদ্ধান্ত গ্রহণে গুরুত্বপূর্ণ ভূমিকা পালন করে।
common.read_more