Написание контрольных, курсовых, дипломных работ, выполнение задач, тестов, бизнес-планов
  • Не нашли подходящий заказ?
    Заказать в 1 клик:  /contactus
  •  
Главная \ Методичні вказівки \ Системне программування

Системне программування

« Назад

Системне программування 28.04.2014 15:46

Технічне завдання

На виконання курсової роботи по курсу

"Системне программування"

 

  1. Тема курсової роботи - "Розробка транслятора програм на мові Асемблера. Варіант ХХХ."
  2. Загальні вимоги.

2.1.    Вхідні дані транслятора - текстовий файл з довільною програмою на мові Асемблера, складеною в відповідності з обмеженнями, які задані в варіанті курсової роботи. Для підготовки програми на мові Асемблера використовується, наприклад, стандартний додаток OS Windows Блокнот.

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

2.3.    В результаті роботи транслятора повинен бути створений текстовий файл лістінга (розширення .lst). Формат файла лістінга повинен співпадать з форматом файла лістінга MASM або TASM. Діагностичні повідомлення формуються на українській мові. Таблиця символів в файлі лістінга може бути в довільному форматі.

2.4.    Транслятор повинен аналізувати командний рядок, в якому задаються імена початкового файла та файла лістінга. Всі діагностичні повідомлення, які формуються в файлі лістінга додатково повинні виводитись на екран монітора. Крім того, на екран виводиться загальна кількість помилок, виявлених в початковій програмі.

  1. Вимоги до мови програмування.

3.1.    Рекомендується модулі транслятора створювати на мові Паскаль (Delphi)  або C++, з обов’язковим і обґрунтованим використанням Асемблерних вставок..

  1. Вимоги до оформлення результатів курсової роботи.

4.1.         Для допуску до приймання курсової роботи необхідно підготувати:

4.1.1.  Роздруковану та підписану автором Пояснювальну записку

4.1.2.  Текстовий файл, який містить пояснювальну записку

4.1.3.  Файли початкових модулів транслятора

4.1.4.  Виконавчий файл транслятора

4.1.5.  Файли тестових програм

4.2.         Пояснювальна записка повинна містить:

4.2.1.  Титульну частину з загальноприйнятим вмістом

4.2.2.  Технічне завдання, включаючи номер та зміст варіанту

4.2.3.  Календарний план виконання етапів робіт. ,

4.2.4.  Опис розроблених модулів та підпрограмм

4.2.5.  Додаток 1 з текcтами початкових модулів транслятора

4.2.6.  Додаток 2 з двома тестовими прикладами - один без помилок, другий з типовими помилками

4.2.7.  Додаток 3 з роздруківками файлів лістінга, сформованими розробленим транслятором із початкових файлів з Додатку 2

4.2.8.  Додаток 4 з роздруківками файлів лістінга, сформованими транслятором MASM ( абоTASM) із початкових файлів з Додатку 2

  1. 5.         Етапи виконання роботи

5.1.         Створення на базі варіанту завдання та погодження з викладачем тестового файлу

5.2.         Розробка лексичного аналізатора

5.3.         Розробка програми 1-го перегляду (формування таблиці ідентифікаторів, визначення кількості байт, які будуть формуватись по кожній інструкції)

5.4.         Розробка програми 2-го перегляду (генерування команд та даних, формування файла лістінга)

 

 

  1. 6.         Література

6.1.         Зубков С.В. Assembler. Язык неограниченных возможностей. Приложение 2. Команды Intel 80x86. М.2001

6.2.         Юров В. Assembler. Учебный курс. Урок 5. Синтаксис ассемблера.С-Пб. 2001.

6.3.         Квиттнер П. Задачи Программ Вычисления Результаты. Гл 5. Языки ассемблеров и ассемблеры. М. Мир. 1980.

6.4.         Лебедев В.Н. Введение в системы программирования. (в части организации вычисления выражений). М. Статистика. 1975.

 

  1. 7.         Варіанти завдань

 

Варіант 1.

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END, SEGMENT - без операндів, ENDS, ASSUME

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

16 - розрядні дані та зміщення в сегменті, в випадку 32-розрядних даних та 32 - розрядних зміщень генеруються відповідні префікси зміни розрядності

Адресація операндів пам'яті

Індексна адресація (Val1[si],Val1[bx],Val1[eax],Val1[edi] і т.п.)

Заміна сегментів

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

Машинні команди

Cli

Inc reg

Dec mem

Add reg,reg

Cmp reg,mem

Xor mem,reg

Mov reg,imm

Or mem,imm

Jb

jmp (внутрішньосегментна відносна адресація)

Де reg – 8,16 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8,16 або 32-розрядні безпосередні дані (константи)

 

Варіант 2

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END, SEGMENT - без операндів, ENDS, ASSUME

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

 

Адресація операндів пам'яті

Індексна адресація із множником (Val1[eax*2],Val1[edi*4] і т.п.)

Заміна сегментів

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

Машинні команди

Sti

Dec reg

Inc mem

Cmp reg,reg

Or reg,mem

And mem,reg

Mov reg,imm

Add mem,imm

Jnz

jmp (міжсегментна пряма та посередня адресація)

Де reg – 8  або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm8  або 32-розрядні безпосередні дані (константи)

 

Варіант 3

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END, SEGMENT - без операндів, ENDS, ASSUME

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, в випадку 16-розрядних даних та 16 - розрядних зміщень генеруються відповідні префікси зміни розрядності

Адресація операндів пам'яті

Базова індексна адресація з константним зміщенням ([bx+di+10],[bp+ei+2], [edx+esi+6],[ebx+ecx+12] і т.п.) з оператором визначення типу (ptr) при необхідності

 

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

stc

push reg

mul mem

Mov reg,reg

Xor reg,mem

Cmp mem,reg

Sub reg,imm

Adc mem,imm

Jnc

jmp (внутрішньосегментна відносна адресація)

Де reg – 8,16 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8,16 або 32-розрядні безпосередні дані (константи)

 

 

Варіант 4

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END, SEGMENT - без операндів, ENDS, ASSUME

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

([edx+esi*4+6],[ebx+ecx*2+12] і т.п.) з оператором визначення типу (ptr) при необхідності

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Std

Push reg

Pop mem

Sbb reg,reg

Mov reg,mem

Cmp mem,reg

Adc reg,imm

And mem,imm

Jae

jmp (пряма міжсегментна адресація)

Де reg – 8 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 32-розрядні безпосередні дані (константи)

 

 

 

Варіант 5

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END, SEGMENT - без операндів, ENDS, ASSUME

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

16 - розрядні дані та зміщення в сегменті, в випадку 32-розрядних даних та 32 - розрядних зміщень генеруються відповідні префікси зміни розрядності

Адресація операндів пам'яті

Базова індексна адресація із зміщенням по ідентифікатору (Val1[bp+si],Val1[bx+di],Val1[eax+edx],Val1[esi+edi] і т.п.)

Заміна сегментів

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

Машинні команди

nop

shr reg,1

not mem

Addreg,mem

Sub mem,reg

Jc

jmp (внутрішньосегментна відносна адресація)

Де reg – 8,16 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

 

Варіант 6

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END, SEGMENT - без операндів, ENDS, ASSUME

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів

Базова індексна адресація із множником і з зміщенням по ідентифікатору (Val1[eax+edx*2],Val1[esi+edi*4] і т.п.)

Заміна сегментів

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

Машинні команди

Cld

Neg reg

Push mem

Mov reg,mem

Cmp mem,reg

Jae

jmp (міжсегментна пряма та посередня адресація)

Де reg – 8 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

 

 

Варіант 7

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END, SEGMENT - без операндів, ENDS, ASSUME

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, в випадку 16-розрядних даних та 16 - розрядних зміщень генеруються відповідні префікси зміни розрядності

Адресація операндів пам'яті

Базова індексна адресація ([bx+di],[bp+ei],[edx+esi],[ebx+ecx] і т.п.) з оператором визначення типу (ptr) при необхідності

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

stc

push reg

mul mem

Mov reg,reg

Adc reg,mem

Sub mem,reg

Cmp reg,imm

Xor mem,imm

Jc

jmp (внутрішньосегментна відносна адресація)

Де reg – 8,16 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8,16 або 32-розрядні безпосередні дані (константи)

 

 

Варіант 8

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END, SEGMENT - без операндів, ENDS, ASSUME

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Пряма адресація.

Базова індексна адресація із множником ([edx+esi*4],[ebx+ecx*2] і т.п.) з оператором визначення типу (ptr) при необхідності.

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Std

Push reg

Pop mem

Sbb reg,reg

Mov reg,mem

Cmp mem,reg

Adc reg,imm

And mem,imm

Jna

jmp (міжсегментна пряма та посередня адресація)

Де reg – 8 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 32-розрядні безпосередні дані (константи)

 

 

Варіант 9

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END, SEGMENT - без операндів, ENDS, ASSUME

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

16- розрядні дані та зміщення в сегменті, в випадку 32-розрядних даних та 32 - розрядних зміщень генеруються відповідні префікси зміни розрядності

Адресація операндів пам'яті

Базова адресація ([si+2],[bp+10],[eax+5] і т.п.) з оператором визначення типу (ptr) при необхідності.

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

stc

push reg

mul mem

Mov reg,reg

Xor reg,mem

Sub mem,reg

Cmp reg,imm

Add mem,imm

Jc

jmp (внутрішньосегментна відносна адресація)

Де reg – 8,16 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8,16 або 32-розрядні безпосередні дані (константи)

 

Варіант 10

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END, SEGMENT - без операндів, ENDS, ASSUME

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, в випадку 16-розрядних даних та 16 - розрядних зміщень генеруються відповідні префікси зміни розрядності

Адресація операндів пам'яті

Посередня регістрова адресація ([si],[bx],[eax],[edi] і т.п.) та посередня регістрова з множником ([esi*4], [eax*2] і т.п.  ), з оператором визначення типу (ptr) при необхідності.

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

stc

pop reg

mul mem

Mov reg,reg

Xor reg,mem

Sub mem,reg

Cmp reg,imm

Adc mem,imm

Jnc

jmp (міжсегментна пряма та посередня адресація)

Де reg – 8,16 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8,16 або 32-розрядні безпосередні дані (константи)

 

Варіант 11.

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

EQU

IF-ELSE-ENDIF

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Індексна адресація (Val1[eax],Val1[edi] і т.п.)

Заміна сегментів

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

Машинні команди

Cli

Inc reg

Dec mem

Add reg,reg

Cmp reg,mem

Or mem,reg

Mov reg,imm

And mem,imm

Jbe

Де reg – 8 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 32-розрядні безпосередні дані (константи)

 

Варіант 12

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

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

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

EQU

IF--ENDIF

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Індексна адресація із множником (Val1[eax*2],Val1[edi*4] і т.п.)

Заміна сегментів

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

Машинні команди

Sti

Dec reg

Inc mem

Cmp reg,reg

Or reg,mem

And mem,reg

Mov reg,imm

Add mem,imm

Jz

Де reg – 8  або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm8  або 32-розрядні безпосередні дані (константи)

 

Варіант 13.

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

EQU

IF-ELSE-ENDIF

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація з константним зміщенням ([edx+esi+6],[ebx+ecx+12] і т.п.) з оператором визначення типу (ptr) при необхідності

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Cli

Inc reg

Dec mem

Add reg,reg

Cmp reg,mem

And mem,reg

Mov reg,imm

Or mem,imm

Jb

Де reg – 8 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 32-розрядні безпосередні дані (константи)

 

Варіант 14

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

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

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

EQU

IF-ELSE-ENDIF

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація із множником і з константним зміщенням ([edx+esi*4+6],[ebx+ecx*2+12] і т.п.) з оператором визначення типу (ptr) при необхідності

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Sti

Inc reg

Dec mem

Cmp reg,reg

Or reg,mem

And mem,reg

Mov reg,imm

Add mem,imm

Jnz

Де reg – 8  або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm8  або 32-розрядні безпосередні дані (константи)

 

 

Варіант 15.

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

EQU

IF-ELSE-ENDIF

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Індексна адресація (Val1[eax+edx],Val1[ecx+edi] і т.п.)

Заміна сегментів

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

 

Машинні команди

Cli

Inc reg

Dec mem

Add reg,reg

Cmp reg,mem

And mem,reg

Mov reg,imm

Or mem,imm

Jbe

Де reg – 8 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 32-розрядні безпосередні дані (константи)

 

Варіант 16

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

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

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

EQU

IF-ELSE-ENDIF

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Індексна адресація із множником (Val1[ecx+eax*2],Val1[edx+edi*4] і т.п.)

Заміна сегментів

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

 

Машинні команди

Sti

Dec reg

Inc mem

Cmp reg,reg

Or reg,mem

And mem,reg

Mov reg,imm

Add mem,imm

Jnz

  

Де reg – 8  або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm8  або 32-розрядні безпосередні дані (константи)

 

Варіант 17.

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

EQU

IF-ELSE-ENDIF

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація ([edx+esi],[ebx+ecx] і т.п.) з оператором визначення типу (ptr) при необхідності

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Cli

Inc reg

Dec mem

Add reg,reg

Cmp reg,mem

And mem,reg

Mov reg,imm

Or mem,imm

Jbe

  

Де reg – 8 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 32-розрядні безпосередні дані (константи)

 

Варіант 18

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

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

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

EQU

IF-ELSE-ENDIF

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація із множником ([edx+esi*4],[ebx+ecx*2] і т.п.) з оператором визначення типу (ptr) при необхідності

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Sti

Dec reg

Inc mem

Cmp reg,reg

Or reg,mem

And mem,reg

Mov reg,imm

Add mem,imm

Jnz

  

Де reg – 8  або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm8  або 32-розрядні безпосередні дані (константи)

 

Варіант 19.

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

EQU

IF-ELSE-ENDIF

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова адресація ([eax+5] і т.п.) з оператором визначення типу (ptr) при необхідності.

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Cli

Inc reg

Dec mem

Or reg,reg

Cmp reg,mem

And mem,reg

Mov reg,imm

Add mem,imm

Jnb

  

Де reg – 8 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 32-розрядні безпосередні дані (константи)

 

Варіант 20

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

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

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

EQU

IF-ELSE-ENDIF

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Посередня регістрова з множником ([esi*4], [eax*2] і т.п.  ), з оператором визначення типу (ptr) при необхідності.

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Sti

Dec reg

Inc mem

Cmp reg,reg

Or reg,mem

And mem,reg

Mov reg,imm

Add mem,imm

Jnz

  

Де reg – 8  або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm8  або 32-розрядні безпосередні дані (константи)

 

 

Варіант 21.

Ідентифікатори

Містять великі букви латинского алфавіту та цифри. Починаються з букви. Довжина ідентифікаторів не більше 6 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

MACRO (без параметрів або з одним параметром) ENDM

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

16- розрядні дані та зміщення в сегменті, 32-розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Індексна адресація (Val1[bx],Val1[di] і т.п.)

Заміна сегментів

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

 

Машинні команди

Cbw

Not reg

Cmp reg,reg

Lss reg,mem

Sbb mem,reg

Bts reg,imm8

Mov mem,imm

Jbe

  

Де reg – 8 або 16-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 16-розрядні безпосередні дані (константи)

 

Варіант 22

Ідентифікатори

Містять великі букви латинского алфавіту та цифри. Починаються з букви. Довжина ідентифікаторів не більше 6 символів

Константи

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

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

MACRO (без параметрів або з одним параметром) ENDM

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

16- розрядні дані та зміщення в сегменті, 32-розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Індексна адресація (Val1[bx],Val1[di] і т.п.) та пряма адресація

Заміна сегментів

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

 

Машинні команди

Aaa

Div mem

Cmp reg,reg

And reg,mem

Or mem,reg

Mov reg,imm

Add mem,imm

Jnz

  

Де reg – 8  або 16-розрядні РЗП

mem – адреса операнда в пам’яті

imm8  або 16-розрядні безпосередні дані (константи)

 

Варіант 23.

Ідентифікатори

Містять великі букви латинского алфавіту та цифри. Починаються з букви. Довжина ідентифікаторів не більше 6 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

MACRO (без параметрів або з одним параметром) ENDM

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

16- розрядні дані та зміщення в сегменті, 32-розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація з константним зміщенням ([dx+si+6],[bx+cx+12] і т.п.) з оператором визначення типу (ptr) при необхідності

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Cpuid

Inc reg

Dec mem

Add reg,reg

Cmp reg,mem

And mem,reg

Mov reg,imm

Or mem,imm

Jg

  

Де reg – 8 або 16 розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 16-розрядні безпосередні дані (константи)

 

Варіант 24

Ідентифікатори

Містять великі букви латинского алфавіту та цифри. Починаються з букви. Довжина ідентифікаторів не більше 6 символів

Константи

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

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

MACRO (без параметрів або з одним параметром) ENDM

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

16- розрядні дані та зміщення в сегменті, 32-розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація з константним зміщенням ([bp+si+6],[bx+di+12] і т.п.) з оператором визначення типу (ptr) при необхідності

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Das

Dec reg

Inc mem

Cmp reg,reg

Or reg,mem

And mem,reg

Mov reg,imm

Add mem,imm

Jg

  

Де reg – 8  або 16розрядні РЗП

mem – адреса операнда в пам’яті

imm8  або 16-розрядні безпосередні дані (константи)

 

Варіант 25.

Ідентифікатори

Містять великі букви латинского алфавіту та цифри. Починаються з букви. Довжина ідентифікаторів не більше 6 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

MACRO (без параметрів або з одним параметром) ENDM

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

16- розрядні дані та зміщення в сегменті, 32 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація із зміщенням по ідентифікатору (Val1[bp+si],Val1[bx+di]

Заміна сегментів

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

 

Машинні команди

Cwde

Inc reg

Stosmem

Add reg,reg

Cmp reg,mem

And mem,reg

Mov reg,imm

Or mem,imm

Jbe

  

Де reg – 8 або 16-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 16 розрядні безпосередні дані (константи)

 

Варіант 26

Ідентифікатори

Містять великі букви латинского алфавіту та цифри. Починаються з букви. Довжина ідентифікаторів не більше 6 символів

Константи

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

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

MACRO (без параметрів або з одним параметром) ENDM

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

16- розрядні дані та зміщення в сегменті, 32 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація із зміщенням по ідентифікатору (Val1[bp+si],Val1[bx+di]), пряма адресація

Заміна сегментів

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

 

Машинні команди

Das

Dec reg

Inc mem

Cmp reg,reg

Or reg,mem

And mem,reg

Add reg,imm

Mov mem,imm

Ja

  

Де reg – 8  або 16-розрядні РЗП

mem – адреса операнда в пам’яті

imm8  або 16-розрядні безпосередні дані (константи)

 

Варіант 27.

Ідентифікатори

Містять великі букви латинского алфавіту та цифри. Починаються з букви. Довжина ідентифікаторів не більше 6 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

MACRO (без параметрів або з одним параметром) ENDM

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

16- розрядні дані та зміщення в сегменті, 32 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація ([bx+si],[bx+] і т.п.) з оператором визначення типу (ptr) при необхідності

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Aas

Inc reg

Dec mem

Bt reg,reg

And reg,mem

Cmp mem,reg

Mov reg,imm

Or mem,imm

Jl

  

Де reg – 8 або 16-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 16-розрядні безпосередні дані (константи)

 

Варіант 28

Ідентифікатори

Містять великі букви латинского алфавіту та цифри. Починаються з букви. Довжина ідентифікаторів не більше 6 символів

Константи

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

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

MACRO (без параметрів або з одним параметром) ENDM

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

16- розрядні дані та зміщення в сегменті, 32 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація ([bx+si],[bx+] і т.п.) з оператором визначення типу (ptr) при необхідності, пряма адресація

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Cmpsb

Dec reg

Inc mem

Or reg,reg

Cmp reg,mem

And mem,reg

Mov reg,imm

Add mem,imm

Jnz

  

Де reg – 8  або 16-розрядні РЗП

mem – адреса операнда в пам’яті

imm8  або 16-розрядні безпосередні дані (константи)

 

Варіант 29.

Ідентифікатори

Містять великі букви латинского алфавіту та цифри. Починаються з букви. Довжина ідентифікаторів не більше 6 символів

Константи

Шістнадцятерічні, десяткові, двійкові та текстові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

MACRO (без параметрів або з одним параметром) ENDM

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

16- розрядні дані та зміщення в сегменті, 32 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова адресація ([si+5] і т.п.) з оператором визначення типу (ptr) при необхідності.

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Movsw

Inc reg

Dec mem

Add reg,reg

Cmp reg,mem

And mem,reg

Mov reg,imm

Or mem,imm

Jge

  

Де reg – 8 або 16-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 16-розрядні безпосередні дані (константи)

 

Варіант 30

Ідентифікатори

Містять великі букви латинского алфавіту та цифри. Починаються з букви. Довжина ідентифікаторів не більше 6 символів

Константи

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

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

MACRO (без параметрів або з одним параметром) ENDM

DB,DW,DD з одним операндом - константою (строкові константи тільки для DB)

Розрядність даних та адрес

16- розрядні дані та зміщення в сегменті, 32 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Посередня регістрова ([si], [bx] і т.п.  ), з оператором визначення типу (ptr) при необхідності, пряма адресація.

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Scasb

Inc reg

Dec mem

Cmp reg,reg

Or reg,mem

And mem,reg

Mov reg,imm

Add mem,imm

Jb

  

Де reg – 8  або 16 -розрядні РЗП

mem – адреса операнда в пам’яті

imm8  або 16-розрядні безпосередні дані (константи)

 

Варіант 31.

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові та двійкові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

DB,DW,DD з одним операндом - довільний арифметичний вираз над константами

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Індексна адресація (Val1[eax],Val1[edi] і т.п.)

Заміна сегментів

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

Машинні команди

Cli

Inc reg

Dec mem

Add reg,reg

Cmp reg,mem

And mem,reg

Mov reg,imm

Or mem,imm

Jnb

  

Де reg – 8 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 32-розрядні безпосередні дані (довільний арифметичний вираз над константами)

 

Варіант 32

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові та двійкові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

DB,DW,DD з одним операндом - довільний арифметичний вираз над константами

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Індексна адресація із множником (Val1[eax*2],Val1[edi*4] і т.п.)

Заміна сегментів

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

 

Машинні команди

Sti

Dec reg

Inc mem

Add reg,reg

Or reg,mem

And mem,reg

Mov reg,imm

Cmp mem,imm

Jnz

  

Де reg – 8  або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm – 8  або 32-розрядні безпосередні дані (довільний арифметичний вираз над константами)

 

Варіант 33.

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові та двійкові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

DB,DW,DD з одним операндом - довільний арифметичний вираз над константами

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація з константним зміщенням ([edx+esi+6],[ebx+ecx+12] і т.п.) з оператором визначення типу (ptr) при необхідності

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Cli

Inc reg

Dec mem

Add reg,reg

Cmp reg,mem

And mem,reg

Mov reg,imm

Or mem,imm

Jbe

  

Де reg – 8 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 32-розрядні безпосередні дані (довільний арифметичний вираз над константами)

 

Варіант 34

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові та двійкові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

DB,DW,DD з одним операндом - довільний арифметичний вираз над константами

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація із множником і з константним зміщенням ([edx+esi*4+6],[ebx+ecx*2+12] і т.п.) з оператором визначення типу (ptr) при необхідності

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Sti

Dec reg

Inc mem

Cmp reg,reg

Mov reg,mem

And mem,reg

Or reg,imm

Add mem,imm

Jnz

  

Де reg – 8  або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm – 8  або 32-розрядні безпосередні дані (довільний арифметичний вираз над константами)

 

Варіант 35.

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові та двійкові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

DB,DW,DD з одним операндом - довільний арифметичний вираз над константами

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Індексна адресація (Val1[eax+edx],Val1[ecx+edi] і т.п.)

Заміна сегментів

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

 

Машинні команди

Cli

Inc reg

Dec mem

Add reg,reg

And reg,mem

Cmp mem,reg

Mov reg,imm

Or mem,imm

Jb

  

Де reg – 8 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 32-розрядні безпосередні дані (довільний арифметичний вираз над константами)

 

Варіант 36

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові та двійкові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

DB,DW,DD з одним операндом - довільний арифметичний вираз над константами

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Індексна адресація із множником (Val1[ecx+eax*2],Val1[edx+edi*4] і т.п.)

Заміна сегментів

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

 

Машинні команди

Sti

Dec reg

Inc mem

Cmp reg,reg

Mov reg,mem

And mem,reg

Or reg,imm

Add mem,imm

Jnz

  

Де reg – 8  або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm – 8  або 32-розрядні безпосередні дані (довільний арифметичний вираз над константами)

 

Варіант 37.

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові та двійкові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

DB,DW,DD з одним операндом - довільний арифметичний вираз над константами Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація ([edx+esi],[ebx+ecx] і т.п.) з оператором визначення типу (ptr) при необхідності

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Cli

Inc reg

Dec mem

Cmp reg,reg

Add reg,mem

And mem,reg

Mov reg,imm

Or mem,imm

Jnbe

  

Де reg – 8 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 32-розрядні безпосередні дані (довільний арифметичний вираз над константами)

 

Варіант 38

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові та двійкові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

DB,DW,DD з одним операндом - довільний арифметичний вираз над константами

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова індексна адресація із множником ([edx+esi*4],[ebx+ecx*2] і т.п.) з оператором визначення типу (ptr) при необхідності

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Sti

Dec reg

Inc mem

Cmp reg,reg

Or reg,mem

And mem,reg

Mov reg,imm

Add mem,imm

Jz

  

Де reg – 8  або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm – 8  або 32-розрядні безпосередні дані (довільний арифметичний вираз над константами)

 

Варіант 39.

Ідентифікатори

Містять великі і малі букви латинского алфавіту та цифри. Починаються з букви. Великі та малі букви не відрізняються. Довжина ідентифікаторів не більше 8 символів

Константи

Шістнадцятерічні, десяткові та двійкові константи

Директиви

END,

SEGMENT - без операндів, ENDS, программа може мати тільки один сегмент кодів і тільки один сегмент даних

DB,DW,DD з одним операндом - довільний арифметичний вираз над константами

Розрядність даних та адрес

32 - розрядні дані та зміщення в сегменті, 16 -розрядні дані та зміщення не використовуються

Адресація операндів пам'яті

Базова адресація ([eax+5] і т.п.) з оператором визначення типу (ptr) при необхідності.

Заміна сегментів

Префікси заміни сегментів можуть задаватись тільки явно

Машинні команди

Cli

Inc reg

Dec mem

Add reg,reg

Cmp reg,mem

And mem,reg

Mov reg,imm

Or mem,imm

Jnbe

  

Де reg – 8 або 32-розрядні РЗП

mem – адреса операнда в пам’яті

imm - 8 або 32-розрядні безпосередні дані (довільний арифметичний вираз над константами)

 


Комментарии


Комментариев пока нет

Пожалуйста, авторизуйтесь, чтобы оставить комментарий.

Авторизация
Введите Ваш логин или e-mail:

Пароль :
запомнить