لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 35
دستورالعمل پردازش دادههای رشتهای
رشته عبارتاز مجموعهای از کاراکترهای به هم پیوسته و متوالی است. رشته میتواند حاوی هر کارکتر قابل چاپ باشد. مقایسه رشتهها، کپیرشتهها، جستجو در رشته و انتقال آنها نمونههای از اعمال رشتهای هستند.
تعریف رشتهها
برای تعریف رشتهها از شبه دستورات DB یا DW استفاده میشود. نمونه هایی از تعریف رشته در زیر آمده است.
100 dup (‘*’)
Db
Str1
50 dup (?)
Dw
Str2
75 dup (?)
Dw
Str3
“ abcdef ”
Dd
Str4
جدول حالتهای سهگانه دستورالعملهای رشتهای:
دستورالعمل اصلی
دستورالعمل بایت
دستورالعمل کد
دستورالعمل کلمه مضاعف
MOVS
MOVSB
MOVSW
MOVSD
LODS
LODSB
LODSW
LODSD
STOS
STOSB
STOSW
STOSD
CMPS
CMPSB
CMPSW
CMPSD
SCAS
SCASB
SCASW
SCASD
معرفی دستورالعملهای رشتهای
این دستورالعملها عبارتنداز movs برای کپی کردن رشتهها، lods برای بارکردن رشتهها، stos برای ذخیره رشتهها، cmps برای مقایسه رشتهها، scas برای جستجوی رشتهها به کار میروند. دستورالعملهای رشتهای میتوانند بر روی بایت، کلمه یا کلمه مضاعف عمل کنند، لذا هر دستورالعمل رشتهای سه حالت دارد : بایت ،کلمه، کلمهمضاعف. برای مثال سه حالت دستورالعمل movs عبارتنداز movsb , movsw movsd در این حالتها حرف S به معنی رشته، B به معنی بایت، W به معنی کلمه و D به معنی کلمه مضاعف است.
ویژگیهای دستورالعملهای رشتهای
دستورالعملهای رشتهای بر روی دو رشته عمل میکنند برای مثال رشتهای را در رشته دیگر کپی میکند، رشتهای را در ثباتی ذخیره مینمایند و یا رشتهای را از ثبات به محلی از حافظه بار میکند. به هر حال، دستورالعملهای رشته دو عملوند دارند ولی عملوندها جزئی از دستورات نیستند. عملوندهای دستورالعملهای رشتهای، قبل از اجرای دستورات باید مقداردهی شوند به همین دلیل، این عملوندها را عملوندهای ضمنی گویند.
دستورالعملهای رشتهای معمولاً بر روی دو رشته عمل میکنند که یکی از آنها رشته منبع و دیگری را رشته مقصد گویند. آدرس رشته منبع باید در ثبات SI و آدرس رشته مقصد باید در ثباتDI قرار گیرد. ثبات SI معمولاً با ثبات DS به صورت DS:SI و ثبات DI معمولاً با ثبات DS به صورت ES:DI بکار میروند، لذا در بسیاری از دستورالعملهای رشتهای هنگامی که فایل EXE ایجاد میشود ثبات ES باید با آدرس موجود در ثبات DS مقدار دهی شوند.
;address of data segment
Ax , datasg
Mov
.
Dx , ax
Mov
.
Es , ax
Mov
تکرار اجرای دستورالعملهای رشتهای
دستورالعملهای رشتهای میتوانند رشتههایی از یک بایت، یک کلمه یا یک کلمه مضاعف را پردازش کنند. اگر طول رشته بیش از یک کلمه مضاعف باشد، باید اجرای دستورات رشتهای برای پردازش تکرار شود. برای مثال، برای کپی کردن رشتهای به طول10 میتوان دستور movsb را 10 بار تکرار کرد. برای تکرار اجرای دستورات رشتهای از پیشوند rep استفاده میشود. تعداد دفعات تکرار باید در ثبات cx قرار گیرد. پیشوند rep، دستور پردازش رشته را آنقدر تکرار میکند تا ثبات cx به صفر برسد. تکرار اجرای دستورات با پیشوندهای دیگری نیز امکانپذیر است.
دستورات repz ,repnz ,repne ,repe ,rep
این دستورات به صورت کلی
repz ,repnz ,repne ,repe ,rep instruction
مورد استفاده قرار میگیرند و باعث اجرای دستورجلوی آن تعداد مشخص میشوند. ثبات CX تعداد تکرار اجرای دستور را مشخص میکند و پس از اجرای هر بار این دستورات یک واحد از ثبات CX کم میشود.
:Rep
دستور جلوی خود را تا صفر شدن ثبات CX تکرار میکند
:Repe
دستور جلوی خود را مادامیکه ثبات CX مخالف صفرباشد تکرار میکند
: Repz
دستور جلوی خود را مادامیکه ثبات ZF=0 باشد تکرار میکند
:Repne
دستور جلوی خود را مادامیکه ثبات CX=0 باشد تکرار میکند
:Repnz
دستور جلوی خود را مادامیکه ثبات ZF=0 باشد تکرار میکند
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 35
دستورالعمل پردازش دادههای رشتهای
رشته عبارتاز مجموعهای از کاراکترهای به هم پیوسته و متوالی است. رشته میتواند حاوی هر کارکتر قابل چاپ باشد. مقایسه رشتهها، کپیرشتهها، جستجو در رشته و انتقال آنها نمونههای از اعمال رشتهای هستند.
تعریف رشتهها
برای تعریف رشتهها از شبه دستورات DB یا DW استفاده میشود. نمونه هایی از تعریف رشته در زیر آمده است.
100 dup (‘*’)
Db
Str1
50 dup (?)
Dw
Str2
75 dup (?)
Dw
Str3
“ abcdef ”
Dd
Str4
جدول حالتهای سهگانه دستورالعملهای رشتهای:
دستورالعمل اصلی
دستورالعمل بایت
دستورالعمل کد
دستورالعمل کلمه مضاعف
MOVS
MOVSB
MOVSW
MOVSD
LODS
LODSB
LODSW
LODSD
STOS
STOSB
STOSW
STOSD
CMPS
CMPSB
CMPSW
CMPSD
SCAS
SCASB
SCASW
SCASD
معرفی دستورالعملهای رشتهای
این دستورالعملها عبارتنداز movs برای کپی کردن رشتهها، lods برای بارکردن رشتهها، stos برای ذخیره رشتهها، cmps برای مقایسه رشتهها، scas برای جستجوی رشتهها به کار میروند. دستورالعملهای رشتهای میتوانند بر روی بایت، کلمه یا کلمه مضاعف عمل کنند، لذا هر دستورالعمل رشتهای سه حالت دارد : بایت ،کلمه، کلمهمضاعف. برای مثال سه حالت دستورالعمل movs عبارتنداز movsb , movsw movsd در این حالتها حرف S به معنی رشته، B به معنی بایت، W به معنی کلمه و D به معنی کلمه مضاعف است.
ویژگیهای دستورالعملهای رشتهای
دستورالعملهای رشتهای بر روی دو رشته عمل میکنند برای مثال رشتهای را در رشته دیگر کپی میکند، رشتهای را در ثباتی ذخیره مینمایند و یا رشتهای را از ثبات به محلی از حافظه بار میکند. به هر حال، دستورالعملهای رشته دو عملوند دارند ولی عملوندها جزئی از دستورات نیستند. عملوندهای دستورالعملهای رشتهای، قبل از اجرای دستورات باید مقداردهی شوند به همین دلیل، این عملوندها را عملوندهای ضمنی گویند.
دستورالعملهای رشتهای معمولاً بر روی دو رشته عمل میکنند که یکی از آنها رشته منبع و دیگری را رشته مقصد گویند. آدرس رشته منبع باید در ثبات SI و آدرس رشته مقصد باید در ثباتDI قرار گیرد. ثبات SI معمولاً با ثبات DS به صورت DS:SI و ثبات DI معمولاً با ثبات DS به صورت ES:DI بکار میروند، لذا در بسیاری از دستورالعملهای رشتهای هنگامی که فایل EXE ایجاد میشود ثبات ES باید با آدرس موجود در ثبات DS مقدار دهی شوند.
;address of data segment
Ax , datasg
Mov
.
Dx , ax
Mov
.
Es , ax
Mov
تکرار اجرای دستورالعملهای رشتهای
دستورالعملهای رشتهای میتوانند رشتههایی از یک بایت، یک کلمه یا یک کلمه مضاعف را پردازش کنند. اگر طول رشته بیش از یک کلمه مضاعف باشد، باید اجرای دستورات رشتهای برای پردازش تکرار شود. برای مثال، برای کپی کردن رشتهای به طول10 میتوان دستور movsb را 10 بار تکرار کرد. برای تکرار اجرای دستورات رشتهای از پیشوند rep استفاده میشود. تعداد دفعات تکرار باید در ثبات cx قرار گیرد. پیشوند rep، دستور پردازش رشته را آنقدر تکرار میکند تا ثبات cx به صفر برسد. تکرار اجرای دستورات با پیشوندهای دیگری نیز امکانپذیر است.
دستورات repz ,repnz ,repne ,repe ,rep
این دستورات به صورت کلی
repz ,repnz ,repne ,repe ,rep instruction
مورد استفاده قرار میگیرند و باعث اجرای دستورجلوی آن تعداد مشخص میشوند. ثبات CX تعداد تکرار اجرای دستور را مشخص میکند و پس از اجرای هر بار این دستورات یک واحد از ثبات CX کم میشود.
:Rep
دستور جلوی خود را تا صفر شدن ثبات CX تکرار میکند
:Repe
دستور جلوی خود را مادامیکه ثبات CX مخالف صفرباشد تکرار میکند
: Repz
دستور جلوی خود را مادامیکه ثبات ZF=0 باشد تکرار میکند
:Repne
دستور جلوی خود را مادامیکه ثبات CX=0 باشد تکرار میکند
:Repnz
دستور جلوی خود را مادامیکه ثبات ZF=0 باشد تکرار میکند
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 33
فرمت دستورالعمل :
اصولاَ ساختار و مشخصات داخلی CPU و همچنین ثباتها، قابلیتهای هر کامپیوتری، در کاتالوگ سیستم کامپیوتری مربوطه وجود دارد. در کاتلوگ مذکور لیست تمام دستورات، فرمتهای مختلف دستورها، کد اجرایی و جزئیات هر دستور نوشته شده است بررسی و تجزیه و تحلیل دستورات، و فراهم آوردن تابعهای مورد لزوم برای اجرای هر دستور، توسط واحد کنترل انجام میشود. فرمت هر دستور معمولاَ به چند قسمت1 تقسیم شده است که معمولترین این قسمتها شامل:
قسمت کد اجرا، که نوع عملیات دستور را مشخص میکند.
قسمت آدرس، که آدرس یک خانه حافظه، یا ثبات پروسسور را مشخص میکند.
قسمت حالت آدرس دهی، که معمولاَ روشی است که عملوند یا آدرس مؤثر تعیین میشود را، بیان میکند.
البته در بعضی حاالات قسمتهای دیگری نظیر تعداد شیفت در یک دستور شیفت، و یا نظایر آن نیز وجود دارد.
اصولاَ عملیات دستورات کامپیوتر برروی اطلاعاتی است که در حافظه، و یا ثباتهای پروسسور قرار دارد. بدیهی است هر خانه و یا ثبات پردازنده توسط آدرسدهی آنها تعیین میشود. آدرس ثبات پردازنده با 16 ثبات تا دارای قسمت آدرس ثبات با 4 بیت میباشد مثلاَ عدد باینری 0101 ثبات را مشخص مینماید.
کامپیوتر ممکن است دارای دستورات با طولهای مختلف و تعداد بیتهای قسمت آدرس متفاوت باشند. تعداد بیتهای قسمت آدرس در فرمت دستور، تابع تعداد ثباتهای CPU است، ثباتهای اکثر CPU کامپیوترها، به یکی از سه فرم زیر میباشد.
CPU دارای یک اکومولیتور
CPU دارای چندین ثبات
CPU دارای حافظه پشته
یک مثالی از تشکیلات کامپیوتری که CPU آن فقط یک اکومولیتور است مورد بحث قرار گرفت. در این CPU تمام عملیات برروی اکومولیتور انجام میشود به عنوان مثال دستوری که جکع ریاضی را انجام میدهد در زبان اسمبلی بصورت:
ADDX
نوشته میشود که در آن X آدرس عملوند در حافظه است این دستور محتوای خانه حافظه به آدرس X را که به نمایش میدهیم با محتوی اکومولیتور AC جمع، و تیجه را در اکومولیتور AC قرار میدهد یعنی .
مثالی از کامپیوترهائی که دارای چندین ثبات هستند نشان داده شده است. فرمت
دستور در این کامپیوتر نیاز به سه قسمت آدرس دارد. به این ترتبیب دستور در این کامپیوتر نیاز به سه قسمت آدرس دارد. لذا دستور زبان اسمبلی برای جمع ریاضی ممکن است به صورت زیر نوشته شود.
ADD R1 , R2 , R3
که عملیات را انجام میدهد. البته قسمتهای آدرس دستور را، میتوان از 3 به 2 تقلیل داد، بشرط اینکه ثبات مبدأ و مقصد یکی شود یعنی دستور بصورت ADD R1 , R2 باشد، که عملیات را انجام میدهد. که در این صورت در این دستور فقط آدرس ثباتهای و قرار دارند.
در کامپیوترهای با چندین ثبات در CPU دستور MOV برای انتقال اطلاعات بین ثباتها بکار میرود. مثلاَ MOV R1, R2
که عملیات ( یا بستگی به نوع کامپیوتر) را انجام میدهند. بنابراین دستورات انتقال نیاز به آدرس، برای ادرس ثبات مقصد، و ادرس ثبات منبع دارد.
فرمت دستور کامپیوترهائی که دارای چندین ثبات در CPU هستند دو یا 3 قسمت آدرس دارند. بدیهی است هر قسمت آدرس میتواند ادرس یک ثبات پردازنده، یا ادرس یک خانة حافظه باشد. به عنوان مثال دستور:
ADD R1 , X
عملیات را مشخص میکند. این دستور دارای دو آدرس یکی برای ثبات و دیگری X جهت آدرس یک خانه حافظه است.
در این کامپیوترها دستورات PUSH و POP دارای یک ادرس هستند مثلاَ دستور:
PUSH X
خانه حافظه به آدرس X را در بالای حافظه پشته قرار میدهد، و اشاره گر پشته SP ، بطور خودکار بهنگام میشود. البته دستورات اجرائی در کامپیوتر با تشکیلات پشته نیازی به قسمت آدرس ندارند، چون عملیات برروی دو مقدار که بالای حافظه پشته هستند انجام میشود. به عنوان مثال دستور:ADD در کامپیوترهای باتشکیلات حافظه پشته فقط دارای ناحیة کد احرایی میباشند، و نیازی به قسمت آدرس ندارند. در حیقت برای اجرای این دستور دو مقدار بالای حافظه پشته استخراج میشود، با هم جمع میگردند، و نتیجه در حافظه پشته قرار داده میشود. به این ترتیب در این دستور نیازی به قسمت آدرس نیست چون همة عملیات برروی بالای حافظه پشته انجام میشود.
البته بعضی کامپیوترها دارای تشکیلات CPU ، از مجموع سه فرم ذکرشده هستند . به عنوان مثال میکروپروسسور 8080 دارای 7 ثبات CPU اسن که یکی از آنها اکومولیتور میباشد. در این CPU ، تمام دستورات ریاضی، منطقی، بارکردن و ذخیره
لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : .doc ( قابل ویرایش و آماده پرینت )
تعداد صفحه : 52 صفحه
قسمتی از متن .doc :
فرمت دستورالعمل :
اصولاَ ساختار و مشخصات داخلی CPU و همچنین ثباتها، قابلیتهای هر کامپیوتری، در کاتالوگ سیستم کامپیوتری مربوطه وجود دارد. در کاتلوگ مذکور لیست تمام دستورات، فرمتهای مختلف دستورها، کد اجرایی و جزئیات هر دستور نوشته شده است بررسی و تجزیه و تحلیل دستورات، و فراهم آوردن تابعهای مورد لزوم برای اجرای هر دستور، توسط واحد کنترل انجام میشود. فرمت هر دستور معمولاَ به چند قسمت1 تقسیم شده است که معمولترین این قسمتها شامل:
قسمت کد اجرا، که نوع عملیات دستور را مشخص میکند.
قسمت آدرس، که آدرس یک خانه حافظه، یا ثبات پروسسور را مشخص میکند.
قسمت حالت آدرس دهی، که معمولاَ روشی است که عملوند یا آدرس مؤثر تعیین میشود را، بیان میکند.
البته در بعضی حاالات قسمتهای دیگری نظیر تعداد شیفت در یک دستور شیفت، و یا نظایر آن نیز وجود دارد.
اصولاَ عملیات دستورات کامپیوتر برروی اطلاعاتی است که در حافظه، و یا ثباتهای پروسسور قرار دارد. بدیهی است هر خانه و یا ثبات پردازنده توسط آدرسدهی آنها تعیین میشود. آدرس ثبات پردازنده با 16 ثبات تا دارای قسمت آدرس ثبات با 4 بیت میباشد مثلاَ عدد باینری 0101 ثبات را مشخص مینماید.
کامپیوتر ممکن است دارای دستورات با طولهای مختلف و تعداد بیتهای قسمت آدرس متفاوت باشند. تعداد بیتهای قسمت آدرس در فرمت دستور، تابع تعداد ثباتهای CPU است، ثباتهای اکثر CPU کامپیوترها، به یکی از سه فرم زیر میباشد.
CPU دارای یک اکومولیتور
CPU دارای چندین ثبات
CPU دارای حافظه پشته
یک مثالی از تشکیلات کامپیوتری که CPU آن فقط یک اکومولیتور است مورد بحث قرار گرفت. در این CPU تمام عملیات برروی اکومولیتور انجام میشود به عنوان مثال دستوری که جکع ریاضی را انجام میدهد در زبان اسمبلی بصورت:
ADDX
نوشته میشود که در آن X آدرس عملوند در حافظه است این دستور محتوای خانه حافظه به آدرس X را که به نمایش میدهیم با محتوی اکومولیتور AC جمع، و تیجه را در اکومولیتور AC قرار میدهد یعنی .
مثالی از کامپیوترهائی که دارای چندین ثبات هستند نشان داده شده است. فرمت
دستور در این کامپیوتر نیاز به سه قسمت آدرس دارد. به این ترتبیب دستور در این کامپیوتر نیاز به سه قسمت آدرس دارد. لذا دستور زبان اسمبلی برای جمع ریاضی ممکن است به صورت زیر نوشته شود.
ADD R1 , R2 , R3
که عملیات را انجام میدهد. البته قسمتهای آدرس دستور را، میتوان از 3 به 2 تقلیل داد، بشرط اینکه ثبات مبدأ و مقصد یکی شود یعنی دستور بصورت ADD R1 , R2 باشد، که عملیات را انجام میدهد. که در این