ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
שפת סף – ויקיפדיה

שפת סף

מתוך ויקיפדיה, האנציקלופדיה החופשית

שפת סף אשר נקראת גם אסמבלי (Assembly), היא שפת התכנות האלמנטרית ביותר, והקרובה ביותר לשפת מכונה.

בשפת הסף, בצורתה הבסיסית, קיימת התאמה חד-חד ערכית בין ההוראות שכותב המתכנת ובין ההוראות המופקות מהן בשפת מכונה, כלומר, כל הוראת אסמבלי יחידה מתורגמת להוראה אחת בשפת מכונה. לכן, כמו שפת המכונה, אף שפת הסף פועלת באופן ישיר על תאי הזיכרון של המחשב, האוגרים הפנימיים של המעבד ויציאות הקלט/פלט של המחשב, ובפרטנות רבה. כתוצאה מכך, שפת הסף תלויה הרבה מאוד במעבד ולכל סדרת מעבדים יש שפת סף משלה (כאשר לכל מעבד יש ניב משלו).

תכנות בשפת סף נחשב לקשה הרבה יותר מבשפות התכנות העיליות, בין היתר משום ששפת סף אינה אינטואיטיבית וקלה לקריאה כמו השפות העיליות. תכנות בשפת סף, במיוחד כזה הנחשב ליעיל, מחייב להכיר היטב את חומרת המחשב, בעוד ובשפות עליות המהדר דואג להתאימן לחומרה. מעבר לכך, לשם ביצוע כל פעולה, ולו הפשוטה ביותר, עשויות להידרש הוראות שפת סף רבות. לשם דוגמה, מוצגות להלן, במקביל, ההוראות הנדרשות כדי להציב במשתנה A את סכומם של המשתנים B ו-C, בשפות תכנות שונות.

Basic Pascal שפת סף (מעבדי x86)
A = B + C A := B + C; mov ax, B

add ax, C

mov A, ax


התכנות בשפת סף היה נפוץ למדי ואפילו דומיננטי, למרות הקושי שבו, עד לתחילת שנות ה-70 של המאה העשרים, וזאת בשל משאבי המחשב המוגבלים שעמדו לרשות המתכנתים ובשל היכולת ליצור קוד יעיל במהירות הביצוע וחסכוני בצריכת זיכרון, יותר מזה שנוצר בשפות עיליות. בעקבות השתכללות המהדרים של השפות העיליות לא נותר עוד הבדל משמעותי שיצדיק את הטירחה שבכתיבה בשפת סף, וכך משמש כיום האסמבלר מתכנתים בודדים, בעיקר כותבי מערכות הפעלה או מפתחים של חלקי תוכנה שדרושים להם ביצועים מהירים במיוחד.

המהדר של שפת הסף, המתרגם את קובצי ההוראות לשפת מכונה, נקרא אסמבלר (Assembler).


[עריכה] ראו גם

[עריכה] קישורים חיצוניים

מיזמי קרן ויקימדיה
ויקיספר ספר לימוד בוויקיספר: שפת סף
שפות תכנות

Ada | ALGOL | Awk | Assembly | Basic | BCPL | C | C++ | C# | Cobol | Delphi | Eiffel | Forth | Fortran | Haskell | Java | LISP | Logo | Miranda | Modula-2 | Oberon | Ocaml | Pascal | PHP | Perl | PL/I | PL/SQL | Prolog | Python | REXX | SQL | Ruby | Smalltalk | Visual Basic | Visual Basic .NET


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -