Шістнадцятковий код. Переклад десяткових чисел на шістнадцяткове - Assembler Переклад з десяткової системи на шістнадцяткову асемблер

1. Введення

2. Загальні відомості про мову асемблер

3. Програмна частина

· Опис програми

· Етапи розробки асемблерних програм ___

· Програма переведення десяткового числа до двійкової та шістнадцяткової системи числення

4. Список літератури


Вступ

Кошти, що забезпечують функціонування обчислювальної техніки поділяються на 2 частини: апаратну та програмну.

До складу апаратної частини входять такі пристрої як:

· центральний процесор;

· оперативна пам'ять;

· периферійні пристрої;

Усі перелічені пристрої побудовані на інтегральних схемах (ІВ).

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

Прикладом ІС є схеми цифрових пристроїв: регістри, суматори, напівсуматори, лічильники, шифратори, дешифратори і т.д.

До програмної частини відносяться: сукупність програм і правил з усією документацією, що до них відноситься, що дозволяє використовувати обчислювальну машину для вирішення різних завдань.

Програма - закінчена послідовність машинних команд чи операторів мови програмування, визначальна послідовність дій на вирішення деякої задачі.

Завданням у нашій роботі є: перетворення трирозрядного десяткового числа на двійкову та шістнадцяткову системи числення. Завдання це реалізується за допомогою мови асемблера. У цій низькорівневій мові використовуються символічні (мнемонічні) позначення машинних команд та адрес. Перевагою цієї мови є: по-перше, те, що програми, написані на ньому, вимагають значно меншого обсягу пам'яті; по-друге, знання цієї мови та результуючого машинного коду дає уявлення архітектури машини, що навряд чи забезпечується при роботі мовою програмування високого рівня.


Загальні відомості про мову асемблера

Символічна мова асемблера дозволяє значною мірою усунути недоліки програмування машинною мовою.

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

Символічні імена, введені під час програмування мовою асемблера, зазвичай відбивають семантику програми, а абревіатура команд – їх основну функцію. Наприклад: PARAM - параметр, TABLE - таблиця, MASK - маска, ADD - додавання, SUB - віднімання і т.д. п. Такі імена легко запам'ятовуються програмістом.

Для програмування мовою асемблера необхідно мати складні інструментальні засоби, ніж при програмуванні машинною мовою: потрібні обчислювальні комплекси на базі мікро - ЕОМ або ПЕОМ з комплектом периферійних пристроїв (алфавітно-цифрова клавіатура, символьний дисплей, НГМД та друкувальний пристрій), а також резидент чи крос-системи програмування для необхідних типів мікропроцесорів. Мова асемблера дозволяє ефективно писати та налагоджувати значно складніші програми, ніж машинна мова (до 1 – 4 Кбайт).

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

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

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

За допомогою мови асемблера програміст може задати такі параметри:

мнемоніку (символічне ім'я) кожної команди машинної мови мікропроцесора;

стандартний формат для рядків програми, що описується на асемблері;

формат для вказівки різних способів адресації та варіантів команд;

формат для вказівки символьних констант і констант цілого типу в різних системах числення;

псевдокоманди, що керують процесом асемблювання (трансляції) програми.

На мові асемблера програма записується рядково, т. е. кожної команди відводиться один рядок.

Для мікро – ЕОМ, побудованих з урахуванням найпоширеніших типів мікропроцесорів, може бути кілька варіантів мови асемблера, проте практичне поширення зазвичай має одне – це званий стандартний мову асемблера. Надалі ми розглядатимемо саме стандартні мови асемблера.

Кожен рядок написаної мовою асемблера програми містить чотири поля:

Мітка КОД ОПЕРАНД КОМЕНТАР

Поле МІТКА не є обов'язковим, воно позначає адресу того осередку пам'яті, в якій розміщений перший байт зазначеної команди. Мітки використовуються як адреси переходу команд передачі управління, і завдяки наявності програміст може не оперувати абсолютними адресами, а використовувати символічні адреси, що значно зручніше. Мітка може мати довжину від одного до шести символів, першим з яких має бути буква. Багато асемблерах допускається використання міток будь-якої довжини, але розпізнаються лише перші шість символів. Мітка не повинна містити пробілів та знаків пунктуації. У деяких асемблерах за останнім символом мітки має бути двокрапка.

У полі мітки кожна мітка має бути визначена лише один раз, але посилань до неї можна використовувати стільки разів, скільки це необхідно. В іншому випадку асемблер видасть діагностичне повідомлення про багаторазово визначену мітку.

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

Наприклад:

MOV (MOVE) -передати, переслати

ADD (ADDITION) -додавання

SUB (SUBSTRACT) -віднімання

LDA (LOAD DIRECT

ACCUMULATOR) -безпосереднє завантаження

INR (INSCREMENT акумулятора)

REGISTER) -інкремент регістру

REGISTER) декремент регістру

Мнемоніки команд є ключовими словами асемблера, і якщо вони не входять до множини допустимих мнемонік, то асемблер видає повідомлення про недійсну команду.

Поле ОПЕРАНД визначається зазвичай, залежно від поля коду команди. Воно може містити або один, або кілька операндів, розділених комами, або не містити жодного операнда для тих команд, які оперують внутрішніми робочими регістрами.

Операнд є виразом, що містить мнемонічне позначення, константи і оператори.

Найпростіші операнди містять одне мнемонічне позначення чи одну константу.

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

Константи можуть бути представлені в різних системах числення.

Програмна частина

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

У цій роботі ми розглянемо один із способів переведення числа з десяткової системи обчислення до двійкової та шістнадцяткової за допомогою мови Асемблера. Перш ніж створювати програму, детально розглянемо, які кроки для цього треба зробити, тобто напишемо алгоритм вирішення нашого завдання. Для того щоб комп'ютер міг обробляти дані, ці дані йому треба ввести, а значить, першим кроком у вирішенні нашого завдання буде введення числа. Другим кроком у роботі буде виведення повідомлення про введене число. Після цього ми переводимо десяткове число у двійкову систему та виводимо наше число у двійковому еквіваленті на екран. Наступним кроком буде переведення числа в шістнадцятковий еквівалент і останній крок це цикл, який дозволяє продовжити введення нового десяткового числа. Тепер зберемо всі пункти разом:

1. Введення числа з клавіатури.

2. Виведення повідомлення про введене число.

3. Переведення числа до двійкового еквівалента.

4. Виведення на екран двійкового числа.

5. Переведення числа до шістнадцяткової системи.

6. Виведення на екран шістнадцяткового числа.

7. Цикл (продовжимо?) якщо ТАК то пункт 1, інакше пункт 8

8. Вихід із програми.

Це і є алгоритм програми природною мовою.

етапи розробки асемблерних програм

1. Постановка задачі. Включає змістовний опис завдання і розробку алгоритму.

2. Розробка тексту програм.

3. Введення тексту на комп'ютер. Текст програми в мнемокодах вводиться в ЕОМ за допомогою будь-якого текстового редактора. Так само при цьому створюється текстовий файл з розширенням * ASM.

4. Компіляція чи асемблювання. Здійснюється перетворення текстового файлу з розширенням *.ASM в об'єктний файл, що містить програму в машинному коді з розширенням *.OBJ. Також на цьому етапі може бути створений лістинг програми. Файл з розширенням *.LST, в якому міститься основна інформація про програму, а також Файл перехресних посилань з розширенням *.CRF. На цьому етапі відбувається проварювання тексту програм на помилки. Асемблювання здійснюється за допомогою програми транслятора TASM.EXE (ASM.EXE - в асемблері, MASM.EXE - в макроассемблері). TASM [опції] *.ASM [,] - команда до виконання трансляції. Якщо в команді вказано одну кому, то Файл лістингу Формується. У TASM є дві опції: /ZI та /N. Вони викликаються: ТАSМ.

5. Компонування. На цьому етапі створюється програма, що переміщається, здатна завантажуватися а будь-яку область пам'яті. Зберігається у файлі з розширенням *.ЕХЕ або *.СОМ. Для цього використовується TLINK.exe (для макроассемблера LINK.EXE). Є опції: /Т та /X.

6. Виконання та налагодження (DEBUG).

7. Занесення машинного коду програми до ПЗП (може бути відсутнім) Тепер ми подивимося блок-схему нашої програми, тобто впорядковані дії.


; ПРОГРАМА ПЕРЕКЛАДУ ДЕСЯТИЧНОГО ЧИСЛА В; ДВОЙКОВУ І ШІСТНАДЦЯТЕРІЧНУ СИСТЕМИ; ЗЛІЧЕННЯ

;Сегмент даних

;Таблиця перетворення"цифра - ASCII-код

tabl_ascii db "0123456789abcdef"

;____________________________________________________________________

;Таблиця перетворення“ASCII-код - цифра

db 0,1,2,3,4,5,6,7,8,9

db 0ah, 0bh, 0ch, 0dh, 0eh, 0fh

;____________________________________________________________________

;Резервація та ініціалізація змінних у пам'яті

x_ascii db 20h dup(?)

t1 db 0dh,0ah,"Введіть число та натисніть Enter"

db 0dh, 0ah, "$"

t2 db 0dh,0ah,"Ви ввели число",0dh,0ah "$"

t3 db 0dh, 0ah, "У двійковій системі воно виглядає так"

t4 db 0dh, 0ah, "У шістнадцятковій так"

db 0dh, 0ah, "$"

buf db 16 dup(?),"$"

t5 db 0dh,0ah, "Продовжуватимемо процес? (Y/N)?"

;____________________________________________________________________

; Сегмент кодів

;Головна процедура

d: lea dx, t1

;Процедура введення десяткового числа

;Процедура виведення на екран десяткового числа

r1: mov dl,

; Переведення числа (десяткового) у двійкову систему

v1: mul si

;Процедура виведення на екран двійкового числа

; Процедура переведення числа (двійкового) до шістнадцяткової

; та виведення його на екран

Примітки :

Нижче привідини команди використовувалися у програмі:

sub- Двійкове віднімання. Віднімається з першого операнда вміст другого операнда

Мнемоніка: sub< операнд 1>,< операнд 2>

call- Виклик процедури. Передає управління процедурі адреса якої задана операндом, після завершення процедури, виконання продовжується командою наступної за командою call

Мнемоніка: call< ім'я процедури>

ret- Повернення до процедури

shr- Зрушити логічно вправо

xor- що виключає АБО

Мнемоніка: xor<операнд 1>,<операнд 2>

lea- Завантажити ЕА

Мнемоніка: lea reg,<операнд>

push- Включити в stack

Мнемоніка: push< операнд>

pop- Витягти з stack

Мнемоніка: pop<операнд>

mov– переслати

Мнемоніка: mov< приймач>,<источник>

inc- Збільшення на 1

Мнемоніка: inc<операнд>

dec- Зменшення на 1

Мнемоніка: dec< операнд>

stosb– пересилає з'єднання регістру al або ax, на який вказує регістр di

loop– команда організації циклу з лічильником, також короткі переходи (127б) команда зменшує значення лічильника cx, без зміни будь-яких прапорів, якщо з'єднання cx >0, здійснюється перехід на задану мітку, інакше цикл завершується.

Мнемоніка: loop< мітка>

.CODE– відкриває сегмент коду

. DATA- Відкриває сегмент даних

.STACK N-Визначає сегмент stack (а); дерективи закриття сегментів у разі не використовуються; N – показує розмір stack(a) у байтах

Примітка : при використанні таких деректив регістр ds ініціалізується таким чином: mov ax,@data

mov ds,ax

assume у цьому випадку не використовується

Список літератури

1. "Я мова асемблера для IBM PC і програмування" Вища школа 1992 року.

2. "Персональний комп'ютер Фірми IBM та операційна система MS-DOS" Радіо та зв'язок 1991.

3. Ілюшечкін В.М., Костін А.Є, Хохлов М.М. "Системне програмне забезпечення", М., "Вища школа", 1987 р.

4. Нортон П., Соухе Д. "Мова асемблера для IBM PC", М., Видавництво "Комп'ютер", 1993

Шістнадцяткова система числення(також — шістнадцятковий код) є позиційною системою числення з цілою чисельною підставою 16. Іноді в літературі також використовується термін hex (вимовляється «хекс», скорочення від англ. hexadecimal). Цифрами даної системи числення прийнято використовувати арабські цифри 0-9, і навіть перші символи латинського алфавіту A-F. Літери відповідають наступним десятковим значенням:

  • * A -10;
  • * B -11;
  • * C -12;
  • * D -13;
  • * E - 14;
  • * F - 15.

Таким чином, десять арабських цифр разом із шістьма латинськими літерами і становлять шістнадцять цифр системи.

До речі, на нашому сайті ви можете перекласти будь-який текст у десятковий, шістнадцятковий, двійковий код, скориставшись Калькулятором кодів онлайн.

Застосування. Шістнадцятковий кодшироко застосовується в низькорівневому програмуванні, а також різних комп'ютерних довідкових документах. Популярність системи обґрунтована архітектурними рішеннями сучасних комп'ютерів: у них як мінімальна одиниця інформації встановлено байт (що складається з восьми біт) — а значення байта зручно записувати за допомогою двох шістнадцяткових цифр. Значення байта може ранжуватися з #00 до #FF (від 0 до 255 у десятковому записі) - іншими словами, використовуючи шістнадцятковий код, можна записати будь-який стан байта, при цьому не залишається «зайвих» цифр, що не використовуються в записі.

У кодуванні Юнікоддля запису номера символу використовується чотири шістнадцяткові цифри. Запис кольору RGB (Red, Green, Blue — червоний, зелений, синій) також часто використовує шістнадцятковий код (наприклад, #FF0000 — запис яскраво-червоного кольору).

Спосіб запису шістнадцяткового коду.

Математичний спосіб запису. У математичному записі основу системи записують у десятковому вигляді у нижньому індексі праворуч від числа. Десятковий запис числа 3032 можна записати як 3032 10 , у шістнадцятковій системі це число матиме запис BD8 16 .

У синтаксисі мов програмування. Синтаксис різних мов програмування по-різному встановлює формат запису числа, який використовує шістнадцятковий код:

* У синтаксисі деяких різновидів мови асемблера використовується латинська літера "h", яка ставиться праворуч від числа, наприклад: 20Dh. Якщо число починається з латинської літери, перед ним ставиться нуль, наприклад: 0A0Bh. Це зроблено для того, щоб відрізняти від констант значення, які використовують шістнадцятковий код;

* В інших різновидах асемблера, а також у Pascal (і його різновидах, таких як Delphi) та деяких діалектах Basic, застосовують префікс «$»: $ A15;

* У мові розмітки HTML, а також у каскадних файлах CSS, для вказівки кольору у форматі RGB із шістнадцятковою системою запису, використовується префікс «#»: #00DC00.

Як перевести шістнадцятковий код в іншу систему?

Переведення з шістнадцяткової системи до десяткової.Для здійснення операції переведення з шістнадцяткової системи в десяткову потрібно подати вихідне число як суму творів цифр у розрядах шістнадцяткового числа на ступінь підстави.

Двійкова СС

шістнадцяткова СС

Наприклад, потрібно виконати переклад шістнадцяткового числа A14: у ньому три цифри. Використовуючи правило, запишемо його у вигляді суми ступенів із підставою 16:

A14 16 = 10.16 2 + 1.16 1 + 4.16 0 = 10.256 + 1.16 + 4.1 = 2560 + 16 + 4 = 2580 10

Переклад чисел із двійкової до шістнадцяткової системи і навпаки.

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

Таблиця зошит для перекладу.

Для переведення з шістнадцяткової системи до двійкової, необхідно виконати зворотну операцію: виконати заміну кожної цифри на зошит з таблиці.

Двійкова СС

Вісімкова СС

приклад переведення з шістнадцяткової системи до двійкової: A5E 16 = 1010 0101 1110 = 101001011110 2

приклад переведення з двійкової системи до шістнадцяткової: 111100111 2 = 0001 1110 0111 = 1E7 16

У цьому прикладі кількість цифр у вихідному двійковому числі не була рівним чотирьом (9), тому було додано незначні нулі — загальна кількість цифр стала 12.

Автоматичний переклад. Швидкий переклад із шістнадцяткової системи числення в одну з трьох популярних систем (двійкову, вісімкову та десяткову), як і зворотний переклад, можна виконати, використовуючи стандартний калькулятор з комплекту постачання Windows. Відкрийте калькулятор, виберіть меню Вигляд -> Програміст. У цьому режимі можна встановлювати систему числення, що використовується в даний момент (див. меню зліва: Hex, Dec, Oct, Bin). При цьому зміна поточної системи числення автоматично робить переклад.

Вітаю! Є такий рядок:

Var BD 2,2,3,3,4,4; 223344 десяткове 6-ти значне число в розпакованому форматі з підвищеною точністю (ASCII формат)

Як це число 223344 перекласти на шістнадцяткове число? Я знайшов такий код, який переводить з однозначного та двозначного десяткового числа до шістнадцятизначного:

; Вар. 17. Зад. 1. Написати підпрограму для перетворення деякого десяткового масиву; ASCII байтів. масив BCD байтів. За допомогою цієї підпрограми обробити два масиви; Для передачі параметрів використовувати стек. Name Program; Опис констант;Опис змінних Data segment x1 db 2h db 1h db 3h db 1h db 4h db 1h ; числа в ASCII-форматі y1 db 3 dup(?); масив в BCD-форматі x2 db 8h; 98 db 9h db 5h; 95 db 9h db 7h; 87 db 8h db 2h; масив десятич. ASCII-байтів Y2 db 4 dup (?); масив десятич. BCD-байтів Data ends Stack SEGMENT DW 16 dup(?) StkTOp LABEL word Stack ends Code SEGMENT ASSUME CS: Code, DS: Data, ES: Data, SS: Stack ; Тут описуються підпрограми abc proc push bp mov bp, sp; прив'язка до верхівки стека mov cx, ; читання параметрів зі стека (у чисел) mov di, ; адресу змінної Y1 mov si, ; адреса змінної Х1 M1: mov al, +1; завантажуємо перше число ASCII-форматі shl ax, 1 ; зсуваємо на 4 розряди в право shl ax, 1 shl ax, 1 shl ax, 1 or al,; відновлюємо число яке запам'ятали mov, al; записуємо число в BCD-форматі inc si; переходимо на інше число inc si inc di; модифікуємо адресу BCD - числа dec cx; зменшуємо кількість чисел jnz M1 ; якщо вони не скінчилися, то йдемо на M1 pop BP ret 6 abc endp ; Основна програма Start: mov AX, Data mov DS, AX mov ES, AX mov Ax, Stack mov SS, AX mov SP, offset StkTop; завантажуємо параметри в стек за умовою задачі mov ax, offset x1; завантажуємо адресу першого масиву push ax mov ax, offset Y1; завантажуємо адресу результату push ax mov ax, 3; у чисел push ax call abc ; виклик підпрограми mov ax, offset x2; завантажуємо адресу другого масиву push ax mov ax, offset Y2; завантажуємо адресу результату push ax mov ax, 4; у чисел push ax call abc ; виклик підпрограми code ends end start

Ця стаття здебільшого для початківців. Якщо ви добре знаєтеся на системах числення, можете звернути увагу лише на особливості синтаксису асемблера FASM в кінці статті.

Насправді процесор працює тільки з двійковими числами, що складаються з одиниць та нулів 🙂 У вигляді двійкових чисел зберігаються та обробляються всі дані та команди будь-якої програми. Однак, двійковий запис чисел занадто громіздкий і незручний для людини, тому в програмах на асемблері використовуються й інші системи числення: десятковий, шістнадцятковий і вісімковий.

Трохи теорії

Насамперед розберемося, у чому різницю між системами числення. Будь-яке десяткове число можна представити у такому вигляді:

123 10 = 1 · 10 2 + 2 · 10 1 + 3 · 10 0

Індекс унизу означає, що це десяткове число. Цифра кожного розряду множиться на 10 ступеня, що дорівнює номеру розряду, якщо рахувати з нуля праворуч наліво. У більш загальному вигляді:

abc r= a · r 2 + b · r 1 + c· r 0 ,

де a, b і с – якісь цифри, а r – основа системи числення. Для десяткової системи r= 10, для двійкової - r= 2, для троїчної r= 3 і т.д. Наприклад, те саме число в інших системах:

443 5 = 4 · 5 2 + 4 · 5 1 + 3 · 5 0 = 4 · 25 + 4 · 5 + 3 · 1 = 123 10 (п'ятіркова система)

173 8 = 1 · 8 2 + 7 · 8 1 + 3 · 8 0 = 1 · 64 + 7 · 8 + 3 · 1 = 123 10 (вісімкова система)

1111011 2 = 1 · 2 6 + 1 · 2 5 + 1 · 2 4 + 1 · 2 3 + 0 · 2 2 + 1 · 2 1 + 1 · 2 0 = 1 · 64 + 1 · 32 + 1 · 16 + 1 · 8 + 0 · 4 + 1 · 2 + 1 · 1 = 123 10 (двійкова система)

Шістнадцяткова система

У шістнадцятковій системі для позначення цифр більше 9 використовуються літери A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. Наприклад:

C7 16 = 12 · 16 1 + 7 · 16 0 = 12 · 16 + 7 · 1 = 199 10

Зручність шістнадцяткової системи в тому, що в неї дуже легко можна перекладати двійкові числа (і у зворотний бік теж). Чотири розряди двійкового числа (зошити) є одним розрядом шістнадцяткового. Для перекладу достатньо розбити число на групи по 4 біти та замінити кожен зошит відповідною шістнадцятковою цифрою.

Двійкова
зошит
Шістнадцяткова
цифра
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

Для запису одного байта потрібно всього 2 шістнадцяткові цифри:

0101 1011 2 = 5B 16

0110 0000 2 = 60 16

1111 1111 2 = FF 16

Вісімкова система

Вісімкова система також зручна для представлення двійкових чисел, хоча вона використовується набагато рідше, ніж шістнадцяткова. Для швидкого перекладу треба розбити двійкове число на групи по 3 розряди (триплети чи тріади).

Двійкова
тріада
Вісімкова
цифра
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7

Наприклад: 0011101012 = 1658

Синтаксис асемблера FASM

За замовчуванням число в програмі сприймається асемблером як десяткове. Щоб позначити двійкове число, необхідно до нього наприкінці додати символ 'b'. Восьмеричне число позначається аналогічно за допомогою символу 'o'. Для запису шістнадцяткового числа FASM підтримує 3 форми запису:

  • перед числом записуються символи '0x'(як C/C++);
  • перед числом записується символ ’$’ (як у Pascal);
  • після числа записується символ 'h'. Якщо шістнадцяткове число починається з літери, необхідно додати спочатку нуль (інакше незрозуміло, число це або ім'я мітки).

Цей синтаксис використовується як для оголошення даних, так і в командах. Ось приклади запису чисел у всіх чотирьох системах:

mov ax, 537 ;Десятична система mov bl , 11010001b ;Двійкова система mov ch, 57o ;Вісімкова система mov dl , $ C2 ; \ mov si , 0x013A ; \ mov ah , 18h ; / Шістнадцяткова система mov al , 0FFh ;/ mov al , FFh ;Помилка!

mov ax,537 ;Десятична система mov bl,11010001b ;Двійкова система mov ch,57o ;Вісімкова система mov dl,$C2 ;\ mov si,0x013A ; \ mov ah, 18h; / Шістнадцяткова система mov al, 0FFh; / mov al, FFh; Помилка!