Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
презентации / 4_программирование.pptx
Скачиваний:
0
Добавлен:
15.01.2026
Размер:
3.38 Mб
Скачать

Одно и двухадресный режим

a = a + b

Одноадресный режим:

Двухадресный режим

LD a //загружаем a в

ADD a b // a = a + b

аккумулятор

Под аккумулятором в Техно IL

ADD b //result = result

понимается хранилище текущего

ST a //a = result

результата вычислений

Конструкция программы на языке Техно IL

program

{определение

аргументов} {список команд} end_program

PROGRAM

VAR_INPUT input : REAL; END_VAR

VAR_OUTPUT output : REAL; END_VAR

VAR local_var : REAL; END_VAR VAR const : REAL := 3; END_VAR {список команд}

END_PROGRAM

Значения по умолчанию

Если при определении переменной ее значение не задано, то этой переменной по умолчанию присваивается следующее начальное значение:

числовая переменная – 0;

переменная типа BOOL FALSE;

переменная типа STRING – пустая строка;

переменная типа HANDLE – 16#00000000 (0 в формате HEX);

переменная типа TIME, DATE или DATE_AND_TIME – 0.

Операторы обмена с аккумулятором

 

 

Синтаксис

Действие

LD operand

result := operand – загрузить значение в

 

аккумулятор

ST operand

operand := result – присвоить переменной

 

значение аккумулятора

LD

Загрузить обратное значение операнда в аккумулятор

N

 

 

 

STN

Присвоить обратное значение аккумулятора операнду

 

 

Пример программы

VAR VAR_000

: INT := 10; END_VAR

VAR VAR_001

: BOOL := TRUE; END_VAR

VAR VAR_002

: BOOL; END_VAR

LD 8

//result := 8

ST VAR_000//VAR_000 := 8

ST VAR_002 //VAR_002 := TRUE

LD 0

//result := 0

ST VAR_001//VAR_001

:= FALSE

LD VAR_001//result := FALSE

ST VAR_002//VAR_002

:= FALSE

ST VAR_000//VAR_000

:= 0

Логические операторы Техно IL

 

 

 

Синтаксис

Допустимы

Действие

 

й

 

 

модификат

 

 

ор

 

S operand

 

operand := TRUE

R operand

 

operand := FALSE

AND operand1

N

result := operand1 := operand1 AND

operand2

 

operand2

OR operand1

N

result := operand1 := operand1 OR

AND a //интерпретируется как result = result AND a, а инструкция

operand2

 

operand2

ANDN a //интерпретируется как result = result AND NOT a

XOR operand1

N

result := operand1 := operand1 XOR

operand2

 

operand2

Логические операторы Техно IL

В качестве операндов могут использоваться булевы переменные. Вторым операндом может быть число (но не численная переменная), которое интерпретируется следующим образом: не равно 0 – TRUE; равно 0 – FALSE.

Выполнение операторов R и S не изменяет значения аккумулятора.

 

VAR VAR_001 : BOOL := TRUE; END_VAR

 

VAR VAR_002 : BOOL; END_VAR

 

VAR VAR_004 : INT := 0; END_VAR

Пример

LD 1

//result:=1

S VAR_002

//VAR_002:=TRUE

R VAR_002

//VAR_002:=FALSE

програм

AND VAR_001 VAR_002//result:=VAR_001:=FALSE

мы

LD 1

//result:=1

S VAR_001

//VAR_001:=TRUE

 

 

 

//result:=VAR_002:=TRUE

 

OR VAR_002 VAR_001

 

 

//result:=VAR_002:=FALSE

 

XOR VAR_002 VAR_001

 

OR VAR_002 10

//result:=VAR_002:=TRUE

Арифметические операторы Техно IL

 

 

 

 

Синтаксис

Действие

 

ADD operand1

result := operand1 := operand1 +

 

operand2

operand2

 

SUB operand1

result := operand1 := operand1 –

 

operand2

operand2

 

MUL operand1

result := operand1 := operand1 *

 

operand2

operand2

Арифметические операторы не допускают

использования модификаторов

 

DIV operand1 operand2

result := operand1 := operand1 :

 

 

operand2

 

VAR VAR_000

: REAL := 20; END_VAR

 

VAR VAR_001

: LREAL := 30; END_VAR

 

ADD VAR_000 10

//result :=

Пример

VAR_000

:= 30

 

MUL VAR_001 9

//result :=

програм

VAR_001

:= 270

 

SUB VAR_001 VAR_000 //result :=

мы

VAR_001

:= 240

 

 

DIV VAR_001 VAR_000 //result :=

 

VAR_001

:= 8

 

 

Соседние файлы в папке презентации