دانلود مقاله دستورالعمل پردازش داده‌های رشته‌ای

Word 121 KB 18371 31
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۲۴,۰۰۰ تومان
قیمت: ۱۹,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • دستورالعمل پردازش داده‌های رشته‌ای
    رشته عبارت‌از مجموعه‌ای از کاراکترهای به هم پیوسته و متوالی است.

    رشته می‌تواند حاوی هر کارکتر قابل چاپ باشد.

    مقایسه رشته‌ها، کپی‌رشته‌ها، جستجو در رشته و انتقال آنها نمونه‌های از اعمال رشته‌ای هستند.

    معرفی دستورالعملهای رشته‌ای
    این دستورالعملها عبارتنداز 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 مقدار دهی شوند.

    تکرار اجرای دستورالعملهای رشته‌ای
    دستورالعملهای رشته‌ای می‌توانند رشته‌هایی از یک بایت، یک کلمه یا یک کلمه مضاعف را پردازش کنند.

    اگر طول رشته بیش از یک کلمه مضاعف باشد، باید اجرای دستورات رشته‌ای برای پردازش تکرار شود.

    برای مثال، برای کپی کردن رشته‌ای به طول10 می‌توان دستور movsb را 10 بار تکرار کرد.

    برای تکرار اجرای دستورات رشته‌ای از پیشوند rep استفاده می‌شود.

    تعداد دفعات تکرار باید در ثبات cx قرار گیرد.

    پیشوند rep، دستور پردازش رشته را آنقدر تکرار می‌کند تا ثبات cx به صفر برسد.

    تکرار اجرای دستورات با پیشوندهای دیگری نیز امکان‌پذیر است.

    دستورات repz ,repnz ,repne ,repe ,rep
    این دستورات به صورت کلی repz ,repnz ,repne ,repe ,rep instruction
    مورد استفاده قرار می‌گیرند و باعث اجرای دستورجلوی آن تعداد مشخص می‌‌شوند.

    ثبات CX تعداد تکرار اجرای دستور را مشخص می‌کند و پس از اجرای هر بار این دستورات یک واحد از ثبات CX کم می‌شود.
    مورد استفاده قرار می‌گیرند و باعث اجرای دستورجلوی آن تعداد مشخص می‌‌شوند.

    ثبات CX تعداد تکرار اجرای دستور را مشخص می‌کند و پس از اجرای هر بار این دستورات یک واحد از ثبات CX کم می‌شود.

    تعیین جهت پردازش رشته رشته‌ها را می‌توان از چپ به راست و یا از راست به چپ پردازش کرد.

    چهت پردازش رشته توسط فلگ DF مشخص می‌شود.

    اگر این فلگ برابر با صفر باشد، پردازش از چپ به راست است و اگر برابر یک باشد پردازش از راست به چپ است.

    دستور CLD مقدار صفر و دستور STD مقدار یک را در این فلگ قرار می‌دهد.

    دستور CLD باعث می‌شود که بیت DF از ثبات وضعیت را صفر می‌کند که در عملیات روی رشته‌ها مانند movs,cmps و … مورد استفاده قرار می‌گیرد.

    هنگام استفاده از این دستور در هنگام انتقال رشته‌ای عمل مورد نظر از چپ به راست انجام می‌شود.

    دستور STD باعث می‌شود که در بیت DF مقدار یک قرار گیرد.

    هنگام استفاده از این دستور در عملیات رشته‌ای عمل مورد نظر از راست به چپ انجام می‌شود.

    کپی کردن رشته‌ها برای کپی کردن رشته‌ها از محلی از حافظه به محل دیگری در حافظه از دستور movs استفاده می‌شود.

    مورد استفاده قرار می‌گیرد.

    حالتهای مختلف این دستور به صورت زیر به کار می‌روند: MOVSB MOVSW MOVSD قبل از اجرای این دستورالعملها، آدرس محلی از حافظه که حاوی رشته است(منبع) در DI:SI و ادرس محلی از حافظه که رشته در آنجا کپی می‌شود در ES:DI قرار می‌گیرد.

    در ابتدای یک برنامه EXE باید ثبات ES را همراه ثبات DS مقداردهی کرد و با دستور LEA آدرس رشته‌ها را در ثبات SI و DI قرار داد.

    اگر جهت پردازش رشته از چپ به راست باشد، با هر با اجرای دستور movs یک بایت، یک کلمه، کلمه مضاعف به ثباتها SI و DI اضافه می‌شود.

    ولی اگر جهت پردازش رشته از راست به چپ باشد، همین مقدار از این ثباتها کسر می‌گردد.

    دستورالعمل LODS مورد استفاده قرار می‌گیرد.

    این دستورالعمل با حالت LODSB یک بایت را به ثبات AL و با حالت LODSW یک کلمه را به ثبات AX و با حالت LODSD یک کلمه مضاعف را به ثبات EAX بار می‌کند.

    آدرس حافظه منبع باید در ثباتهای DS:SI باشد در این دستورات مقصد، ثباتهای AL, AX یا EAX پس از اجرای این دستورات بسته به فلگ جهت یک دو یا چهار واحد به ثبات SI اضافه یا از آنها کم می‌شود.

    در غالب موارد می توان از دستور MOV برای اینکار استفاده کرد ولی دستور MOV کد ماشین سه بایتی و دستورالعمل LODS کد یک بایتی تولید می‌کند چون این دستورالعمل ثباتها را پر می‌کند و نیازی به اجرای پیشوند REP نیست.

    دستورالعملSTOS مورد استفاده قرار می‌گیرد.

    این دستورالعمل در حالت STOSB محتویات ثبات AL و در حالت STOSW محتویات ثبات AX و در حالت STOSD محتویات ثبات EAX را به ترتیب در یک بایت، یک کلمه و یک کلمه مضاعف بار می کند.

    آدرس محل حافظه باید در ثباتهای ES:DI قرار داشته باشد.

    بر حسب اینکه مقدار فلگ DF چقدر باشد 1، 2، یا 4 واحد به ثبات DI اضافه و یا از آن کم می‌گردد.

    با استفاده از پیشوند REP در دستور STOS می‌توان محلی از حافظه را مقدار اولیه داد در این صورت تعداد بایتها، کلمات یا کلمات مضاعف در ثبات CX قرار می‌گیرد.

    مقایسه رشته برای مقایسه رشته‌ها از دستورالعمل CMPS استفاده می‌شود.

    مورد استفاده قرار می‌ گیرد.

    آدرسهای دو رشته‌ای که مقایسه می‌شوند در ثباتهای DS:SI و ES:DI قرار دارند.

    این دستور شکل CMPSB یک واحد و در شکل CMPSW دو واحد و در شکل CMPSD چهار واحد به ثباتهای SI و DI اضافه و یا از آنها کم می‌کند.

    فلگ‌هالی AF, CF, OF PF, SF و ZF با دستورات تاثیر می‌پذیرند.

    با استفاده از پیشوند REP و طولی که در ثبات CX قرار می‌گیرد این دستورات می‌توانند رشته‌های با هر طول را با هم مقایسه کند.

    پیشوند REP شکلهای دیگری نیز دارد که معمولا در مقایسه رشته‌ها مورد استفاده قرار می گیرند و عبارتند از : REPE یا REPZ : دستورالعمل مقایسه رشته‌ها را تا زمانی اجرا می‌کنند که CX مخالف صفر بوده بایتها و کلمات مقایسه شده با هم مساوی باشند.

    REPNE یا REPNZ: دستورالعملهای مقایسه رشته‌ها را تا زمانی اجرا می‌کند CX مخالف صفر بوده، بایتها و کلمات مقایسه شده مساوی نباشند.

    مقایسه رشته‌ها الفبا عددی صورت می‌گیرد.

    این دستورالعملها برای مقایسه مقادیر جبری که حاوی علامت باشند مفید نیستند برای مثال دو رشته “arbs” و “arbn” را در نظر بگیرید برای مقایسه این دو رشته حرف “a” از رشته اول با حرف“a” از رشته دوم مقایسه می‌شود که با هم مساویند.

    سپس حرف “r” از رشته اول با حرف “r” در رشته دوم مقایسه می‌شوند که آنها نیز مساویند سپس حرف سوم رشته اول، “b” با حرف سوم رشته دوم “b” مقایسه می‌شوند این دو حرف نیز با هم مساویند چهارمین حرف رشته اول “s” به چهارمین حرف رشته دوم “b” مقایسه می‌شود که حرف “s” در مرتبه بالاتری قرار دارد یعنی اصطلاحا می گویند s از n بزرگتر است لذا رشته “arbs” از رشته “arbn” بزرگتر تلقی می‌شود.در مقایسه رشته‌ها کاراکترهای دو رشته با هم مقایسه می‌شوند و پس از رسیدن به اولین مورد اختلاف کاراکتری که بزرگتر باشد، رشته حاوی آن کاراکتر بزرگتر است دستورالعمل مربوط به مقایسه یک بایتی، REPE CMPSB می باشد.

    جستجوی رشته برای جستجو رشته از دستور SCAS استفاده می‌شود.

    این دستور شباهت زیادی با دستور CMPS دارد و تفاوت آنها این است که در دستور SCAS یک بایت، کلمه یا کلمه مضاعف در یک رشته جستجو می‌گردد.

    بایت، کلمه یا کلمه مضاعف مورد جستجو باید در ثبات AL, AX یا EAX باشد.

    رشته‌ای که باید عمل جستجو در آن صورت گیرد محلی از حافظه است که آدرس آن در ES:DI قرار دارد با هر بار اجرای این دستور 1 و 2 یا 4 واحد به ثبات DI اضافه یا از آن کم می شود با اجرای این دستور فلگهای AF, CF, DF, PC, و ZF مقدار می‌گیرند.

    وقتی دستورالعملهای SCAS با پیشوندهای REP به کار می روند هر رشته‌ای با هر طول را جستجو می‌کنند.

    نوشتن برنامه های مقیم در حافظه یکی از دلایل اصلی عمومیت یافتن زبان اسمبلی ،توانایی آن برای ساختن برنانامه هایی است که در پشت صحنه اجرا شود ،که به اصطلاح برنامه های pop_up یا مقیم در حافظه نامیده میشود این برنامه ها چندان رواج دارند که نمیتوان از آنها صرف نظر کر د،و نوشتنم این برنامه ها هم مشکل نیست .

    از مثالهای متداول برنامه های مقیم در حافظه میتوان به ماشین حسابی اشاره کرده که حتی در هنگام اجرای یک برنامه دیگر ، می توان با زدن کلیدی آن را فعال کرده و استفاده نمود ، یا ساعتی که همیشه در صفحه تصویر موجود است ، برنامه های کمکی که شماره تلفن می گیرند ، مطبی را روی کاغذ چاپ می کنند ، اشکالات دیسک را برطرف می نماید و یا حتی امکان اجرای دستورات DOS را فراهم می سازند و از این قبیل برنامه ها.

    تعریف برنامه مقیم در حافظه بسیار ساده است : این برنامه ها حتی اگر برنامه دیگری را هم اجرا کنید ذر حافظه باقی می مانند عمو ماً COMMAND.COM برنامه ها را درست بعد از خود DOS در حافظه لود کرده و اجرا می نماید و بعد از اتمام برنامه حافظهای را که به آن اختصاص داده بود گرفته و آزاد می نماید در برنامه های مقیم در حافظه مرحله آخر به ترتیب فوق نیست در عوض فضای اختصاص یافته به برنامه جزو فضای مربوط به DOS در می آید و برنامه بعدی که می خواهید اجرا کنید نمی تواند از این فضا استفاده کرده و در نتیجه بعد از آن قرار می گیرد به این ترتیب برنامه جزو DOS در می‌آید فقط فایلهای COM را با توجه به ساختمان جمع و جورشان می‌توان مقیم در حافظه کرد مگر آنکه پیشبینی‌های لازم را بعمل آورده باشید .

    نوشتن برنامه‌های مقیم در حافظه : اگر که ممکن است مشکل بظر بی‌آید اما مقیم ساختن برنامه‌ها در حافظه کاری آسان است مشکل اصلی که باید حل شود این است : حتی اگر برنامه‌ای را به DOS ضمیمه کنید تا این برنامه فرا خوانده نشود به خودی خود کاری انجام نمی‌دهند فقط مقیم ساختن برنامه به معنی اجرا شدن آن نیست – برنامه در حافظه باقی می‌ماند تا دوباره اجرا شود مثلاً تکه برنامه زیر را می‌توان به سادگی با استفاده از یکی از دو وقفه DOS که برای مقیم ساختن برنامه‌ها طراحی شده‌اند در حافظه مقیم کرد .

    این کار را به سادگی می‌توان با تنظیم چند رجیستر و استفاده از یکی از دو وقفه فوق بجای وقفه INT 20H که عموماً برای اتمام برنامه بکار می‌رود انجام داد اگرچه با این کار دستورات در حافظه جای می‌گیرند اما عملاً فقط بایتهای در حافظه هستند تا CS:IP به این دستورات اشاره نکند دلیلی برای اجرا شدن وجود ندارد به همین ترتیب برنامه‌های DOS و BIOS هم خودبه خود اجرا نمی‌شوند بلکه باید فراخوانی گردند .

    عملاً فقط یک راه حل برای اجرای چنین برنامه‌های مقیم وجود دارد و آن راه عبارت است از وقفه‌های سخت افزاری یا نرم‌افزاری ، وقفه های سخت افزاری توسط برنامه ایجاد نمی‌شود بلکه موقعی تولید می‌گردندکه وضعیت خاصی در دستگاههای جانبی کامپیوتر بوجود آمده باشد مثلاً هنگامی که کلیدی را در صفحه کلید می‌زنید ، یک وقفه ، وقفه 9 ایجاد می‌گردد دیسک درایو هم در اثر وقوع عمل خاص وقفه تولید می‌کند و ساعت داخلی کامپیوتر هم به همین صورت ( عملاً وقفه ساعت هر ثانیه 2/18 بار اتفاق می‌افتد ) .

    وقفه سخت افزاری باعث می‌شود که کامپیوتر اجرای برنامه را موقتاً متوقف کرده – وقفه – و به وقفه رسیدگی کند وقفه های سخت افزاری را می توان توسط برنامه با استفاده از دستور CLI از کار انداخت ( بجز تعدادی از وقفه‌های سطح پایین ) این فلاگ داخلی فقط برای این کار طراحی شده است : مشخص کند که آیا باید به وقفه رسیدگی گردد یا از آن صرف نظر شود مثلاً اگر برنامه شما دستور CLI اجرا کند کلیدهای تایپ شده دریافت و ذخیره نخواهند


تحقیق دانش آموزی در مورد دانلود مقاله دستورالعمل پردازش داده‌های رشته‌ای , مقاله دانشجویی با موضوع دانلود مقاله دستورالعمل پردازش داده‌های رشته‌ای , پروژه دانشجویی درباره دانلود مقاله دستورالعمل پردازش داده‌های رشته‌ای

این مقاله درباره پیدایش نور دیجیتالی است برای کسب اطلاعات بیشتر به سایت پردازش نور دیجیتالی مراجعه نمائید. 1- آرم Dlp (لوگو): پردازش نور دیجیتالی (Dlp) یک مارک تجاری است که بوسیله تگزاس استروسفت به عرصه نمایش درآمد که این تکنولوژی استفاده می شود در پروژکتورها و ویدئو پروژکتورها . Dlp به صورت اولیه توسعه یافت در سال 1987 توسط آقای دکتر لری هورن بک از شرکت تگزاس انسترومفت . Dlp ...

بحث پردازش موازی بحث جدیدی نبوده و مقدمات فکری آن را می توان از سالهای 1920میلادی در کتب مقالات پیدا کرد .موفقییت پردازش موازی از سالهای 1960شروع شد ،ظهور وپیدایش نیازهای محاسباتی – عملیاتی و کاربردی بلادرنگ موجب گردید. تعداد زیادی پروژه طراحی وساخت سیستم های تحقیق وپژوهش درسیستمهای نرم افزاری وسخت افزاری پردازش موازی گردید،موجب تحول وتکامل سریع پردازش موازی در اوایل نسل پنجم ...

RAM ROM Cache Dynamic RAM Static RAM Flash Memory Virtual Memory Video Memory BIOS استفاده از حافظه صرفا محدود به کامپیوترهای شخصی نبوده و در دستگاههای متفاوتی نظیر : تلفن های سلولی، PDA ، رادیوهای اتومبیل ، VCR ، تلویزیون و ... نیز در ابعاد وسیعی از آنها استفاده بعمل می آید.هر یک از دستگاههای فوق مدل های متفاوتی از حافظه را استفاده می نمایند. مبانی اولیه حافظه با اینکه می توان ...

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

در زبان انگلیسی «کامپیوتر» به کسی می‌گفتند که محاسبات ریاضی را (بدون ابزارهای کمکی مکانیکی) انجام می‌داد. بر اساس «واژه‌نامه ریشه‌یابی Barnhart Concise» واژه کامپیوتر در سال ۱۶۴۶ به زبان انگلیسی وارد گردید که به معنی «شخصی که محاسبه می‌کند» بوده‌است و سپس از سال ۱۸۹۷ به ماشین‌های محاسبه مکانیکی گفته می‌شد. در هنگام جنگ جهانی دوم «کامپیوتر» ...

این بخش شرح مختصری پیرامون اجزای اصلی یک سیستم کامپیوتری (حافظه و پردازنده)می دهد، که باعث می شود کاربر درک بیشتری نسبت به مفاهیمی که در طی برنامه اسمبلی با آن ها سرو کار دارد پیدا کند. حافظه واحدپردازش مرکزی ________________________________________ یک سیستم کامپیوتری ترکیب کاملی از سخت افزار و نرم افزارهای سیستمی است که باعث می شود ماشین مفید و وظیفه مندی برای کار معینی بشود. ...

تاریخچه کامپیوتر : تلاش انسان همواره در جهت ساختن وسایلی بود که او را در زمینه شمارش یاری نماید و کامپیوتر آخرین دستاورد این تلاش است . تاریخچه اختراع کامپیوتر مراحل طولانی را طی کرده است که چرتکه اولین مرحله آن بود و سپس به مرور زمان دستگاه‌های دیگری به شرح زیر ساخته شد . پاسکال ، اولین ماشین مکانیکی را ساخت به قادر به انجام عمل جمع و تفریق بود . این ماشین به نام ماشین جمع زن ...

رایانه (کامپیوتر)که حاصل فکر، و خلاقیت و فناوری است،اکنون به شرکتها،اداره ها،و حتی خانه های مردم درسراسر جهان راه یافته و تقریباً همه جا را تسخیر کرده است. انسان به وسیله رایانه می تواند کارهایی از قبیل عملیات پیچیده ی حسابداری،طراحی ساختمان ،طراحی ساختمان،طراحی پارچه،ساخت فیلم های کارتونی وو عملیات پیچیده ی ریاضی و هزاران کار دیگر را انجام دهد.به وسیله ی شبکه های اطلاع رسانی ...

در اواسط دهه 70 ریزپردازنده ها ساختار ساده ای داشتند و در این زمان هر ریزپردازنده از یک واحد پردازشگر مرکزی (cpu) و یک تراشه LSI (شامل 5/000 ترازیستور) تشکیل شده بود و با فرکانس 1 تا 5 مگاهرتز در یک سیستم 8 بیتی کار می کرد و این ریزپردازنده ها دارای 2 الی 7 ثبات 8 بیتی بودند. به خاطر قیمت و بهای اندک و اندازه کوچک ریزپردازنده ها، در بیشتر سیستم های کامپیوتری از آنها استفاده می ...

رایانه، رایانگر، یا کامپیوتر (به انگلیسی: Computer) ماشینی است که برای پردازش اطلاعات استفاده می‌شود. نام در زبان انگلیسی «کامپیوتر» به کسی می‌گفتند که محاسبات ریاضی را (بدون ابزارهای کمکی مکانیکی) انجام می‌داد. بر اساس «واژه‌نامه ریشه‌یابی Barnhart Concise» واژه کامپیوتر در سال ۱۶۴۶ به زبان انگلیسی وارد گردید که به معنی «شخصی که محاسبه می‌کند» بوده ...

ثبت سفارش