پاورپوینت پروژه زبان ماشین ارتباط زبان های سطح بالا با اسمبلی (pptx) 36 اسلاید
دسته بندی : پاورپوینت
نوع فایل : PowerPoint (.pptx) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید: 36 اسلاید
قسمتی از متن PowerPoint (.pptx) :
به نام خدا
پروژه زبان ماشین
موضوع پروژه : ارتباط زبان های سطح بالا با اسمبلی
منابع :اینترنت ،کتاب زبان ماشین دکتر جعفرنژاد قمی
فهرست مطالب
1-ارتباط زبان اسمبلی با پاسکال
-.دستورات اسمبلی در برنامه پاسکال
-.اسکال پارامترها از پاسکال به امبلی
c2-ارتباط زبان اسمبلی با زبان
c-.دستورات اسمبلی در زبان
c-.استفاده از زیربرنامه های اسمبلی در برنامه
-.کوچک و بزرگ بودن حروف متغیرها
و توربواسمبلیcدر توربو publicو external-.ارتباط شناسه ای
مقدمه :
یکی از نکات جالب زبان اسمبلی این است که می توان با زبان های سطح بالا ( مثل پاسگال و C ) ارتباط برقرار کرد . این ارتباط به دو صورت امکان پذیر است . در روش اول می توان در هر مکانی از برنامه زبان های C و پاسگال ، از یک یا چند دستور اسمبلی استفاده کرد که این روش دارای محدودیت های زیر می باشد :
1 . محدودیت استفاده از آدرس ها و عملوندها
2 . فقدان تنظیم اولیه مقادیر و متغیرها
3 . نیاز به ذخیره ثبات ها
4 . کاهش قابل حمل بودن برنامه
5 . کم بودن سرعت ترجمه
6 . محدودیت بهینه سازی
7 . محدودیت اشکالزدایی
در روش دوم می توان زیر برنامه اسمبلی را که در فایل جداگانه ای قرار دارد در این زبان ها ، فراخوانی کرد . در این زبان ها ، فراخوانی کرد . در این فصل ارتباط زبان اسمبلی با دو زبان سطح بالای C و پاسگال مورد بررسی قرار می دهد .
ارتباط زبان اسمبلی با پاسگال دستورات اسمبلی در برنامه پاسگال
برای نوشتن دستورات اسمبلی ، از دستور asm به صورت زیر استفاده می شود :
Asm
دستورات اسمبلی
end
اگر چند دستور اسمبلی در یک سطر باشند ، هر دستور باید به , ختم شود و گرنه نیاز به , نیست .
مثال 1
برنامه ای که با استفاده از دستورات اسمبلی در برنامه پاسگال ، مکان نما را به نقطه ای از صفحه نمایش منتقل کرده کاراکتری را 10 بار در آنجا تایپ می کند و سپس کاراکتری با علامت قلب را 5 بار به صورت چشمک زن نمایش می دهد .
توضیح
در این برنامه ، با دستورات اسمبلی ، مکان نما به سطر 10 و ستون 50 منتقل می شود و کاراکتر « ! » بار در آنجا تایپ می گردد .
Program test ,
Uses dos , crt ,
Var regs : registers: { For Windows :TRegisters }
begin
clrscr
asm
mov ah, 02 {function}
mov bh, 0 {page#}
mov dh, 10 {row}
mov dl, 50 {col}
int 10h {call bios}
mov ah, 09 {function}
mov al, `!` {char to print}
mov bh, 0 {page#}
mov bl, 7 {attribute}
mov cx, 10 {number of time to print char }
int 10h {call bios }
mov ah, 09 {request display }
mov al, 03h {picture of heart }
mov bh, 0 {page# }
mov bl, 0f0h {blink}
mov cx, 05 {five time print heart}
int 10h {call bios }
end :
end.
استفاده از ریزبرنامه های اسمبلی
برای استفاده از زیر برنامه های اسمبلی در پاسکال ، باید آن زیربرنامه را در فایل جداگانه ای تایپ کنید و با استفاده از مترجم tasm یا masm آن را به فایل obj تبدیل نمایید و در پاسکال نیز آن زیربرنامه را به صورت external تعریف کنید . برای لینک کردن زیربرنامه اسمبلی به پاسکال ، از راهنمای کامپایلر پاسکال $L به صورت زیر استفاده نمایید .
< نام فایل obj اسمبلی > $L
فایل obj ، زیر برنامه ای به زبان اسمبلی است که با این دستور به برنامه پاسکال پیوند زده می شود .
در برنامه اسمبلی ، بایستی نام زیربرنامه ، خارجی تعریف شده در پاسکال ، به صورت public تعریف شود تا لینکر این دو برنامه را به هم پیوند دهد . برای تبدیل فایل اسمبلی به obj از مترجم tasm یا masm به صورت زیر استفاده می شود :
نام زیربرنامه اسمبلی TASM
یا
نام زیربرنامه اسمبلی MASM