View Full Version : مبتدی: سوال : معادل دستور if در اسمبلی ؟
Amir_malas
پنج شنبه 12 آبان 1390, 17:39 عصر
میخواستم ببینم اگه بخوام این کد رو توی اسمبلی بزنم چی باید بنویسم؟؟؟؟
if ( a==0 ) {
.
.
.
}
else if ( a==1 ) {
.
.
.
}
else if ( a==2 ) {
.
.
.
}
else if ( a==3 ) {
.
.
.
}
فقط با دستورات j... و CMP
xman_1365_x
پنج شنبه 12 آبان 1390, 23:38 عصر
فلوچارت ها که در اینترنت موجود هست نگاه کنید برای درک بهتر و اینکه در شرط if کاری که میکنیم شرط هارو بلعکس میکنیم
یعنی اولین خط خواستین a==0 شد بدنه اجرا شه اما شما شرط jne مینویسی که اگر اینطور شد بره به else if بعد و با این کار اگر برابر باشه درون بدنه اجرا میشه و در غیر اینصورتم شرط یا شروط دیگرو بررسی میکنید
توجه:بعد از اتمام کار هر بدنه باید از ساختار خارج شیم که نیاز به پرش به برچسب انتهایی داره در غیر اینصورت شرط های دیگه بررسی میشن
موفق باشی
#target
جمعه 13 آبان 1390, 21:36 عصر
MOV EAX , A
CMP A , 0
JNZ X1
. . .CODE 1 - if a == 0
JMP END
X1:
CMP A , 1
JNZ X2
. . .CODE 2 - if a == 1
JMP END
X2:
CMP A , 2
JNZ X3
. . .CODE 3 - if a == 2
JMP END
X3:
CMP A , 3
JNZ END
. . .CODE 4 - if a == 3
END :
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.