Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Гра &Змійка&

Реферат Гра &Змійка&





ого рівня. Надійність для драйверів відіграє особливу роль, оскільки в Windows NT і UNIX (у тому числі в Linux) драйвери працюють в режимі ядра. Одна помилка в драйвері може призвести до краху всієї системи.

Створення антивірусів та інших захисних програм.

Написання трансляторів мов програмування.


1.4 Зв'язування програм на різних мовах


Оскільки вже починаючи з епохи третього покоління комп'ютерів на мові асемблера часто розробляються лише тільки фрагменти програм, їх необхідно пов'язувати з іншими частинами програмної системи, написаними на інших мовах програмування (практично завжди на мовах високого рівня).

Це досягається двома основними способами:

На фазі трансляції - вставка в текст програми на мові високого рівня ассемблерних фрагментів (англ. inline assembler) за допомогою спеціальних директив мови. Зокрема, даний спосіб підтримується мовами програмування Сі та Delphi), у тому числі написання функцій на мові асемблера. Спосіб зручний для нескладних перетворень даних, але повноцінного ассемблерного коду, з даними і підпрограмами, включаючи підпрограми з безліччю входів і виходів, які не підтримуються мовою високого рівня, з його допомогою зробити неможливо.

На етапі компоновки при роздільній трансляції. Для взаємодії компонованих модулів достатньо, щоб імпортовані функції - певні в одних модулях і використовувані в інших підтримували угоди виклику (англ. Calling conventions) і типи даних, застосовувані в базовому мові високого рівня, використовуваного в якості основного засобу розробки. Написані ж окремі модулі можуть бути на будь-яких інших мовах, у тому числі і на мові асемблера.

2. Опис програми


Програма реалізує генерування рухомих зображень. На чорному екрані рухається біла смужка змійка raquo ;, яка управляється клавішами вгору raquo ;, вниз raquo ;, вправо і відповідно вліво raquo ;. Мета гри полягає в тому щоб поїдати raquo ;, тобто за допомогою натискань керуючих клавіш направити змійку на білий квадратик який у цей момент присутня на екрані. Після цього програма збільшить довжину ??laquo; змійки на довжину об'єкта з'їденого нею. Білі квадратики з'являються довільно на певній для гри області. Гра продовжується до тих пір поки користувач не натисне клавішу Esc або змійка НЕ перетне сама себе, тоді настане кінець гри. Ще одна особливість гри що якщо" змійка наближається до кордонів віконця то вона з'явитися на тому ж рівні вікна тільки з іншого боку, що дозволить значно збільшити сеанс гри.

Моя програма реалізована на мові асемблера і скомпільована в додатку Flat assembler (FASM) який є вільно поширюваним і багатопрохідним компілятором мови асемблер.

У початковий момент часу змійка знаходитися посередині ближче до нижнього краю вікна (Рис.1).


Після нетривалої гри і з'ївши кілька білих квадратів, ми отримуємо змійку довших розмірів (Мал. 2).



Висновок

асемблер мову додаток гра

У цій роботі я навчився застосовувати низькорівневий мову асемблер для створення простих додатків. Для створення програми на мові асемблера мені довелося працювати з переривання і регістрами. Як і всі мови програмування в асемблері ми зіткнулися зі змінними, і вони визначалися за певними директивам. У процесі роботи над програмою ми використовували так само цикли і умовні і безумовні переходи.

Хоч і асемблер і є одним з найвідоміших низькорівневих мов програмування, він не дуже затребуваний через те що багато їх об'єктно-орієнтованих мов пропонують більш багатий вибір можливостей для створення і компіляції додатки, так само забезпечують велику зрозумілість і приємний користувальницький інтерфейс.


Додаток

100hal, 316cx, - 10B800hesax, 255stosw [gs: 1Ch * 4 + 2], dsword [gs: 1Ch * 4], maindsfsesgs: a: ax, ax21h: mov si,snakebp,[fs:snakelen]ax,[fs:bx+snake]ax,[fs:step]di,[fs:snake+bp]byte[gs:di],255ax,diax,dinext

add di, [fs: step]

random: rdtsc

and ax, +4094

cmp ax, 3998

ja random

inc ax

mov [fs: snake + bp + 2], ax

add [fs:snakelen],2:cx,cxax,4000di,axdi,axax,cxdi,axdi,axax,cxdi,axbxbxbx,bpbx,cxbyte[gs:di],255quitdi,[fs:bx+snake][gs:di],cxal,60hcx,axbp,ax,17dx,[fs:move+bp- 144] bp, 144cx, 81cx, bpdx, [fs: step] [fs: step], dxaxquitdw 2

move dw - 160,0,0, - 2,0,2,0,0,160dw 6dw 2005,2001,2003,2007


Назад | сторінка 3 з 3





Схожі реферати:

  • Реферат на тему: Програмування на мові високого рівня
  • Реферат на тему: Програмування на мові високого рівня
  • Реферат на тему: C # Програмування на мові високого рівня. Середа розробки Microsoft Visual ...
  • Реферат на тему: Розробка програми перекладу введеного рядка тексту в послідовність кодів аб ...
  • Реферат на тему: Програмування на мовах високого рівня