HLA (англ. «High Level Assembl/y/er» — Асе́мблер високого рівня) — мова програмування низького рівня, створена Рендаллем Гайдом. Але з використанням конструкцій таких як IF, WHILE, FOR тощо, запозичених у високорівневих мов програмування (Pascal, Ada і ). Спочатку розроблявся як інструмент для вивчення мов асемблера у коледжах та університетах з метою використовувати існуючі знання учнів в інших мовах програмування, щоб максимально швидко навчити низькорівневим конструкціям.
High Level Assembly (HLA) | |
---|---|
Парадигма | об'єктно-орієнтоване програмування |
Розробник | Рендалл Гайд |
Останній реліз | 2.16 (липень 2011) |
Мова реалізації | Ассемблер |
Платформа | IA-32 |
Операційна система | Windows |
Ліцензія | Суспільне надбання |
Звичайні розширення файлів | .hla |
Вебсайт | plantation-productions.com/Webster |
Порівняння високорівневого і низькорівневого асемблера
HLA v2.x підтримує такі самі низькорівневі інструкції як і низькорівневий асемблер. Різниця полягає в тому, що високорівневі асемблери (такі як HLA, MASM, чи TASM на x86) додатково підтримують такі конструкції, як IF, WHILE, FOR, структури, унії і навіть класи.
Компілятор HLA включає в себе стандартну бібліотеку: функції, процедури і макроси, які дають можливість зменшити час на розробку програми.
Приклади програм
Компіляція програм
- Встановити компілятор HLA.
- Відкрити командну строку (Від імені адміністратора і перейти в дирикторію розташування <fileName>.hla).
- hla <fileName>.hla — компіляція.
- ./<fileName>.exe — запуск.
«Привіт, світ!»
program Hello; #include("stdlib.hhf"); begin Hello; stdout.put("Hello, World!"); end Hello;
Цикл for
program For; #include("stdlib.hhf"); static i: int8; begin For; for( mov( 0, i); i < 10; inc(i) ) do stdout.put( i, nl); // nl - новий рядок endfor; end For;
Матриця
program Array; #include("stdlib.hhf"); static i: int32; j: int32; twoD: int32[8,4]:=[1,2,3,4,5,6,7,8,9,10,11,12, 13,14,15,16,17,18,19,20,21,22, 23,24,25,26,27,28,29,30,31,32]; // 4 - рядки, 8 - стовпці begin Array; // Програма бере від користувача номер рядка та стовпця // та виводить на екран значення з матриці twoD stdout.put("Прошу подати i: "); stdin.get(i); stdout.put("Прошу подати j: "); stdin.get(j); mov(i,ebx); shl(3,ebx); // shift left - зсування бітів на 3 знаки вліво add(j,ebx); stdout.put("В поданих пунктах i, j, значення = "); stdout.put(twoD[ebx*4]); end Array;
Посилання
- Офіційна сторінка HLA [ 9 листопада 2017 у Wayback Machine.]
- Завантаження компілятора HLA для різних OC [ 23 жовтня 2017 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U Vikipediyi ye statti pro inshi znachennya cogo termina HLA HLA angl High Level Assembl y er Ase mbler visokogo rivnya mova programuvannya nizkogo rivnya stvorena Rendallem Gajdom Ale z vikoristannyam konstrukcij takih yak IF WHILE FOR tosho zapozichenih u visokorivnevih mov programuvannya Pascal Ada i C Spochatku rozroblyavsya yak instrument dlya vivchennya mov asemblera u koledzhah ta universitetah z metoyu vikoristovuvati isnuyuchi znannya uchniv v inshih movah programuvannya shob maksimalno shvidko navchiti nizkorivnevim konstrukciyam High Level Assembly HLA Paradigmaob yektno oriyentovane programuvannyaRozrobnikRendall GajdOstannij reliz2 16 lipen 2011 Mova realizaciyiAssemblerPlatformaIA 32Operacijna sistemaWindowsLicenziyaSuspilne nadbannyaZvichajni rozshirennya fajliv hlaVebsajtplantation productions com WebsterPorivnyannya visokorivnevogo i nizkorivnevogo asembleraHLA v2 x pidtrimuye taki sami nizkorivnevi instrukciyi yak i nizkorivnevij asembler Riznicya polyagaye v tomu sho visokorivnevi asembleri taki yak HLA MASM chi TASM na x86 dodatkovo pidtrimuyut taki konstrukciyi yak IF WHILE FOR strukturi uniyi i navit klasi Kompilyator HLA vklyuchaye v sebe standartnu biblioteku funkciyi proceduri i makrosi yaki dayut mozhlivist zmenshiti chas na rozrobku programi Prikladi programKompilyaciya program Vstanoviti kompilyator HLA Vidkriti komandnu stroku Vid imeni administratora i perejti v diriktoriyu roztashuvannya lt fileName gt hla hla lt fileName gt hla kompilyaciya lt fileName gt exe zapusk Privit svit program Hello include stdlib hhf begin Hello stdout put Hello World end Hello Cikl for program For include stdlib hhf static i int8 begin For for mov 0 i i lt 10 inc i do stdout put i nl nl novij ryadok endfor end For Matricya program Array include stdlib hhf static i int32 j int32 twoD int32 8 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 4 ryadki 8 stovpci begin Array Programa bere vid koristuvacha nomer ryadka ta stovpcya ta vivodit na ekran znachennya z matrici twoD stdout put Proshu podati i stdin get i stdout put Proshu podati j stdin get j mov i ebx shl 3 ebx shift left zsuvannya bitiv na 3 znaki vlivo add j ebx stdout put V podanih punktah i j znachennya stdout put twoD ebx 4 end Array PosilannyaOficijna storinka HLA 9 listopada 2017 u Wayback Machine Zavantazhennya kompilyatora HLA dlya riznih OC 23 zhovtnya 2017 u Wayback Machine