PDA

View Full Version : سوال: آپ کد چیست؟



irpersian20
جمعه 01 آذر 1392, 01:22 صبح
در علوم رایانه (http://fa.wikipedia.org/wiki/%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7% D9%86%D9%87)، کد دستور (به انگلیسی (http://fa.wikipedia.org/wiki/%D8%B2%D8%A8%D8%A7%D9%86_%D8%A7%D9%86%DA%AF%D9%84% DB%8C%D8%B3%DB%8C): Oeration Code)‏ یا آپکد (به انگلیسی (http://fa.wikipedia.org/wiki/%D8%B2%D8%A8%D8%A7%D9%86_%D8%A7%D9%86%DA%AF%D9%84% DB%8C%D8%B3%DB%8C): Opcode)‏ بخشی از مجموعه دستورالعمل‌های (http://fa.wikipedia.org/wiki/%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87_%D8%AF%D8%B3% D8%AA%D9%88%D8%B1%D8%A7%D9%84%D8%B9%D9%85%D9%84) زبان ماشین (http://fa.wikipedia.org/wiki/%D8%B2%D8%A8%D8%A7%D9%86_%D9%85%D8%A7%D8%B4%DB%8C% D9%86) است که مشخص می‌کند چه دستوری باید توسط پردازنده (http://fa.wikipedia.org/wiki/%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D9%86%D8%AF%D9%87) اجرا شود.

دروود
از عزیزان میشه توضیح بدید یعنی چی آپ کد؟ اگر ممکنه مثالی بزنید
منظور از اینکه آپکد بخشی از مجموعه دستورالعمل های زبان ماشین هست چیه؟

m.j_banitaba
جمعه 01 آذر 1392, 07:25 صبح
http://net.cs.uni-bonn.de/fileadmin/user_upload/plohmann/x86_opcode_structure_and_instruction_overview.pdf
جدول بالا جدول opcode های پردازنده ntel است مثلا کد ذیل یک قسمت از برنامه است که در دیباگر دیده می شود ستون اول آدرس ستون دوم opcode و ستون سوم معادل اسمبلی آنهاست



0040194a 6854194000 push 0x401954
0040194f f9 stc
00401950 7301 jnb image00400000+0x1953 (00401953)
00401952 c3 ret
00401953 ff64a118 jmp dword ptr [ecx+0x18]
00401957 0000 add [eax],al
00401959 006864 add [eax+0x64],ch
0040195c 194000 sbb [eax],eax
0040195f f8 clc
00401960 7201 jb image00400000+0x1963 (00401963)
00401962 c3 ret
00401963 ff8b40300fb6 dec dword ptr [ebx+0xb60f3040]
00401969 40 inc eax
0040196a 0285c0750731 add al,[ebp+0x310775c0]



یک پردازنده بر اساس کدهای ستون دوم یا همان opcode اقدام به اجرای برنامه می کند.اما برای درک بهتر باید کتاب معماری کامپیوتر را بخوانید.