Skip to content

lang-AsmX/AsmX

Repository files navigation

AsmX

AsmX Academy

Для ΠΊΠΎΠ³ΠΎ написана эта ΠΊΠ½ΠΈΠ³Π°?

ЦСль этой ΠΊΠ½ΠΈΠ³ΠΈ - ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС ввСсти читатСля Π² курс Π΄Π΅Π»Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π½Π°Ρ‡Π°Π» ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° AsmX работоспособныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΈΠ³Ρ€Ρ‹, Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹), ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°Π»ΠΎΠΆΠΈΡ‚ΡŒ основу Π² области программирования, которая пригодится Π΅ΠΌΡƒ Π½Π° протяТСнии всСй ΠΆΠΈΠ·Π½ΠΈ. Книга написана для людСй любого возраста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅ΠΆΠ΄Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π½Π° AsmX ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π»ΠΈ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ быстро ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π°Π·Ρ‹ программирования, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° интСрСсных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ своС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ Π½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ…, - эта ΠΊΠ½ΠΈΠ³Π° для вас.

Онлайн рСсурсы

  • ОбновлСния.Β AsmX, ΠΊΠ°ΠΊ ΠΈ всС языки постоянно развиваСтся. Π‘Π°ΠΌ язык программирования AsmX ΠΌΠΎΠΆΠ½ΠΎΒ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚ΡƒΡ‚
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для подсвСтки AsmX ΠΊΠΎΠ΄Π° extension (VS Code)
  • Π‘Π°ΠΉΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ AsmX web site

Π§Π°ΡΡ‚ΡŒ IΒ ΠžΡΠ½ΠΎΠ²Ρ‹

Π“Π»Π°Π²Π° 1. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги

Π’ этой Π³Π»Π°Π²Π΅ Π²Ρ‹ запуститС свою ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° языкС AsmX, hello_world.asmX. Π‘Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅, установлСн AsmX Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΈ Ссли Π½Π΅Ρ‚ - установитС Π΅Π³ΠΎ.

Π’ части I этой ΠΊΠ½ΠΈΠ³ΠΈ прСдставлСны Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС AsmX. МногиС ΠΈΠ· этих ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π²ΠΎ всСх языках программирования, поэтому ΠΎΠ½ΠΈ пригодятся Π²Π°ΠΌ Π½Π° протяТСнии всСй ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

Π’ Π³Π»Π°Π²Π΅ I Π²Ρ‹ установитС AsmX Π½Π° свой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈ запуститС свою ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран сообщСниС Hello World!

Установка AsmX

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ рСсурсы ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅))

Π£ вас Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒΒ NodeJSΒ v16.15.1 вСрсии, npm вСрсии 8.11.0. Ну ΠΈ git. (Π£ мСня стоит 2.36.1 вСрсия git).

git clone https://github.com/langprogramming-AsmX/AsmX.git
npm install

ПослС этого ΡƒΠΆΠ΅ запускаСм ядро:

node kernel.js

ПослС Ρ‡Π΅Π³ΠΎ Ρƒ нас попросят ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, Ссли вСсти Ρ„Π°ΠΉΠ» Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, Ρƒ нас выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ. ПослС указания ΠΏΡƒΡ‚ΠΈ ΠΊ самому ядру ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ сразу ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ .asmX Ρ„Π°ΠΉΠ»Ρƒ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС появится CLI (Command Line Interface) ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ попросит ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ.

ΠŸΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ AsmX v3, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° NodeJS v18.16.1 (LTS)

Если Ρƒ вас установлСн AsmX Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии (AsmX v3) ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ вСрсии, для запуска AsmX ΠΊΠΎΠ΄Π° ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π²ΠΎΡΠΏΠΎΠ»Π»Π·ΡƒΠΉΡ‚Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ яздра Π΄Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ repl, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

node kernel.js repl

REPL - Read Eval Print Loop

Установка VS Code

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ установки VS Code ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΠΎ адрСсу https://code.visualstudio.com/. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ссылкС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ установки для Windows. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° установки Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π°, запуститС Π΅Ρ‘ ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ всС настройки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Hello World

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π² вашСй систСмС Π±ΡƒΠ΄ΡƒΡ‚ установлСны послСдниС вСрсии AsmX ΠΈ VS Code, всё ΠΏΠΎΡ‡Ρ‚ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ запуску вашСй ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° AsmX, написанной Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅. ПослС этого Π²Ρ‹ смоТСтС Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒΒ Hello World!Β ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Ρ‘.

Запуск hello_world.asmX

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, создайтС Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² свСй систСмС ΠΏΠ°ΠΏΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌΒ AsmX_workspace для своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ VS Code ΠΈ сохранитС пустой Ρ„Π°ΠΉΠ» AsmX (File -> Save As) с ΠΈΠΌΠ΅Π½Π΅ΠΌΒ hello_world.asmXΒ Π² ΠΏΠ°ΠΏΠΊΠ΅Β *AsmX_workspace.*ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ сохранСн, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅:

@call print("Hello world!");

Запуск AsmX Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π²Π°ΠΌΠΈ Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ прямо ΠΈΠ· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ просто Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π΅ открывая Π΅Ρ‘ для рСдактирования.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² любой систСмС с установлСнной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ AsmX; Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ лишь Π·Π½Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранится Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ сохранили Ρ„Π°ΠΉΠ»Β hello_world.asmXΠ² ΠΏΠ°ΠΏΠΊΠ΅Β AsmX_workspace Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС.

Π’ Windows

Команда cdΒ (Change Directory) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для пСрСмСщСния ΠΏΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС Π² ΠΎΠΊΠ½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Команда dirΒ (DIRectory) Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список всСх Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π½ΠΎΠ²ΠΎΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β hello_world.asmX:

C:\ > cd Desktop/AsmX_workspace
C:\Desktop\AsmX_workspace> dir
hello_world.asmX
C:\Desktop\AsmX_workspace> node asmx/kernel.js hello_world.asmX
Hello world!

Команда cdΒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΠ°ΠΏΠΊΠ΅Β asmX_workspace, находящСйся Π² ΠΏΠ°ΠΏΠΊΠ΅Β Desktop. Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°Β dir провСряСт, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» hello_world.asmX Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ находится Π² этой ΠΏΠ°ΠΏΠΊΠ΅. Π”Π°Π»Π΅Π΅ Ρ„Π°ΠΉΠ» запускаСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ node asmx/kernel.js hello_world.asmX. Π“Π΄Π΅ asmx это ΠΏΠ°ΠΏΠΊΠ° скачанного AsmX с GitHub.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΈΠ· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. Но со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ваша Ρ€Π°Π±ΠΎΡ‚Π° станСт Π±ΠΎΠ»Π΅Π΅ слоТной, ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· своих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

Π’ macOS ΠΈ Linux

Запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ AsmX Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ сСансС Π² систСмах Linux ΠΈ macOS осущСствляСтся ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. Команда cdΒ (Change Directory) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для пСрСмСщСния ΠΏΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ сСансС. Команда IsΒ (LiSt) Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список всСх нСскрытых Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π½ΠΎΠ²ΠΎΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ hello_world.asmX:

\~$ cd Desktop/AsmX_worspace/
\~Desktop/AsmX_worspace/$ ls
  hello_world.asmX
\~Desktop/AsmX_worspace/$ node asmx/kernel.js hello_world.asmX
Hello world!

Команда cdΒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ ΠΏΠ°ΠΏΠΊΠ΅Β asmX_workspace, находящСйся Π² ΠΏΠ°ΠΏΠΊΠ΅Β Desktop. Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°Β ls провСряСт, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» hello_world.asmX Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ находится Π² этой ΠΏΠ°ΠΏΠΊΠ΅. Π”Π°Π»Π΅Π΅ Ρ„Π°ΠΉΠ» запускаСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ node asmx/kernel.js hello_world.asmX. Π“Π΄Π΅ asmx это ΠΏΠ°ΠΏΠΊΠ° скачанного AsmX с GitHub.

РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с установкой

Если Π²Π°ΠΌ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒΒ hello_world.asmX,Β Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты (кстати, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π»ΡŽΠ±Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…).

  • Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° содСрТит ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ, AsmX Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ трассировки. AsmX Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ содСрТимоС Ρ„Π°ΠΉΠ»Π° ΠΈ пытаСтся ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, трассировка подскаТСт, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
  • ΠžΡ‚ΠΎΠΉΠ΄ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΎΡ‚Π΄ΠΎΡ…Π½ΠΈΡ‚Π΅ ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ снова. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ синтаксис Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ΅Π½; Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ΅ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅, Π½Π΅Π²Π΅Ρ€Π½ΠΎ располоТСнная ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ° ΠΈΠ»ΠΈ нСпарная скобка ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ части Π³Π»Π°Π²Ρ‹, Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ сдСлано, ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ.
  • НачнитС Π·Π°Π½ΠΎΠ²ΠΎ. ВСроятно, Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½Π΅ придСтся, Π½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Β hello_world.asmXΒ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ с нуля.
  • ΠŸΠΎΠΏΡ€ΠΎΡΠΈΡ‚Π΅ ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ дСйствия, описанныС Π² этой Π³Π»Π°Π²Π΅, Π½Π° вашСм (ΠΈΠ»ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ) ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π’Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ½Π°Π±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ Π·Π° происходящим. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ упустили ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΠ΅Π»ΠΎΡ‡ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ замСтят Π΄Ρ€ΡƒΠ³ΠΈΠ΅.
  • НайдитС спСциалиста, Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΡŽΡ‰Π΅Π³ΠΎ AsmX, ΠΈ попроситС Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ.Π’ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠΉ спСциалист Π΅ΡΡ‚ΡŒ срСди Π²Π°ΡˆΠΈΡ… Π·Π½Π°ΠΊΠΎΠΌΡ‹Ρ….
  • ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π’ пСрСчислСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ рСсурсы (Ρ„ΠΎΡ€ΡƒΠΌΡ‹, Ρ‡Π°Ρ‚Ρ‹ ΠΈ Ρ‚. Π΄.), Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ смоТСтС ΠΏΡ€ΠΎΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρƒ людСй, ΡƒΠΆΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π²ΡˆΠΈΡ…ΡΡ с вашСй ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.

НС ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ программистам. Π›ΡŽΠ±ΠΎΠΉ программист Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ своСй ΠΆΠΈΠ·Π½ΠΈ Π·Π°Ρ…ΠΎΠ΄ΠΈΠ» Π² Ρ‚ΡƒΠΏΠΈΠΊ; ΠΌΠ½ΠΎΠ³ΠΈΠ΅ программисты ΠΎΡ…ΠΎΡ‚Π½ΠΎ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ систСму. Если Π²Ρ‹ смоТСтС Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ, скорСС всСго, ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚. Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΠΈ, сообщСство AsmX Π΄ΠΎΠ±Ρ€ΠΎΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ относится ΠΊ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ.

AsmX Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° любом соврСмСнном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΈ Ссли Ρƒ вас всС ΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ - ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ. На ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠΎΡ€Π°Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ вСсьма нСприятными, Π½ΠΎ с Π½ΠΈΠΌΠΈ стоит Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Когда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° hello_world.asmX Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π²Ρ‹ смоТСтС ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ AsmX, Π° ваша Ρ€Π°Π±ΠΎΡ‚Π° станСт Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ интСрСсной ΠΈ принСсСт большС ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΡ.

УпраТнСния

  1. ΠžΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ Π² Hello World: ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданный Ρ„Π°ΠΉΠ»Β hello_world.asmX. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π³Π΄Π΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΡƒ ΠΈ снова запуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Удастся Π»ΠΈ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΡƒ, которая ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкС? ΠŸΠΎΠΉΠΌΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ смысл сообщСния ΠΎΠ± ошибкС? Удастся Π»ΠΈ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΡƒ, которая Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкС? Как Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π° этот Ρ€Π°Π· Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ обходится Π±Π΅Π· ошибки?
  2. БСсконСчноС мастСрство: Ссли Π±Ρ‹ Π²Ρ‹ Π±Ρ‹Π»ΠΈ программистом с Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ возмоТностями, Π·Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π²Ρ‹ Π±Ρ‹ взялись? Π’Ρ‹ сСйчас ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Если Ρƒ вас имССтся ясноС прСдставлСниС ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ, Π²Ρ‹ смоТСтС Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ свои Π½ΠΎΠ²Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅; ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π°Π±Ρ€ΠΎΡΠ°Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ описания Ρ‚Π΅Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Π°ΠΌ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΏΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π—Π°Π²Π΅Π΄ΠΈΡ‚Π΅ Β«Π±Π»ΠΎΠΊΠ½ΠΎΡ‚ ΠΈΠ΄Π΅ΠΉΒ», ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ смоТСтС ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Ρƒ ΠΌΠΈΠ½ΡƒΡ‚ ΠΈ ΡΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ описания Ρ‚Ρ€Π΅Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ.

Π˜Ρ‚ΠΎΠ³ΠΈ

Π’ этой Π³Π»Π°Π²Π΅ Π²Ρ‹ познакомились с языком AsmX ΠΈ установили ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ AsmX Π² своСй систСмС, Ссли ΠΎΠ½Π° Π½Π΅ Π±Ρ‹Π»Π° установлСна Ρ€Π°Π½Π΅Π΅. Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ установили тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ ΠΊΠΎΠ΄ΠΎΠΌ AsmX. Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π° AsmX Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ сСансС ΠΈ запустили свою ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒΒ hello_world.asmX. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΏΠΎΠΏΡƒΡ‚Π½ΠΎ Π²Ρ‹ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ΡƒΠ·Π½Π°Π»ΠΈ ΠΎ поискС ΠΈ исправлСнии ошибок.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ структуры Π΄Π°Π½Π½Ρ‹Ρ…, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… AsmX. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ AsmX.

Π“Π»Π°Π²Π° 2. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ простыС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ этой Π³Π»Π°Π²Π΅ прСдставлСны Ρ€Π°Π·Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² своих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… AsmX. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… Π² своих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ….

Π§Ρ‚ΠΎ происходит ΠΏΡ€ΠΈ запускС hello_world.asmX

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Π΅Π΅ разбСрСмся с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ AsmX ΠΏΡ€ΠΈ запускС hello_world.asmX. ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, Π΄Π°ΠΆΠ΅ для Ρ‚Π°ΠΊΠΎΠΉ простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ AsmX выполняСт ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ:

hello_world.asmX:

@call print("Hello world!");

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ этого ΠΊΠΎΠ΄Π° выводится слСдущий тСкст:

Hello world!

Буффикс .asmX Π² ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° hello_world.asmX ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» являСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ AsmX.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ hello_world.asmX. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ строку Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΡƒΡŽ строку:

hello_world.asmX

@set message String "Hello world!";
@call print(set::message);

ЗапуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ посмотритС, Ρ‡Ρ‚ΠΎ получится. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΡƒΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Hello world!

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ добавилась пСрСмСнная с ΠΈΠΌΠ΅Π½Π΅ΠΌ message. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ хранится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, связанныС с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’ нашСм случаС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ являСтся тСкст "Hello world!".

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ услоТняСт Π·Π°Π΄Π°Ρ‡Ρƒ AsmX. Π’ΠΎ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки ΠΎΠ½ связываСт тСкст "Hello world!" с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ message. А ΠΊΠΎΠ³Π΄Π° AsmX добСрСтся Π΄ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строки, ΠΎΠ½ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, связанноС с ΠΈΠΌΠ΅Π½Π΅ΠΌ message.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠΌ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ hello_world.asmX, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅ сообщСниС. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² hello_world.asmX, Π΅Ρ‰Ρ‘ строку которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ сообщСниС.

@set message String "Hello world!";
@call print(set::message);
@call print("Hello AsmX Crash Course world!");

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ hello_world.asmX Π½Π° экранС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π΄Π²Π΅ строки:

Hello world!
Hello AsmX Crash Course world!

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² своСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. AsmX постоянно отслСТиваСт Π΅Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС.

Π’Ρ‹Π±ΠΎΡ€ ΠΈΠΌΠ΅Π½ ΠΈ использованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π² языкС AsmX Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ. ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ» ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ всСго лишь ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ понятный ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄.

  • ИмСна ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π±ΡƒΠΊΠ², Ρ†ΠΈΡ„Ρ€ ΠΈ символов подчСркивания. Они ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Π±ΡƒΠΊΠ²Ρ‹ ΠΈΠ»ΠΈ символа подчСркивания, Π½ΠΎ Π½Π΅ с Ρ†ΠΈΡ„Ρ€Ρ‹. НапримСр, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ имя message_1, Π½ΠΎ Π½Π΅ с 1_message.
  • ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹, Π° для раздСлСния слов Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ символы подчСркивания. НапримСр имя first_message допустимо, Π° имя first message Π²Ρ‹Π·ΠΎΠ²Ρ‘Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.
  • Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΏΡ€ΠΈ использовании строчной Π±ΡƒΠΊΠ²Ρ‹ l ΠΈ прописной Π±ΡƒΠΊΠ²Ρ‹ o, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Ρ†ΠΈΡ„Ρ€Ρ‹ 1 ΠΈ 0.

Π’Ρ‹ Π½Π΅ сразу Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, особСнно ΠΊΠΎΠ³Π΄Π° ваши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ станут слоТнСС ΠΈ интСрСсными.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ - Пока ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, записанными Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ (для AsmX v3)

Если Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΡƒΡ‡Π°Π΅Ρ‚Π΅ AsmX, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот ΠΏΡƒΠ½ΠΊΡ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ этот Ρ€Π°Π·Π΄Π΅Π» ΠΏΠΎΠ»Π΅Π·Π΅Π½, Ρ‚Π΅ΠΌ ΠΊΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚ AsmX Π±Π°Π·Ρƒ ΠΈΠ»ΠΈ скачал AsmX v3 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅ позднюю Π²Π΅Ρ€ΡΠΈΡŽ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ этому Ρ€Π°Π·Π΄Π΅Π»Ρƒ ΠΊΠΎΠ³Π΄Π° Π½Π°Π±Π΅Ρ€Ρ‘Ρ‚Π΅ΡΡŒ ΠΎΠΏΡ‹Ρ‚Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ AsmX.

  • Ссли Π²Ρ‹ создаётС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² AsmX v3, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ @mut (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ инструкции Π±Ρ‹Π»ΠΎ сокращСно ΠΎΡ‚ английского слова mutable (ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹ΠΉ, измСняСмый)).
  • Если Π²Ρ‹ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ программист ΠΈ Π·Π½Π°Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ константы, ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… Π² AsmX ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, Ρ‚ΠΎ вмСсто @define ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ @immut.
  • ВмСсто @set ΠΈ.@define Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ написания @mut / @immut (mutable / immutable).

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ задания

  • ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² hello_world.asmX Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ "Hello world!" Π½Π° свой тСкст. ΠŸΠ΅Ρ€Π΅Π΄ этим Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ тСкст ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ Π½Π΅ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄Π΅Π»Π°ΡŽΡ‚ с Π½ΠΈΠΌΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ основныС разновидности Π΄Π°Π½Π½Ρ‹Ρ…. НачнСм со строковых Π΄Π°Π½Π½Ρ‹Ρ…. На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд строки достаточно просты, Π½ΠΎ с Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈΠ· сСбя ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. МоТно Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ:

"String"
'String'

Вабуляция ΠΈ Ρ€Π°Π·Ρ€Ρ‹Π²Ρ‹ строк

БущСствуСт Ρ‚Π΅Ρ€ΠΌΠΈΠ½ whitespace ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚: Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Π½Ρ‹Π΅ символы, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, табуляции ΠΈ символы ΠΊΠΎΠ½Ρ†Π° строки.

Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² тСкст ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ табуляции ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ комбинация символов \t, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅:

@call print('AsmX')
AsmX

@call print('\tAsmX')
  AsmX

Бписок whitespace:

code name
\n The newline character
\r The carriage return character
\t The horizontal tab character
\v The vertical tab character
\f The form feed character

Числа

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ числа ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… для вычислСний, Π²Ρ‹Π²ΠΎΠ΄Π° счёта ΠΈΠ³Ρ€Ρ‹, прСдставлСния Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’ AsmX ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ нСссколько числовых Π΄Π°Π½Π½Ρ‹Ρ…, для Π½Π°Ρ‡Π° осмотрм, ΠΊΠ°ΠΊ AsmX Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ с Π½ΠΈΠΌΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ мСньшС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Π¦Π΅Π»Ρ‹Π΅ числа (int)

Π’ AsmX с Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слоТСния, вычитания, умноТСния ΠΈ дСлСния.

@add 9 9
@sub 10 5
@mul 10 2
@div 45 9

@add (add- addition) - слоТСниС чисСл
@sub (sub - substraction) - Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ чисСл
@mul (mul - multiplication) - ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ чисСл
@div (div - division) - Π΄Π΅Π»Π΅Π½ΠΈΠ΅ чисСл

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

18
5
20
5

Для Π²Ρ‹Π²ΠΎΠ΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΎ дСйствия вычислСния Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ:

@call print($ret);

Числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (float)

Π’ AsmX числа, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, Π½Π°Π·Π²Π°ΡŽΡ‚ΡΡ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ просто ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌΠΈ значСниями.

@add 9.8 9.2

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

19

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ подчСркивания Π² числах

Π’ записи Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΌΠΎΠΆΠ½ΠΎ Π³Ρ€ΡƒΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ символов подчСркивания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ числа Π»ΡƒΡ‡ΡˆΠ΅ Ρ‡ΠΈΡ‚Π°Π»ΠΈΡΡŒ:

@add 10_000 78;
@call print(10078); # 10_000 -> 10000

C Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния AsmX 1000 Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ отличаСтся ΠΎΡ‚ записи 10_00. Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ записи Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ для Ρ†Π΅Π»Ρ‹Ρ… чисСл Π² AsmX Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ вСрсии ΠΈ ΠΏΠΎΠ·Π΄Π½Π΅Π΅.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π° прСдставляСт собой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ остаётся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ. Π’ AsmX ΠΈΠΌΠ΅Π½Π° констант принято Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС:

@define MIN_SCORE 100

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, любом языкС программирования. По ΠΌΠ΅Ρ€Π΅ роста ΠΎΠ±ΡŠΡ‘ΠΌΠ° ΠΈ слоТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ слСдуСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ дСйствия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΠ»ΠΈ ΡΡƒΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π˜Ρ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ своСго Ρ€ΠΎΠ΄Π° Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ, написанныС Π½Π° понятном языкС.

Как ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Π’ языкС AsmX ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ коммСнтария являСтся символ Ρ€Π΅ΡˆΡ‘Ρ‚ΠΊΠΈ (#). ASmX ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ всС символы, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с символа # Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

# Say hello to everyone.
@call print("Hello AsmX people!");

AsmX ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку ΠΈ выполняСт Π²Ρ‚ΠΎΡ€ΡƒΡŽ:

Hello AsmX people!

КакиС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ слСдуСт ΠΏΠΈΡΠ°Ρ‚ΡŒ

Главная Π·Π°Π΄Π°Ρ‡Π° коммСнатрия - ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°Ρ‚ΡŒ ваш ΠΊΠΎΠ΄ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π’ Ρ€Π°Π·Π³Π°Ρ€Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ всС Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Но Ссли Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя, сокрСС всСго, Π²Ρ‹ Π·Π°Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, всСгда ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Π² Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π΄Π°Π΄ΡƒΡ‚ Π²Π°ΠΌ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

УпраТнСния

  1. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²: Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π²Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· написанных Π²Π°ΠΌΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ‹ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ. Если Π²Ρ‹ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² коммСнтариях, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»ΠΈ слишком просты, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ своё имя ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄Π°Ρ‚Ρƒ Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠΎΠ΄Π°. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ΄Π½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с описаниСм Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

Π˜Ρ‚ΠΎΠ³ΠΈ

  • Π’ этой Π³Π»Π°Π²Π΅ Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ.
  • Π’Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ошибки Π² ΠΈΠΌΠ΅Π½Π°Ρ….
  • Π’Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ строки, ΠΊΠ°ΠΊ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ…. ΠœΡ‹ рассмотрСли способы Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ оформлСния Π²Ρ‹Π²ΠΎΠ΄Π° с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ пропусков.
  • Π’Ρ‹ Π½Π°Ρ‡Π°Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ ΠΈ числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.
  • Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ AsmX.

Π“Π»Π°Π²Π° 3.