This is poke.info, produced by makeinfo version 7.2 from poke.texi.

This manual describes GNU poke (version 4.3, 9 March 2025).

   Copyright © 2019, 2020, 2021, 2022, 2023, 2024 The poke authors.

     You can redistribute it and/or modify this manual under the terms
     of the GNU General Public License as published by the Free Software
     Foundation, either version 3 of the License, or (at your option)
     any later version.
INFO-DIR-SECTION GNU poke
START-INFO-DIR-ENTRY
* poke: (poke). Interactive editor for binary files.
END-INFO-DIR-ENTRY


Indirect:
poke.info-1: 558
poke.info-2: 301186
poke.info-3: 600691

Tag Table:
(Indirect)
Node: Top558
Node: Introduction10121
Node: Motivation10424
Node: Decode-Compute-Encode11202
Node: Describe-Compute14455
Node: Nomenclature16514
Node: Invoking poke18001
Node: Commanding poke20305
Node: The REPL20891
Node: Evaluation22275
Node: Commands and Dot-Commands23492
Node: Command Files26945
Node: Scripts28297
Node: Setting Up29274
Node: Setting up Hyperlinks29529
Node: Simple Init File32545
Node: Basic Editing34566
Node: Binary Files35967
Node: Files as IO Spaces38449
Node: Dumping File Contents42918
Ref: Dumping File Contents-Footnote-150799
Ref: Dumping File Contents-Footnote-251053
Node: Poking Bytes51271
Node: Values and Variables55674
Node: From Bytes to Integers58344
Ref: From Bytes to Integers-Footnote-164150
Node: Big and Little Endians64391
Ref: Big and Little Endians-Footnote-170738
Node: Negative Integers70797
Node: Weird Integers74389
Node: Unaligned Integers83370
Node: Write-only Partial Bytes87771
Node: Integers of Different Sizes89960
Node: Offsets and Sizes90526
Ref: Offsets and Sizes-Footnote-197371
Ref: Offsets and Sizes-Footnote-297484
Node: Buffers as IO Spaces97522
Node: Copying Bytes99769
Node: Saving Buffers in Files102136
Node: Character Sets103415
Node: From Bytes to Characters105823
Node: ASCII Strings108985
Node: From Strings to Characters113992
Node: Strings are not Arrays114783
Node: Structuring Data116060
Node: The SBM Format117278
Node: Poking a SBM Image121312
Node: Modifying SBM Images134563
Ref: Modifying SBM Images-Footnote-1149428
Node: Defining Types149466
Node: Pickles152937
Node: Poking Structs163384
Node: How Structs are Built166793
Node: Variables in Structs170062
Node: Functions in Structs172328
Node: Struct Methods174910
Node: Padding and Alignment183239
Node: Esoteric and exoteric padding184304
Node: Reserved fields185059
Node: Payloads188524
Node: Aligning struct fields192987
Node: Padding array elements194720
Node: Dealing with Alternatives197680
Ref: Dealing with Alternatives-Footnote-1203600
Node: Structured Integers203638
Node: Working with Incorrect Data209043
Node: Maps and Map-files212742
Node: Editing using Variables213660
Node: poke Maps218138
Node: Loading Maps221696
Node: Multiple Maps226315
Node: Auto-map228779
Node: Constructing Maps229959
Node: Predefined Maps231560
Node: Writing Pickles231862
Node: Pretty-printers233153
Node: Setters and Getters238632
Node: Writing Binary Utilities241216
Node: Poke Scripts242164
Node: Command-Line Arguments243963
Node: Exiting from Scripts245182
Node: Loading pickles as Modules246170
Node: elfextractor247831
Node: Filters255008
Node: Stream IO Spaces255932
Node: Reading from Streams257852
Node: Writing to Streams259404
Node: pk-strings260292
Node: pokerc260961
Ref: pokerc-Footnote-1262083
Node: Load Path262169
Node: Styling263411
Node: Changing the Prompt263530
Node: IOS264616
Node: ios_dump_bytes265009
Node: ios_copy_bytes267090
Node: ios_save_bytes267956
Node: Data Encodings268745
Node: base64269053
Ref: base64-Footnote-1269403
Node: Time269457
Node: POSIX Time269703
Node: Colors270172
Node: The Color Registry270534
Node: RGB24 Encoding272449
Node: Audio273414
Node: MP3273554
Node: ID3V1 Tags273667
Node: Object Formats276443
Node: ELF276812
Node: Dwarf277088
Node: Programs277182
Node: argp277449
Node: poked280786
Node: pokefmt284580
Node: Programming Emacs Modes286603
Node: poke-mode287111
Node: poke-map-mode287692
Node: poke-ras-mode287960
Node: Vim Syntax Highlighting288314
Node: poke.vim288773
Node: Dot-Commands289305
Node: load command290399
Node: source command291093
Node: file command291421
Node: mem command292869
Node: mmap command293439
Node: nbd command296886
Node: proc command297802
Node: sub command298176
Node: ios command298584
Node: close command299099
Node: doc command299567
Node: editor command301186
Node: info command301768
Node: set command303969
Node: vm command310119
Node: .vm disassemble310640
Node: .vm profile311351
Node: .vm dispatch311877
Node: compiler command312495
Node: .compiler ast312878
Node: exit command313203
Node: quit command313538
Node: Commands313733
Node: dump314135
Node: Information dump shows316058
Node: Presentation options for dump319990
Node: copy322222
Node: save323166
Node: sdiff324553
Node: extract325314
Node: scrabble325957
Node: The Poke Language327380
Node: Source Code Encoding328716
Node: Integers329190
Node: Integer Literals330368
Ref: Integer Literals-Footnote-1333590
Node: Characters333735
Node: Booleans334505
Node: Integer Types334808
Node: Casting Integers336497
Node: Relational Operators338093
Node: Arithmetic Operators338770
Node: Bitwise Operators339914
Node: Boolean Operators341187
Node: Integer Attributes341681
Node: Offsets342428
Node: Offset Literals342932
Node: Offset Units343870
Node: Offset Types346708
Node: Casting Offsets348212
Node: Offset Operations348833
Node: Offset Attributes351387
Node: Strings352634
Node: String Literals353367
Node: String Types354294
Node: String Indexing354490
Node: String Concatenation355647
Node: String Attributes356891
Node: String Formatting357596
Node: Arrays358227
Node: Array Literals358992
Node: Array Types360614
Node: Casting Arrays365356
Node: Array Constructors367080
Node: Array Comparison368754
Node: Array Indexing369168
Node: Array Trimming370692
Node: Array Elements372371
Node: Array Concatenation372881
Node: Array Attributes373349
Node: Arrays as Stacks375078
Node: Structs376041
Node: Struct Types377481
Node: Struct Constructors378566
Node: Struct Comparison380632
Node: Field Endianness381063
Node: Accessing Fields382666
Node: Field Constraints383196
Node: Field Initializers384758
Node: Field Labels388237
Node: Pinned Structs391303
Node: The OFFSET variable392086
Node: Integral Structs393044
Node: Unions402960
Node: Union Constructors404092
Node: Integral Unions405592
Node: Optional Fields406772
Node: Casting Structs409737
Node: Declarations in Structs411350
Node: Methods411818
Node: Struct Pretty Printers412565
Node: Computed Fields414146
Node: Struct Attributes416324
Node: Types418595
Node: type418885
Node: The any Type419666
Node: The isa Operator420615
Node: typeof421000
Node: Assignments426038
Node: Simple Assignments426327
Node: Bit Assignments427119
Node: Compound Statements428186
Node: Conditionals428797
Node: if-else429169
Node: Conditional Expression429653
Node: Loops430082
Node: while430468
Node: for431179
Node: for-in431572
Node: Expression Statements432539
Node: Functions433103
Node: Function Declarations433705
Node: Optional Arguments435061
Node: Variadic Functions435843
Node: Calling Functions436242
Node: Function Types437569
Node: Lambdas438383
Node: Function Comparison439014
Node: Function Attributes439549
Node: Assembler439815
Node: Endianness441784
Node: set endian442436
Node: Endian in Fields443331
Node: Endian built-ins443599
Node: Mapping447998
Node: IO Spaces448840
Node: open450001
Node: opensub452106
Node: openproc453166
Node: close453606
Node: flush454173
Node: get_ios454860
Node: set_ios455325
Node: iosearch455899
Node: iolist456319
Node: openset456771
Node: iosize457383
Node: iohandler457776
Node: ioflags458172
Node: IO Space Hooks458602
Node: The Map Operator459807
Node: Mapping Simple Types463023
Node: Mapping Structs463465
Node: Mapping Arrays463930
Node: Array maps bounded by number of elements464368
Node: Array maps bounded by size465768
Node: Unbounded array maps469221
Node: Mapped bounds in bounded arrays470707
Node: Mapping Functions472260
Node: Non-strict Mapping472979
Node: Auto-Remapping473768
Node: Unmapping475200
Node: Exception Handling475745
Node: Exceptions476345
Node: try-catch479206
Node: try-until480221
Node: raise481109
Node: exception-predicate481677
Node: assert483377
Node: Terminal484063
Node: Terminal Colors484592
Node: Terminal Styling485796
Node: Terminal Hyperlinks487000
Node: Printing487594
Node: print487902
Node: printf488390
Node: Comments493528
Node: Multi-line comments493920
Node: Single line comments494210
Node: Vertical separator494574
Node: Modules494910
Node: System496632
Node: getenv496945
Node: rand497301
Node: VM497846
Node: vm_obase498997
Node: vm_set_obase499270
Node: vm_opprint499804
Node: vm_set_opprint500148
Node: vm_oacutoff500538
Node: vm_set_oacutoff500880
Node: vm_odepth501316
Node: vm_set_odepth501651
Node: vm_oindent502116
Node: vm_set_oindent502415
Node: vm_omaps503007
Node: vm_set_omaps503339
Node: vm_omode503672
Node: vm_set_omode504080
Node: vm_autoremap504475
Node: vm_set_autoremap504820
Node: Debugging505141
Node: __LINE__ and __FILE__505435
Node: strace506069
Node: rtrace506401
Node: The Standard Library506657
Node: Standard Integral Types507805
Node: Standard Offset Types508548
Node: Standard Units508905
Node: Conversion Functions509610
Node: catos510255
Node: stoca510911
Node: strtoi511754
Node: atoi512979
Node: ltos513608
Node: stof514038
Node: stod514362
Node: Array Functions514673
Node: reverse514984
Node: String Functions515233
Node: ltrim515800
Node: rtrim516148
Node: strchr516512
Node: strrchr516943
Node: strstr517356
Node: strtok517833
Node: Character Functions520945
Node: isdigit521339
Node: isxdigit521638
Node: Values Functions521943
Node: eoffset522263
Node: IO Space Functions522688
Node: with_cur_ios522995
Node: with_temp_ios523811
Node: Sorting Functions525222
Node: qsort525444
Node: CRC Functions526403
Node: Dates and Times527064
Node: Offset Functions528793
Node: alignto529031
Node: Other Functions529334
Node: Version Tools529687
Node: The Poke Virtual Machine533446
Node: PVM Instructions533685
Node: VM instructions534779
Node: Instruction canary535507
Node: Instruction exit535912
Node: Instruction pushend536262
Node: Instruction popend536598
Node: Instruction pushob536991
Node: Instruction popob537389
Node: Instruction pushom537879
Node: Instruction popom538297
Node: Instruction pushoo538810
Node: Instruction popoo539202
Node: Instruction pushoi539631
Node: Instruction popoi540118
Node: Instruction pushod540618
Node: Instruction popod540971
Node: Instruction pushoac541345
Node: Instruction popoac541762
Node: Instruction pushopp542184
Node: Instruction popopp542559
Node: Instruction pushoc542965
Node: Instruction popoc543279
Node: Instruction pushobc543614
Node: Instruction popobc543943
Node: Instruction sync544291
Node: Instruction pusharem544769
Node: Instruction poparem545129
Node: IOS related instructions545489
Node: Instruction open545979
Node: Instruction close546947
Node: Instruction flush547459
Node: Instruction pushios548014
Node: Instruction popios548401
Node: Instruction ioflags548839
Node: Instruction iosize549345
Node: Instruction ionum549826
Node: Instruction ioref550111
Node: Instruction iohandler550575
Node: Instruction iogetb551069
Node: Instruction iosetb551684
Node: Function management instructions552274
Node: Instruction call552581
Node: Instruction prolog553008
Node: Instruction return553428
Node: Environment instructions553722
Node: Instruction pushf554123
Node: Instruction popf554528
Node: Instruction pushvar554784
Node: Instruction pushtopvar555216
Node: Instruction popvar555747
Node: Instruction regvar556162
Node: Instruction duc556509
Node: Instruction pec556810
Node: Printing Instructions557092
Node: Instruction printi557736
Node: Instruction printiu558054
Node: Instruction printl558406
Node: Instruction printlu558743
Node: Instruction prints559093
Node: Instruction beghl559376
Node: Instruction endhl559671
Node: Instruction begsc560092
Node: Instruction endsc560501
Node: Format Instructions560973
Node: Instruction formati561576
Node: Instruction formatiu561911
Node: Instruction formatl562281
Node: Instruction formatlu562636
Node: Instruction formatf32563006
Node: Instruction formatf64564101
Node: Floating-point conversion instructions565224
Node: Instruction stof565531
Node: Instruction stod566002
Node: Main stack manipulation instructions566475
Node: Instruction push567134
Node: Instruction drop567412
Node: Instruction drop2567717
Node: Instruction drop3568037
Node: Instruction drop4568364
Node: Instruction swap568688
Node: Instruction nip568986
Node: Instruction nip2569284
Node: Instruction nip3569592
Node: Instruction dup569904
Node: Instruction over570205
Node: Instruction oover570520
Node: Instruction rot570845
Node: Instruction nrot571164
Node: Instruction tuck571488
Node: Instruction quake571812
Node: Instruction revn572122
Node: Instruction push32572431
Node: Registers manipulation instructions572780
Node: Instruction pushr573119
Node: Instruction popr573401
Node: Instruction setr573725
Node: Return stack manipulation instructions574021
Node: Instruction saver574416
Node: Instruction restorer574733
Node: Instruction tor575103
Node: Instruction fromr575438
Node: Instruction atr575773
Node: Integer overflow checking instructions.576067
Node: Instruction addiof576753
Node: Instruction addlof577117
Node: Instruction subiof577509
Node: Instruction sublof577905
Node: Instruction muliof578302
Node: Instruction mullof578698
Node: Instruction diviof579095
Node: Instruction divlof579488
Node: Instruction modiof579882
Node: Instruction modlof580295
Node: Instruction negiof580711
Node: Instruction neglof581112
Node: Instruction powiof581500
Node: Instruction powlof581905
Node: Arithmetic instructions582287
Node: Instruction addi583200
Node: Instruction addiu583713
Node: Instruction addl584048
Node: Instruction addlu584590
Node: Instruction subi584927
Node: Instruction subiu585369
Node: Instruction subl585709
Node: Instruction sublu586153
Node: Instruction muli586495
Node: Instruction muliu586937
Node: Instruction mull587279
Node: Instruction mullu587725
Node: Instruction divi588069
Node: Instruction diviu588744
Node: Instruction divl589307
Node: Instruction divlu589984
Node: Instruction modi590549
Node: Instruction modiu591215
Node: Instruction modl591769
Node: Instruction modlu592427
Node: Instruction negi592983
Node: Instruction negiu593418
Node: Instruction negl593754
Node: Instruction neglu594189
Node: Instruction powi594520
Node: Instruction powiu595068
Node: Instruction powl595513
Node: Instruction powlu596061
Node: Relational instructions596481
Node: Instruction eqi597388
Node: Instruction eqiu597702
Node: Instruction eql598057
Node: Instruction eqlu598397
Node: Instruction eqs598752
Node: Instruction nei599089
Node: Instruction neiu599431
Node: Instruction nel599789
Node: Instruction nelu600691
Node: Instruction nes601050
Node: Instruction nn601392
Node: Instruction nnn601717
Node: Instruction lti602045
Node: Instruction ltiu602399
Node: Instruction ltl602777
Node: Instruction ltlu603130
Node: Instruction lei603507
Node: Instruction leiu603871
Node: Instruction lel604259
Node: Instruction lelu604621
Node: Instruction gti605007
Node: Instruction gtiu605365
Node: Instruction gtl605747
Node: Instruction gtlu606103
Node: Instruction gei606479
Node: Instruction geiu606846
Node: Instruction gel607237
Node: Instruction gelu607602
Node: Instruction lts607991
Node: Instruction gts608367
Node: Instruction ges608745
Node: Instruction les609132
Node: Instruction eqc609516
Node: Instruction nec609855
Node: Concatenation instructions610174
Node: Instruction sconc610415
Node: Logical instructions610688
Node: Instruction and610951
Node: Instruction or611232
Node: Instruction not611533
Node: Bitwise instructions611801
Node: Instruction bxori612353
Node: Instruction bxoriu612655
Node: Instruction bxorl613000
Node: Instruction bxorlu613331
Node: Instruction bori613677
Node: Instruction boriu613991
Node: Instruction borl614320
Node: Instruction borlu614635
Node: Instruction bandi614958
Node: Instruction bandiu615277
Node: Instruction bandl615615
Node: Instruction bandlu615939
Node: Instruction bnoti616279
Node: Instruction bnotiu616592
Node: Instruction bnotl616915
Node: Instruction bnotlu617224
Node: Shift instructions617521
Node: Instruction bsli617894
Node: Instruction bsliu618377
Node: Instruction bsll618900
Node: Instruction bsllu619409
Node: Instruction bsri619932
Node: Instruction bsriu620307
Node: Instruction bsrl620696
Node: Instruction bsrlu621071
Node: Compare-and-swap instructions621435
Node: Instruction swapgti621755
Node: Instruction swapgtiu622115
Node: Instruction swapgtl622519
Node: Instruction swapgtlu622909
Node: Branch instructions623286
Node: Instruction ba623719
Node: Instruction bn623958
Node: Instruction bnn624262
Node: Instruction bzi624574
Node: Instruction bziu624882
Node: Instruction bzl625204
Node: Instruction bzlu625512
Node: Instruction bnzi625834
Node: Instruction bnziu626151
Node: Instruction bnzl626482
Node: Instruction bnzlu626801
Node: Conversion instructions627108
Node: Instruction ctos627686
Node: Instruction itoi628028
Node: Instruction itoiu628398
Node: Instruction itol628781
Node: Instruction itolu629149
Node: Instruction iutoi629531
Node: Instruction iutoiu629918
Node: Instruction iutol630318
Node: Instruction iutolu630703
Node: Instruction ltoi631100
Node: Instruction ltoiu631473
Node: Instruction ltol631857
Node: Instruction ltolu632226
Node: Instruction lutoi632609
Node: Instruction lutoiu632997
Node: Instruction lutol633398
Node: Instruction lutolu633742
Node: String instructions634073
Node: Instruction strref634430
Node: Instruction strset635005
Node: Instruction substr635563
Node: Instruction muls636194
Node: Instruction sprops636722
Node: Instruction sproph637079
Node: Instruction spropc637476
Node: Closure instructions637780
Node: Instruction cgetn637997
Node: Array instructions638284
Node: Instruction mka638601
Node: Instruction ains639156
Node: Instruction arem639906
Node: Instruction aset640376
Node: Instruction aref640767
Node: Instruction arefo641241
Node: Struct instructions641694
Node: Instruction mksct642154
Node: Instruction sset642850
Node: Instruction sseti643318
Node: Instruction sref643783
Node: Instruction srefo644293
Node: Instruction srefmnt644797
Node: Instruction srefnt645234
Node: Instruction srefi645709
Node: Instruction srefia646205
Node: Instruction srefio646725
Node: Instruction srefin647229
Node: Instruction smodi647771
Node: Offset Instructions648252
Node: Instruction mko648592
Node: Instruction mkoq648912
Node: Instruction ogetm649271
Node: Instruction osetm649567
Node: Instruction ogetu649889
Node: Instruction ogetbt650184
Node: Instructions to handle mapped values650459
Node: Instruction mm651135
Node: Instruction map651433
Node: Instruction unmap651774
Node: Instruction reloc652128
Node: Instruction ureloc652661
Node: Instruction mgets653077
Node: Instruction msets653469
Node: Instruction mgeto653866
Node: Instruction mseto654262
Node: Instruction mgetios654659
Node: Instruction msetios655054
Node: Instruction mgetm655543
Node: Instruction msetm655926
Node: Instruction mgetw656313
Node: Instruction msetw656694
Node: Instruction mgetsel657083
Node: Instruction msetsel657628
Node: Instruction mgetsiz658141
Node: Instruction msetsiz658643
Node: Type related instructions659091
Node: Instruction isa660163
Node: Instruction typof660488
Node: Instruction isty660863
Node: Instruction tyisi661185
Node: Instruction tyisiu661506
Node: Instruction tyisl661832
Node: Instruction tyislu662155
Node: Instruction tyiso662482
Node: Instruction tyiss662807
Node: Instruction tyisa663130
Node: Instruction tyisc663455
Node: Instruction tyissct663783
Node: Instruction tyisv664116
Node: Instruction mktyv664440
Node: Instruction mktyi664730
Node: Instruction tyigetsz665174
Node: Instruction tyigetsg665508
Node: Instruction mktys665868
Node: Instruction mktyo666148
Node: Instruction tyogetm666571
Node: Instruction tyogetu666890
Node: Instruction tyogetrt667205
Node: Instruction tyosetrt667597
Node: Instruction mktya668056
Node: Instruction tyagett668544
Node: Instruction tyagetb668873
Node: Instruction tyasetb669197
Node: Instruction mktyc669647
Node: Instruction mktysct670034
Node: Instruction tysctgetc670525
Node: Instruction tysctsetc670935
Node: Instruction tysctgetn671283
Node: Instruction tysctsetn671655
Node: Instruction tysctgetnf672009
Node: Instruction tysctgetfn672352
Node: Instruction tysctgetft672754
Node: IO instructions673084
Node: Instruction write673718
Node: Instruction peeki674094
Node: Instruction peekiu674700
Node: Instruction peekl675290
Node: Instruction peeklu675894
Node: Instruction peekdi676484
Node: Instruction peekdiu677042
Node: Instruction peekdl677591
Node: Instruction peekdlu678147
Node: Instruction pokei678693
Node: Instruction pokeiu679260
Node: Instruction pokel679810
Node: Instruction pokelu680373
Node: Instruction pokedi680922
Node: Instruction pokediu681444
Node: Instruction pokedl681957
Node: Instruction pokedlu682477
Node: Instruction peeks682987
Node: Instruction pokes683459
Node: Exceptions handling instructions683862
Node: Instruction pushe684183
Node: Instruction pope684597
Node: Instruction raise684941
Node: Instruction popexite685258
Node: Debugging Instructions685587
Node: Instruction strace685926
Node: Instruction rtrace686315
Node: Instruction disas686699
Node: Instruction note687033
Node: Instruction vmdisp687458
Node: System Interaction Instructions687741
Node: Instruction getenv688003
Node: Miscellaneous Instructions688431
Node: Instruction nop688753
Node: Instruction rand688968
Node: Instruction time689380
Node: Instruction sleep689775
Node: Instruction siz690338
Node: Instruction sel690703
Node: Table of ASCII Codes691210
Node: GNU Free Documentation License695434
Node: Indices720603
Node: Concept Index720852
Node: PVM Instruction Index750865

End Tag Table


Local Variables:
coding: utf-8
End:
