Tools


«Сименс» в России

«Сименс» в России

код STL в Step 5

Пакеты программирования STEP5/STEP7, инженерное программное обеспечение, программное обеспечение RunTime

Модераторы: gulenok_andrey, Кухаренко Сергей, pavel_puchkov

star4e
Сообщения: 4
Зарегистрирован: 22 сен 2019, 14:36

Сообщение star4e » 16 апр 2020, 10:43

не понятен вот этот код, особенно что делает оператор DO DW255 и т.п.
(в общем механизм вроде - данный блок раскидывает биты в DB со смещением)

Segment 1
Name :OBMAS1
Decl :N I/Q/D/B/T/C: D KM/KH/KY/KS/KF/KT/KC/KG: KF
Decl :L I/Q/D/B/T/C: D KM/KH/KY/KS/KF/KT/KC/KG: KF
Decl :DB I/Q/D/B/T/C: B
Decl :FX I/Q/D/B/T/C: B

:DO =DB
:
:LW =N
:L KF +1
:-F
M003 :
:L KF +1
:+F
:T DW 255
:L KF +60
:+F
:T DW 254
:L KF +60
:+F
:T DW 253
:
:DO DW 254
:L DW 0
:DO DW 255
:L DW 0
:><F
:JC =M001
:JU =M002
M001 :
:DO DW 254
:T DW 0
:T DW 251
:DO DW 253
:L DW 0
:T DW 250
:
:DO =FX
:
:L DW 250
:DO DW 253
:T DW 0
M002 :
:LW =L
:LW =N
:+F
:L KF +1
:-F
:L DW 255
:>F
:JC =M003
:
:BE

Muller
Сообщения: 23
Зарегистрирован: 08 авг 2018, 12:31

Сообщение Muller » 23 апр 2020, 18:24

star4e писал(а):
16 апр 2020, 10:43
не понятен вот этот код, особенно что делает оператор DO DW255 и т.п...
Это в пятом степе так косвенная адресация организованна, после команды с DO всегда идет или L DW 0 или T DW 0 (или нулевое маркерное слово), т.е. пара команд:

Код: Выделить всё

DO DW 254
L DW 0
читается так "загрузить в аккумулятор значение из DW [а номер этого DW лежит в DW254]

star4e
Сообщения: 4
Зарегистрирован: 22 сен 2019, 14:36

Сообщение star4e » 27 апр 2020, 15:29

Muller писал(а):
23 апр 2020, 18:24
star4e писал(а):
16 апр 2020, 10:43
не понятен вот этот код, особенно что делает оператор DO DW255 и т.п...
Это в пятом степе так косвенная адресация организованна, после команды с DO всегда идет или L DW 0 или T DW 0 (или нулевое маркерное слово), т.е. пара команд:

Код: Выделить всё

DO DW 254
L DW 0
читается так "загрузить в аккумулятор значение из DW [а номер этого DW лежит в DW254]
спасибо!
ps странно только, почему нельзя теми же L и T это делать

cron