۲۸-آبان-۱۳۸۷, ۲۲:۱۹:۲۳
استفاده از اسمبلی در پاوربیسیک
===============================================
یکی از مزایای دیگر پاوربیسیک نسبت به ویژوال بیسیک قابلیت استفاده مستقیم دستورات
اسمبلی در کدهاست
===============================================
نحوه استفاده از دستورات اسمبلی :
یا
که به جای pcode باید دستورات اسمبلی نوشته شود
در پاوربیسیک می توانید از طریق اسمبلی متغیرها را تعریف کنید که از دستورات زیر می توانید
استفاده کنید
در پاوربیسیک استفاده از دستورات زیر مجاز است :
در پاوربیسیک حتی امکان تعریف سگمنت های زیر نیز موجود است :
که عبارت اند از : سگمنتهای کد،اطلاعات،پشته،اضافی و...
اسمبلر پاوربیسیک پردازنده های زیر را پشتیبانی می کند :
همین طور می توانید از اعداد اعشاری شناور و دستورات MMX نیز بهره ببرید
من اسمبلی در سطحی بلد نیستم که بتونم مثال بزنم اما کسایی که اسمبلی بلدند
حتما می توانند از این قابلیت استفاده کنند
===============================================
یکی از مزایای دیگر پاوربیسیک نسبت به ویژوال بیسیک قابلیت استفاده مستقیم دستورات
اسمبلی در کدهاست
===============================================
نحوه استفاده از دستورات اسمبلی :
کد:
Asm pcode
یا
کد:
! pcode
که به جای 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 نیز بهره ببرید
من اسمبلی در سطحی بلد نیستم که بتونم مثال بزنم اما کسایی که اسمبلی بلدند
حتما می توانند از این قابلیت استفاده کنند