Writing FCode 3.x Programs
검색에만이 책은
PDF로 이 문서 다운로드

Index

Symbols

:6
;7
[']43

Numerics

0xfd2

A

accessing
.....packages54
active package38
"address"68
"address-bits"68
"#address-cells"67
addressing
.....packages56
.....SBus125
ANS Forth
.....and FCode5
apply49
auto-boot?21
"available"68

B

begin-package26, 55, 57
begin-select-dev33
binary executable programs24
binary format
.....FCode5
buffer:42
byte-load28

C

$call-method40, 43, 46 to 48
call-package43, 46
$call-parent46 to 48
"character-set"69
code examples
.....$open-package45
.....begin-package57
.....data
............instance-specific54
............static53
.....find-package44
.....open-dev56
.....reg13
colon definition6 to 7
command line editor22
"compatible"69
compile state6
configuration variables
.....auto-boot?21
.....fcode-debug?21
current instance38

D

data
.....initialized42
.....instance-specific42
.....package41
.....packages38
.....static41
.....zero-filled42
data definition
.....packages53
deblocker support61
decode-unit43, 121
defer42
defining
.....Forth words6
"depth"69
dev29, 38
device
.....drivers, plug-in50
.....identification2
.....node3
.....tree3
device addressing
.....SBus125
device methods
.....block-size84
.....decode-unit121
.....dma-alloc122
.....dma-free122
.....dma-map-in122
.....dma-map-out123
.....dma-sync124
.....load84, 156
.....map-in125
.....map-out125
.....max-transfer85
.....probe-self124
......read85, 157, 201
......read-blocks85
......seek85
......write85, 157
......write-blocks85
device node
......browsing29
......creating withbegin-package26
......creating withend-package26
"device_type"69
device-end29
"devsel-speed"70
dma-alloc122
dma-free122
dma-map-in122
dma-map-out123
dma-sync124
driver
......and boot PROM1
......function1

E

end02
end12
end-package28
execute-device-method34, 46, 49
executing
......methods43
execution token43
......obtaining43

F

FCode
....../w352
......and ANS Forth5
......binary format5
......characteristics5
......compile state6
......defining words6
......device identification2
......in PROM1
......interpret state6
.....interpretation2
.....interpreting26
.....one-byte14
.....programming style8 to 10
.....property-specific FCodes81
.....source format5
.....stack6
.....tokenizing6
.....two-byte14
.....valid program2
.....w!352
.....w,352
.....w@352
.....words5
FCode programs24
.....testing in source form35
FCode PROM
.....body2
.....end token2
.....header2
.....magic number2
.....organization2
.....size2
FCode source17 to 18
FCode types
.....interface16
.....local16
.....primitives14
fcode-debug?21
FCodes
.....-216
....."model"79
....."reg"331
.....#214
.....#>201, 202, 214
.....#columns248
.....#line309
.....#lines309
.....#out324
.....#s336
.....$call-method38, 40, 43, 46 to 48, 241
.....$call-parent46 to 48, 242
.....$find283
.....$number322
......$open-package40, 44, 55, 324
......'214
......(215
......(cr251
......(is-user-word)303
......*215
......+216
......+!216
......+loop310
......,216
.......216
.......r329
.......s336
....../218
....../c240
....../l305
....../l*305
....../mod315
....../n319
....../w*352
......<218
......<#219
......<=219
......<>219
......<w@353
......=219
......>220
......>=220
......>>a225
......>body237
......>font287
......>r329
......?dup262
......@220
......0222
......0<222
......0<=222
......0<>222
......0=222
......0>222
......0>=223
......-1223
......1223
......2223
......2!224
......2*224
.....2/224
.....2@224
.....2drop262
.....2dup262
.....2over325
.....2rot334
.....2swap342
.....3225
.....abort225
.....abs226
.....alarm226
.....aligned228
.....alloc-mem228
.....and229
.....b(")229
.....b(')229
.....b(+loop)236
.....b(:)229
.....b(;)230
.....b(<mark)236
.....b(>resolve)237
.....b(?do)233
.....b(case)232
.....b(constant)232
.....b(create)232
.....b(defer)232
.....b(do)233
.....b(endcase)234
.....b(endof)234
.....b(field)234
.....b(leave)235
.....b(lit)236
.....b(loop)236
.....b(of)237
.....b(to)238
.....b(value)238
.....b(variable)238
.....b?branch232
.....base230
.....bbranch231
.....behavior233
.....bell234
.....between234
.....bl234
.....blink-screen235
.....bljoin236
......body>236
......bounds237
......bs237
......bwjoin238, 239
......byte-load239
......c!239
......c,239
......c@240
......ca+240
......call-package43, 46, 241
......catch244
......cell+245
......cells245
......char-height245
......chars246
......char-width246
......child246
......close-package247
......column#247
......comp248
......compile,249
......count250
......cpeek250
......cpoke250
......cr250
......d-252
......d+252
......decode-int253
......decode-phys254
......decode-string254
......default-font254
......delete-characters257
......delete-lines257
......delete-property258
......depth258
......device-name258
......diagnostic-mode?259
......digit259
......draw-character261
......draw-logo261
......drop262
......dup262
......emit263
......encode+263
......encode-bytes264
......encode-int264
.....encode-phys265
.....encode-string265
.....end0265
.....end1266
.....erase-screen266
.....evaluate267
.....execute267
.....exit268
.....expect268
.....external-token269
.....fb1-blink-screen269
.....fb1-delete-lines270
.....fb1-draw-character271
.....fb1-draw-logo271
.....fb1-erase-screen271
.....fb1-insert-characters272
.....fb1-insert-lines272
.....fb1-install272
.....fb1-invert-screen274
.....fb1-reset-screen274
.....fb1-slide-up274
.....fb1-toggle-cursor275
.....fb8-blink-screen275
.....fb8-delete-characters275
.....fb8-delete-lines276
.....fb8-draw-character276
.....fb8-draw-logo276
.....fb8-erase-screen277
.....fb8-insert-characters277
.....fb8-insert-lines277
.....fb8-install278
.....fb8-invert-screen279
.....fb8-reset-screen279
.....fb8-toggle-cursor280
.....fcode-revision280
.....ferror281
.....fill283
.....find-method43, 46 to 48, 284
.....find-package44, 285
.....finish-device28, 54, 285
.....fontbytes287
.....frame-buffer-adr287
.....free-mem288
.....free-virtual289
.....get-inherited-property289
.....get-msecs290
......get-my-property290
......get-package-property291
......get-token291
......here293
......hold294
......i294
......ihandle>phandle295
......insert-characters295
......insert-lines296
......instance42, 296
......inverse?296
......inverse-screen?297
......invert297
......invert-screen298
......is-install298, 299
......is-remove301
......is-selftest302
......j303
......key303
......key?304
......l!304
......l,304
......l@305
......la+305
......la1+305
......lbflip306
......lbflips306
......lbsplit306
......lcc306
......left-parse-string55, 308
......line#308
......lpeek311
......lpoke311
......lshift311
......lwflip311
......lwflips311
......lwsplit312
......mac-address312
......map-low312
......mask313
......max313
......memory-test-suite314
......min314
......mod314
......model315
......move316
.....ms316
.....my-address317
.....my-args55, 317
.....my-parent318
.....my-self43, 318
.....my-space318
.....my-unit57, 319
.....na+320
.....named-token320
.....negate321
.....new-device39, 321
.....new-token321
.....next-property321
.....nip321
.....noop322
.....off322
.....on323
.....open-package44, 55, 323
.....or324
.....over325
.....pack325
.....parse-2int325
.....peer326
.....pick327
.....property78, 327
.....r>328
.....r@329
.....rb!330
.....rb@331
.....reset-screen332
.....rl!332
.....rl@333
.....roll333
.....-rot334
.....rot333
.....rshift334
.....rw!334, 335
.....rw@334
.....sbus-intr>cpu336
.....screen-height336
.....screen-width337
.....set-args55, 337
.....set-font338
.....set-token338
.....sign338
.....span339
......start0339
......start1340
......start2340
......start4340
......state341
......suspend-fcode341
......swap342
......throw342
......toggle-cursor343
......tuck345
......type345
......u#345
......u#>345
......u#s346
......u.346
......u.r349
......u/mod348
......u<346
......u<=346
......u>346
......u>=347
......u2/347
......um*347
......um/mod348
......unloop348
......upc349
......user-abort350
......version1351
......w!352
......wa+353
......wa1+353
......wbflip353
......wbflips353
......wbsplit354
......window-left354
......window-top355
......within355
......wljoin356
......wpeek356
......wpoke356
......xor356, 358
find-device38
find-method43, 46 to 48, 284
find-package44, 285
finish-device28, 54, 285
fload18, 286
Forth
.....compile state6
.....interpret state6
.....programs26
.....stack6
.....tokenizing6
.....words5

G

get-inherited-property29
get-my-property29

H

"height"70

I

ihandle44
.....avoiding confusion with phandle45
initialized data42
instance
.....arguments54
.....creation38
.....package38, 38
.....parameters54
instance42
instance chain39
instance-specific
.....data42
.....methods43
interpret37
interpret state6
interpreting FCode2, 26 to 28

L

left-parse-string55
"linebytes"70
"little-endian-aperture"71
loading/executing files
.....Forth over serial port A26
"local-mac-address"71
ls29

M

"mac-address"72
map-in125
map-out125
mapping
......packages57
"max-frame-size"73
"max-latency"73
methods
......calling other package methods46
......executing43
......instance-specific43
......package38
"model"73, 79
my-args55
my-self43
my-unit57

N

"name"74
name
......of property63
new-device39
node
......machine76
......SBus76
......SCSI76
NVRAM parameters
......setting21
nvramrc57

O

open-dev40
$open-package40, 44, 45, 45, 55, 324
open-package44, 55, 323
organizationally unique identifier13
OUI13

P

package37
.....deblocker61
.....TFTP60
package method
.....reset51, 52
.....selftest52
package methods
.....reset51, 52
/packages44, 45, 58
packages
.....accessing54
.....active38
.....addressing56
.....and linking37
.....data38, 41
.....data definition53
.....instance38
.....instances38
.....interface38
.....mapping57
.....methods38, 51
.....plug-in37
.....properties38
phandle44, 291
.....avoiding confusion with ihandle45
plug-in device drivers50
plug-in package37
"power-consumption"74
probe37
probe-self124
probing sequence58
.....expansion bus21
.....modifying with NVRAM script22
programming style
.....FCode8 to 10
PROM
.....contents1
·properties29
properties
....."#address-cells"67
....."#size-cells"67
....."address"68
......"address-bits"68
......"available"68
......"character-set"69
......"compatible"69
......"depth"69
......"device_type"69
......"devsel-speed"70
......"height"70
......"linebytes"70
......"little-endian-aperture"71
......"local-mac-address"71
......"mac-address"72
......"max-frame-size"73
......"max-latency"73
......"model"73
......"name"74, 320
......"power-consumption"74
......"ranges"74
......"reg"77, 319
......"status"78
......"vendor-id"78
......"width"78
......block or byte device86
......display device66, 108
......memory device67
......modifying from User Interface58
......network device67, 157
......packages38
......parent node67
......serial device202
property
......"ranges"77
......"reg"77
......creation65, 78
......decoding80
......encoding79
......list3
......modification78
......name3
......property name63
......property value63, 79
......property value array formats64
......retrieval79
......standard names66
......value3
property78
pwd29

R

"ranges"74, 77
rb!330
rb@331
"reg"77, 319, 331
reset51, 52
restricting system use17
reverse polish notation5
rl!332
rl@333
rw!334, 335
rw@334

S

SBus
.....node76
SBus addressing125
SCSI
.....node76
see29, 32
select-dev31 to 33, 40
selftest52
set-args55
show-devs29
size
.....FCode PROM2
"#size-cells"67
source format
.....FCode5
stack6
.....operation7
stack comment7
stack comments10
standard methods
.....decode-unit43
standard support packages58
state341
static data41
"status"78

T

TFTP
......support60
tokenizer25
......description18
......directives15
......macros15
tokenizer directives
.......(217
......\221
......]tokenizer344
......alias227
......decimal253
......emit-byte263
......external269
......false269
......fload18, 286
......headerless292
......headers293
......hex293
......offset16323
......tokenizer[344
tokenizer macros
......"212
......(.)215
......(u.)347
......."217
.......d253
.......h292
....../c*240
....../n*319
......:218
......;218
......<<219
......>>220
......?220
......?do260
......?leave307
......[']43, 221
......1-223
......1+223
.....2-224
.....2+224
.....3drop262
.....3dup262
.....accept226
.....again226
.....allot228
.....ascii229
.....begin233
.....blank235
.....buffer:42, 238
.....ca1+240
.....carret242
.....case243
.....constant249
.....control249
.....create251
.....d#252
.....decimal253
.....decode-bytes253
.....defer42, 255
.....do260
.....else263
.....endcase266
.....endof266
.....erase266
.....eval267
.....fcode-version1280
.....fcode-version2281
.....field282
.....h#291
.....if294
.....leave306
.....linefeed309
.....loop310
.....na1+320
.....not322
.....of322
.....repeat332
.....s"335
.....s.335
.....space339
.....spaces339
.....struct341
.....then342
.....to342
......true344
......until348
......value42, 350
......variable42, 350
......while354
tokenizing6

U

unit-address319
unselect-dev33
unselect-device28
User Interface
......*/216
......*/mod315
......[221
......[compile]249
......]222
......apply49
......begin-package55
......browsing device nodes29
............·properties29
............dev29
............device-end29
............get-inherited-property29
............get-my-property29
............ls29
............pwd29
............see29
............show-devs29
............words29
......byte-load28
......command line editor22
......dev38
......end-package28
......execute-device-method46, 49
......find-device38
......interpreting FCode26 to 28
......modifying properties58
......nvramrc57
......open-dev40
......s"335
......testing a device driver30 to 35
............begin-select-dev33
............execute-device-method34
............patch33
............see32
............select-dev31
............unselect-dev33
.....unselect-device28

V

value
.....of property63, 79
.....property3
value42
variable42
"vendor-id"78

W

"width"78
words
.....FCode5
.....Forth5
words29