PDA

View Full Version : مبتدی: این تکه کد چی کار میکنه ؟(دقیق)



mmmmmmmmmb
دوشنبه 13 تیر 1390, 18:25 عصر
سلام این تکه کد چی کار میکنه میشه توضیح بدید ؟
یعنی در چه صورت میره task1 و در چه صورت میره task2 ؟

TEST AX, 4002H
JZ TASK1

TEST AX, 280H
JZ TASK1
NOT AX
TEST AX, 18H
JNZ TASK2
TASK3:

TASK1:

TASK2:

esh_computer110
سه شنبه 14 تیر 1390, 21:41 عصر
دستور تست همان and است که بروی عملگر سمت چپ تاثیر نمیگذارد پس اگر نتیجه and
صفر شود zero flag یا zf یک میشود پس jz اجرا می شود و به TASK1: می پرد و خطوط قبل TASK1: اجرا نمی شوند
jz میگوید اگر zf یک شد پرش کن Jump Zero Flag
jnz می گوید اگر zf صفر شد پرش کن Jump Not Zero Flag
not یک مقدار را عکس میکند یعنی صفر ها یک میشوند و یک ها صفر (در مبنای دودویی)

تشکر یادت نره