Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы
войдёте или
создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.
Правка может быть отменена.
Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия |
Ваш текст |
Строка 17: |
Строка 17: |
|
| |
|
| == Реализация == | | == Реализация == |
| <pre>
| |
| 930 ;#ENCLOSE
| |
| 931 ; ENCLOSE ( a1 c −− a2 u1 u2 ) Окружить. Выделить лексему с адреса a1 и ограничительной литерой c.
| |
| 932 ; ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗
| |
| 933 ; Делает смелое предположение, что дело происходит не в памяти программ
| |
| 934 LENCL: .DB 7
| |
| 935 .TEXT "ENCLOSE" ; ENCLOSE ( a1 c −− a2 len da )
| |
| 936 .DW LGREAT
| |
| 937 ENCL: .DW JENCL
| |
| 938 JENCL: RM3 MA 1 + MB
| |
| 939 KRMA M0 ; R0 Разделитель
| |
| 940 KRMB 1 EE 4 − M8 M5 ; R5 Начальный адрес
| |
| 941 A: Cx KRM8 RM0 − ; Обход разделителей в начале
| |
| 942 FX=0 NOTEQ
| |
| 943 AAA: RM8 1 + M8 GOTO A
| |
| 944 NOTEQ: RM0 32 − FX=0 ENCLNSP ; Только если пробел, проверить другие литеры
| |
| 945 KRM8 9 − FX!=0 AAA ; 9 TAB
| |
| 946 1 − FX!=0 AAA ; 10 LF
| |
| 947 3 − FX!=0 AAA ; 13 CR
| |
| 948 ENCLNSP: Cx EE 4 RM8 M7 + KMB ; Начало лексемы
| |
| 949 RM0 32 − FX!=0 AASP
| |
| 950 AA: Cx KRM8 PX!=0 ZZZ ; Если нуль
| |
| 951 RM0 − PX!=0 EQW
| |
| 952 RM8 1 + M8 GOTO AA
| |
| 953 AASP0: RM8 1 + M8
| |
| 954 AASP: Cx KRM8 PX!=0 ZZZ ; Если нуль
| |
| 955 32 − PX!=0 EQW ; 32 пробел
| |
| 956 FX<0 AASP0 ; Пропустить всё, что больше пробела
| |
| 957 23 + FX!=0 EQW ; 9 TAB
| |
| 958 1 − FX!=0 EQW ; 10 LF
| |
| 959 3 − PX=0 AASP0 ; 13 CR
| |
| 960 EQW: RM8 RM7 − KMA
| |
| 961 RM8 1 + RM5 − KM3
| |
| 962 KGOTO9
| |
| 963 ZZZ: RM8 RM7 − FX=0 EQW0
| |
| 964 EE ; 0 −> 1
| |
| 965 EQW0: KMA
| |
| 966 RM8 RM5 − KM3
| |
| 967 KGOTO9
| |
| </pre>
| |
|
| |
| === Советская реализация ===
| |
| Слово ENCLOSE в ФОРТ-ЕС было [[примитив]]ом. Вот его описание и определение: | | Слово ENCLOSE в ФОРТ-ЕС было [[примитив]]ом. Вот его описание и определение: |
| <PRE> | | <PRE> |