- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
Переменная loffset 0 loffset!
Переменные местные жители здесь местные! Выбрано 100 (несколько) ячеек
: локальный, (смещение -)
отложить rp @ loffset @ swap -
откладывать буквально откладывать +;
: бизнес, (смещение -)
местный, отложи рп! ;
: (local DOES> @ local, отложить @;
: f> r r> rp @ 1 float - dup rp! е! > г;
: (flocal DOES> @ local, отложить f @;
: нечего делать ;
: ralign r>
START rp @ [1 плавает 1-] Буквально и
WHILE ['ничего не делать> тело] ALiteral> r
REPEAT> r;
: <local (- sys1)
текущие @ @ loffset @ местные жители @
больше 0 = ЕСЛИ отложено до ТО; мгновенный
: местный: (-)
откладывать> последние новости здесь местные жители @ дп!
ячейка loffset +! Создать loffset @, немедленный (локальный
вот местные жители! дп! lastcfa! прошлой! ; мгновенный
: flocal: (-)
Последние новости здесь местные жители @ дп!
START loffset @ 0 1 плавает падение FM / мод, пока
0 отложено Буквально откладывай> 1 ячейку + клетки! повторение
отложить f> r Создать loffset @, немедленный (flocal
вот местные жители! дп! lastcfa! прошлой! ; мгновенный
: local> (sys1 - sys2); мгновенный
: локальный (sys2 -)
местные жители! dup delocal
Loffset! ток @! ; мгновенный
: TO> in @ 'dup @ [' (local> cell body +] ALiteral =
IF> body @ local, отложить! падение
ELSE dup @ ['(flocal> cell body +] ALiteral =
IF> body @ local, отложить ф! падение
В противном случае, смотрите> в! отложить на потом; мгновенный
: DO 2 ячейки loffset +! отложить DO; немедленное ограничение
:? DO 2 ячейки loffset +! отложить? ДЕЛАТЬ; немедленное ограничение
: Для 2 ячеек loffset +! выделить для; немедленное ограничение
: LOOP -2 ячейки loffset +! Задержка LOOP; немедленное ограничение
: + LOOP -2 ячейки loffset +! отложить + LOOP; немедленное ограничение
: СЛЕДУЮЩИЙ -2 loffset + клетки! отложите СЛЕДУЮЩУЮ; немедленное ограничение
:> R 1 клетки loffset +! отложить в сторону> R; немедленное ограничение
: R> -1 ячейки loffset +! отложить R>; немедленное ограничение
Местные жители высокого уровня 19aug93py
: {отложить <местное -1
НАЧАЛО> в @ name dup c @ 1 = swap 1+ c @ '| = и к
drop> in @> r
НАЧНИТЕ dup 0 <0 = WHILE> в! отложить местное: REPEAT drop
d> в! отложить местное>; немедленное ограничение
: F {отложить <местный -1
НАЧАЛО> в @ name dup c @ 1 = swap 1+ c @ '| = и к
drop> in @> r
НАЧНИТЕ dup 0 <0 = WHILE> в! Отложить Flocal: REPEAT DROP
d> в! отложить местное>; немедленное ограничение
'местный; псевдоним} немедленное ограничение
\ ANS Locals 19aug93py
Создайте 5 локальных ячеек, выберите их
: (местный) (адрес)
местный @ 0 =
Если вы отложите в сторону <local local on
3 локальных ячейки + 2! местная ячейка + 2! ЗАТЕМ
dup IF linestart @> r исходная строка #> r загрузочный файл @> r
blk @> r> tib @> r #tib @ dup> r> in @> r
> Тиб +! dup #tib! > Tib @ Swap Move
> выкл blk выкл loadfile выкл -1 linestart!
отложить местное:
d> в! r> #tib! > Тиб! r> blk!
r> загрузочный файл! r> Loadline! r> linestart!
ELSE 2-капельные локальные клетки + 2 @ локальные 3 клетки + 2 @
отложить местный>
2 локальных ячейки + 2! местная ячейка +! ЗАТЕМ;
:? местный;
местный @
IF с местными ячейками + @ с местными 2 ячейками + 2 @
отложить местное; местный от ТОГО;
:; ?местный; отложить; ; немедленное ограничение
:> Местный; откладывать делает>; мгновенный
: EXIT inlocal @ IF 0 delocal, TO откладывает EXIT; мгновенный
: местные жители |
НАЧАТЬ имя dup c @ 1 = больше 1+ c @ '| = и 0 = WHILE
читать (локально) REPEAT 0 (локально); немедленное ограничение
BOKCEJIbHblu_nemyx 20.04.2019 12:44 # 0
get-current и see-voc определения
: simple-see-word {addr -}
xpos off addr hex. адресная ячейка + адрес @ .word drop;
: simple-see-range (addr1 addr2 -) \ gforth
поменять местами +
я просто вижу слово
клетка + петля;
: see-code-next-inline {addr1 addr2 - addr3}
\ декомпилировать, начиная с addr1, пока не будет найден встроенный примитив,
\ или addr2 достигнут; addr3 - это addr2 или следующий встроенный
\ примитивный
addr1 begin {addr}
addr addr2 u <время
addr @ dup decompile-prim = время
addr cr simple-see-word
сотовый адрес +
повторите тогда
адрес;
: see-code-range {addr1 addr2 -} \ gforth
cr addr1 begin {a}
простое слово
cell + addr2 see-code-next-inline {b}
b addr2 u <while
a @ b @ over - на диск
б
репетиция;
текущий набор
: simple-see ("имя" -) \ gforth
\ G - простой декомпилятор, который ближе к @code {dump}, чем @code {see}.
\ !! NEXT-HEAD сейчас слишком оптимистичен (см.
\ комментарий в голову?)
'> body dup next-head simple-see-range;
: see-code ("имя" -) \ gforth
\ G as @code {simple-see}, но также показывает динамический собственный код для
\ G встроенные примитивы (кроме последних).
'> body dup next-head see-code-range;
предыдущий
AHCKuJlbHblu_nemyx 20.04.2019 13:28 # 0
PACTPOBblu_nemyx 20.04.2019 13:35 # +1
BOKCEJIbHblu_nemyx 20.04.2019 13:37 # 0
guest8 22.06.2019 00:14 # −999