yeketaz
کاربر با تجربه
ارسالها: 744
موضوعها: 123
تاریخ عضویت: اسفند ۱۳۸۶
تشکرها : 520
( 1050 تشکر در 294 ارسال )
|
RE: آموزش PowerBASIC
استفاده از اسمبلی در پاوربیسیک
===============================================
یکی از مزایای دیگر پاوربیسیک نسبت به ویژوال بیسیک قابلیت استفاده مستقیم دستورات
اسمبلی در کدهاست
===============================================
نحوه استفاده از دستورات اسمبلی :
یا
که به جای pcode باید دستورات اسمبلی نوشته شود
در پاوربیسیک می توانید از طریق اسمبلی متغیرها را تعریف کنید که از دستورات زیر می توانید
استفاده کنید
نقل قول: BYTE
DB, DD, DW, DWD, DWORD
FAR
NEAR
POINTER, PTR
QWD, QWORD
SHORT
TBY, TBYTE`
WORD, WRD
در پاوربیسیک استفاده از دستورات زیر مجاز است :
نقل قول: AAA, AAD, AAM, AAS, ADC, ADD, AND
BOUND, BSF, BSR, BSWAP, BT, BTC, BTR, BTS
CALL, CBW, CCWD, CDQ, CLC, CLD, CLI, CMC, CMP, CMPSB, CMPSD, CMPSW, CMPXCHG, CPUID, CWDE
DAA, DAS, DEC, DIV
EMMS
F2XM1, FABS, FADD, FADDP, FCHS, FCLEX, FCOM, FCOMP, FCOMPP, FCOS, FDECSTP, FDIV, FDIVP, FDIVR, FDIVRP, FFREE, FIADD, FICOM, FICOMP, FIDIV, FIDIVR, FILD, FIMUL, FINCSTP, FINIT, FIST, FISTP, FISUB, FISUBR, FLD, FLD1, FLDCW, FLDENV, FLDL2E, FLDL2T, FLDLG2, FLDLN2, FLDPI, FLDZ, FMUL, FMULP, FNCLEX, FNINIT, FNLDCW, FNOP, FNSAVE, FNSTCW, FNSTENV, FNSTSW, FPATAN, FPREM, FPREM1, FPTAN, FRNDINT, FRSTOR, FSAVE, FSCALE, FSIN, FSINCOS, FSQRT, FST, FSTCW, FSTENV, FSTP, FSTSW, FSUB, FSUBP, FSUBR, FSUBRP, FTST, FUCOM, FUCOMP, FUCOMPP, FWAIT, FXAM, FXCH, FXTRACT, FYL2X, FYL2XP1
HLT
IDIV, IMUL, IN, INC, INSB, INSD, INSW, INT, INTO, IRET, IRETD
JA, JAE, JB, JBE, JC, JE, JECXZ, JG, JGE, JL, JLE, JMP, JNA, JNAE, JNB, JNBE, JNC, JNE, JNG, JNGE, JNL, JNLE, JNO, JNP, JNS, JNZ, JO, JP, JPE, JPO, JS, JZ
LAHF, LAR, LDS, LEA, LEAVE, LES, LFS, LGS, LOCK, LODSB, LODSD, LODSW, LOOP, LOOPE, LOOPNE, LOOPNZ, LOOPZ, LSL, LSS
MOV, MOVD, MOVQ, MOVSB, MOVSD, MOVSW, MOVSX, MOVZX, MUL
NEG, NOP, NOT
OR, OUT, OUTSB, OUTSD, OUTSW
PACKSSDW, PACKSSWB, PACKUSWB, PADDB, PADDD, PADDSB, PADDSW, PADDUSB, PADDUSW, PADDW, PAND, PANDN, PCMPEQB, PCMPEQD, PCMPEQW, PCMPGTB, PCMPGTD, PCMPGTW, PMADDWD, PMULHW, PMULLW, POP, POPA, POPAD, POPF, POPFD, POR, PSLLD, PSLLQ, PSLLW, PSRAD, PSRAW, PSRLD, PSRLQ, PSRLW, PSUBB, PSUBD, PSUBSB, PSUBSW, PSUBUSB, PSUBUSW, PSUBW, PUNPCKHBW, PUNPCKHDQ, PUNPCKHWD, PUNPCKLBW, PUNPCKLDQ, PUNPCKLWD, PUSH, PUSHA, PUSHAD, PUSHF, PUSHFD, PXOR
RCL, RCR, REP, REPE, REPNE, REPNZ, REPZ, RET, RETF, RETN, ROL, ROR
SAHF, SAL, SAR, SBB, SCASB, SCASD, SCASW, SETA, SETAE, SETB, SETBE, SETC, SETE, SETG, SETGE, SETL, SETLE, SETNA, SETNAE, SETNB, SETNBE, SETNC, SETNE, SETNG, SETNGE, SETNL, SETNLE, SETNO, SETNP, SETNS, SETNZ, SETO, SETP, SETPE, SETPO, SETS, SETZ, SHL, SHLD, SHR, SHRD, STC, STD, STI, STOSB, STOSD, STOSW, SUB
TEST
VERR, VERW
WAIT
XCHG, XLAT, XLATB, XOR
در پاوربیسیک حتی امکان تعریف سگمنت های زیر نیز موجود است :
نقل قول: CS, DS, ES, SS, FS, GS
که عبارت اند از : سگمنتهای کد،اطلاعات،پشته،اضافی و...
اسمبلر پاوربیسیک پردازنده های زیر را پشتیبانی می کند :
نقل قول: 8086/8088, 80286, 80386, 80486, Pentium
همین طور می توانید از اعداد اعشاری شناور و دستورات MMX نیز بهره ببرید
من اسمبلی در سطحی بلد نیستم که بتونم مثال بزنم اما کسایی که اسمبلی بلدند
حتما می توانند از این قابلیت استفاده کنند
ما که دیگه توی ایران ویج پیر شدیم کم کم باید جامون رو بدیم به جوونا
|
|