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

This manual describes GNU poke (version 5.0-modified, 9 August 2026).

   Copyright © 2019, 2020, 2021, 2022, 2023, 2024, 2025 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: 574
poke.info-2: 304482
poke.info-3: 600881

Tag Table:
(Indirect)
Node: Top574
Node: Introduction9638
Node: Motivation9941
Node: Decode-Compute-Encode10719
Node: Describe-Compute13972
Node: Nomenclature16031
Node: Invoking poke17518
Node: Commanding poke19822
Node: The REPL20408
Node: Evaluation21792
Node: Commands and Dot-Commands23009
Node: Command Files26462
Node: Scripts27814
Node: Setting Up28791
Node: Setting up Hyperlinks29046
Node: Simple Init File32258
Node: Basic Editing34211
Node: Binary Files35612
Node: Files as IO Spaces38094
Node: Dumping File Contents43337
Ref: Dumping File Contents-Footnote-151218
Ref: Dumping File Contents-Footnote-251472
Node: Poking Bytes51690
Node: Values and Variables56093
Node: From Bytes to Integers58763
Ref: From Bytes to Integers-Footnote-164570
Node: Big and Little Endians64811
Ref: Big and Little Endians-Footnote-171163
Node: Negative Integers71222
Node: Weird Integers74814
Node: Unaligned Integers83807
Node: Write-only Partial Bytes88208
Node: Integers of Different Sizes90397
Node: Offsets and Sizes90963
Ref: Offsets and Sizes-Footnote-197808
Ref: Offsets and Sizes-Footnote-297921
Node: Buffers as IO Spaces97959
Node: Copying Bytes100367
Node: Saving Buffers in Files102734
Node: Character Sets104105
Node: From Bytes to Characters106513
Node: ASCII Strings109675
Node: From Strings to Characters114682
Node: Strings are not Arrays115473
Node: Structuring Data116750
Node: The SBM Format117965
Node: Poking a SBM Image121999
Node: Modifying SBM Images135256
Ref: Modifying SBM Images-Footnote-1149943
Node: Defining Types149981
Node: Pickles153452
Node: Poking Structs163945
Node: How Structs are Built167354
Node: Variables in Structs170623
Node: Functions in Structs172889
Node: Struct Methods175471
Node: Padding and Alignment183802
Node: Esoteric and exoteric padding184867
Node: Reserved fields185622
Node: Payloads189087
Node: Aligning struct fields193547
Node: Padding array elements195280
Node: Dealing with Alternatives198241
Ref: Dealing with Alternatives-Footnote-1204162
Node: Structured Integers204200
Node: Working with Incorrect Data209605
Node: Writing Pickles213304
Node: Pretty-printers214593
Node: Setters and Getters220072
Node: Writing Binary Utilities222656
Node: Poke Scripts223604
Node: Command-Line Arguments225403
Node: Exiting from Scripts226622
Node: Loading pickles as Modules227610
Node: elfextractor229271
Node: Filters236448
Node: Stream IO Spaces237372
Node: Reading from Streams239292
Node: Writing to Streams240844
Node: pk-strings241732
Node: pokerc242402
Ref: pokerc-Footnote-1243524
Node: Load Path243610
Node: Styling244852
Node: The Prompt244960
Node: IOS248502
Node: ios_dump_bytes248886
Node: ios_copy_bytes250967
Node: ios_save_bytes251833
Node: Data Encodings252622
Node: base64252930
Ref: base64-Footnote-1253280
Node: Time253334
Node: POSIX Time253580
Node: Colors254049
Node: The Color Registry254411
Node: RGB24 Encoding256326
Node: Audio257291
Node: MP3257431
Node: ID3V1 Tags257544
Node: Object Formats260320
Node: ELF260754
Node: Dwarf261030
Node: BPF261136
Node: Programs262090
Node: argp262357
Node: poked265694
Node: pokefmt269493
Node: Programming Emacs Modes271516
Node: poke-mode271958
Node: poke-ras-mode272539
Node: Vim Syntax Highlighting272889
Node: poke.vim273348
Node: Dot-Commands273880
Node: load command275057
Node: source command275751
Node: file command276079
Node: mem command277603
Node: mmap command278173
Node: nbd command281622
Node: proc command282538
Node: sub command282912
Node: ios command283320
Node: close command283835
Node: doc command284303
Node: editor command285364
Node: info command285946
Node: set command288345
Node: vm command293508
Node: .vm disassemble294029
Node: .vm profile294844
Node: .vm dispatch295370
Node: compiler command295988
Node: .compiler ast296372
Node: bases command296697
Node: exit command297124
Node: quit command297456
Node: Commands297651
Node: dump298053
Node: Information dump shows299976
Node: Presentation options for dump304482
Node: copy306714
Node: save307658
Node: sdiff309045
Node: extract309806
Node: scrabble310449
Node: The Poke Language311872
Node: Source Code Encoding313208
Node: Integers313682
Node: Integer Literals314934
Ref: Integer Literals-Footnote-1318156
Node: Characters318301
Node: Booleans319071
Node: Integer Types319374
Node: Casting Integers321063
Node: Relational Operators322660
Node: Arithmetic Operators323337
Node: Bitwise Operators324481
Node: Boolean Operators325754
Node: Floating-point Operators326254
Node: Integer Attributes328124
Node: Offsets328841
Node: Offset Literals329345
Node: Offset Units330283
Node: Offset Types333121
Node: Casting Offsets334625
Node: Offset Operations335247
Node: Offset Attributes337801
Node: Strings339048
Node: String Literals339781
Node: String Types340708
Node: String Indexing340904
Node: String Concatenation342061
Node: String Attributes343305
Node: String Formatting344010
Node: Arrays344641
Node: Array Literals345406
Node: Array Types347485
Node: Casting Arrays352227
Node: Array Constructors353951
Node: Array Comparison355625
Node: Array Indexing356039
Node: Array Trimming357563
Node: Array Elements359242
Node: Array Concatenation359752
Node: Array Attributes360220
Node: Arrays as Stacks361949
Node: Structs362912
Node: Struct Types364352
Node: Struct Constructors365437
Node: Struct Comparison367503
Node: Field Endianness367934
Node: Accessing Fields369537
Node: Field Constraints370067
Node: Field Initializers371629
Node: Field Labels375108
Node: Pinned Structs378176
Node: The OFFSET variable378959
Node: Integral Structs379917
Node: Unions389834
Node: Union Constructors390966
Node: Integral Unions392466
Node: Optional Fields393646
Node: Casting Structs396611
Node: Declarations in Structs398224
Node: Methods398692
Node: Struct Pretty Printers399439
Node: Computed Fields401020
Node: Struct Attributes403198
Node: Types405469
Node: type405759
Node: The any Type406540
Node: The isa Operator407489
Node: typeof407875
Node: Assignments412913
Node: Simple Assignments413202
Node: Bit Assignments413994
Node: Compound Statements415061
Node: Conditionals415672
Node: if-else416044
Node: Conditional Expression416528
Node: Loops416957
Node: while417343
Node: for418054
Node: for-in418447
Node: Expression Statements419414
Node: Functions419978
Node: Function Declarations420580
Node: Optional Arguments421936
Node: Variadic Functions422718
Node: Calling Functions423117
Node: Function Types424444
Node: Lambdas425258
Node: Function Comparison425890
Node: Function Attributes426425
Node: Assembler426691
Node: Endianness428660
Node: set endian429312
Node: Endian in Fields430207
Node: Endian built-ins430475
Node: Mapping434874
Node: IO Spaces435716
Node: open437020
Node: opensub439243
Node: openproc440303
Node: close440743
Node: flush441310
Node: get_ios441997
Node: set_ios442462
Node: iosearch443036
Node: iolist443456
Node: openset443908
Node: iovolatile444524
Node: iosize444949
Node: iotype445342
Node: iohandler445824
Node: ioflags446220
Node: IO Space Hooks446650
Node: The Map Operator447855
Node: Mapping Simple Types451071
Node: Mapping Structs451513
Node: Mapping Arrays451978
Node: Array maps bounded by number of elements452416
Node: Array maps bounded by size453816
Node: Unbounded array maps457269
Node: Mapped bounds in bounded arrays458755
Node: Mapping Functions460308
Node: Non-strict Mapping461027
Node: Auto-Remapping461816
Node: Unmapping463433
Node: Exception Handling463978
Node: Exceptions464578
Node: try-catch467439
Node: try-until468454
Node: raise469342
Node: exception-predicate469910
Node: assert471610
Node: Terminal472296
Node: Terminal Colors472825
Node: Terminal Styling474029
Node: Terminal Hyperlinks475233
Node: Printing475827
Node: print476135
Node: printf476623
Node: Comments481761
Node: Multi-line comments482153
Node: Single line comments482443
Node: Vertical separator482807
Node: Modules483143
Node: System485129
Node: getenv485442
Node: rand485798
Node: VM486343
Node: vm_obase487494
Node: vm_set_obase487767
Node: vm_opprint488301
Node: vm_set_opprint488645
Node: vm_oacutoff489035
Node: vm_set_oacutoff489377
Node: vm_odepth489813
Node: vm_set_odepth490148
Node: vm_oindent490613
Node: vm_set_oindent490912
Node: vm_omaps491504
Node: vm_set_omaps491836
Node: vm_omode492169
Node: vm_set_omode492577
Node: vm_autoremap492972
Node: vm_set_autoremap493317
Node: Debugging493638
Node: __LINE__ and __FILE__493932
Node: strace494566
Node: rtrace494898
Node: The Standard Library495154
Node: Standard Integral Types496389
Node: Standard Offset Types497132
Node: Standard Units497489
Node: Conversion Functions498194
Node: catos498965
Node: stoca499621
Node: strtoi500464
Node: atoi501689
Node: ltos502318
Node: stof502748
Node: stod503072
Node: sqrtf503397
Node: sqrtd503734
Node: Array Functions504058
Node: reverse504369
Node: String Functions504618
Node: ltrim505185
Node: rtrim505533
Node: strchr505897
Node: strrchr506328
Node: strstr506741
Node: strtok507218
Node: Character Functions510330
Node: isdigit510724
Node: isxdigit511023
Node: Values Functions511328
Node: eoffset511648
Node: IO Space Functions512073
Node: with_cur_ios512380
Node: with_temp_ios513196
Node: Sorting Functions514610
Node: qsort514832
Node: CRC Functions515791
Node: Dates and Times516452
Node: Offset Functions518181
Node: alignto518431
Node: Bitwise Operation Functions518734
Node: popcount519005
Node: Other Functions519517
Node: Version Tools519881
Node: The Poke Virtual Machine523640
Node: PVM Instructions523879
Node: VM instructions525031
Node: Instruction canary525759
Node: Instruction exit526164
Node: Instruction pushend526514
Node: Instruction popend526850
Node: Instruction pushob527243
Node: Instruction popob527641
Node: Instruction pushom528131
Node: Instruction popom528549
Node: Instruction pushoo529062
Node: Instruction popoo529454
Node: Instruction pushoi529883
Node: Instruction popoi530370
Node: Instruction pushod530870
Node: Instruction popod531223
Node: Instruction pushoac531597
Node: Instruction popoac532014
Node: Instruction pushopp532436
Node: Instruction popopp532811
Node: Instruction pushoc533217
Node: Instruction popoc533531
Node: Instruction pushobc533866
Node: Instruction popobc534195
Node: Instruction sync534543
Node: Instruction pusharem535021
Node: Instruction poparem535381
Node: IOS related instructions535741
Node: Instruction open536351
Node: Instruction close537319
Node: Instruction flush537831
Node: Instruction isios538384
Node: Instruction pushios538719
Node: Instruction popios539106
Node: Instruction ioflags539462
Node: Instruction iosize539907
Node: Instruction ionum540327
Node: Instruction ioref540611
Node: Instruction iotype541024
Node: Instruction iohandler541483
Node: Instruction iogetv541917
Node: Instruction iogetb542286
Node: Instruction iosetb542815
Node: Instruction ioregval543355
Node: Instruction iodirtyall543731
Node: Function management instructions544123
Node: Instruction call544430
Node: Instruction prolog544857
Node: Instruction return545277
Node: Environment instructions545571
Node: Instruction pushf545972
Node: Instruction popf546377
Node: Instruction pushvar546633
Node: Instruction pushtopvar547065
Node: Instruction popvar547596
Node: Instruction regvar548011
Node: Instruction duc548358
Node: Instruction pec548659
Node: Printing Instructions548941
Node: Instruction printi549585
Node: Instruction printiu549903
Node: Instruction printl550255
Node: Instruction printlu550592
Node: Instruction prints550942
Node: Instruction beghl551225
Node: Instruction endhl551520
Node: Instruction begsc551941
Node: Instruction endsc552350
Node: Format Instructions552822
Node: Instruction formati553425
Node: Instruction formatiu553760
Node: Instruction formatl554130
Node: Instruction formatlu554485
Node: Instruction formatf32554855
Node: Instruction formatf64555950
Node: Floating-point conversion instructions557073
Node: Instruction stof557380
Node: Instruction stod557851
Node: Main stack manipulation instructions558324
Node: Instruction push558983
Node: Instruction drop559261
Node: Instruction drop2559566
Node: Instruction drop3559886
Node: Instruction drop4560213
Node: Instruction swap560537
Node: Instruction nip560835
Node: Instruction nip2561133
Node: Instruction nip3561441
Node: Instruction dup561753
Node: Instruction over562054
Node: Instruction oover562369
Node: Instruction rot562694
Node: Instruction nrot563013
Node: Instruction tuck563337
Node: Instruction quake563661
Node: Instruction revn563971
Node: Instruction push32564280
Node: Registers manipulation instructions564629
Node: Instruction pushr564968
Node: Instruction popr565250
Node: Instruction setr565574
Node: Return stack manipulation instructions565870
Node: Instruction saver566265
Node: Instruction restorer566582
Node: Instruction tor566952
Node: Instruction fromr567287
Node: Instruction atr567622
Node: Integer overflow checking instructions.567916
Node: Instruction addiof568602
Node: Instruction addlof568966
Node: Instruction subiof569358
Node: Instruction sublof569754
Node: Instruction muliof570151
Node: Instruction mullof570547
Node: Instruction diviof570944
Node: Instruction divlof571337
Node: Instruction modiof571731
Node: Instruction modlof572144
Node: Instruction negiof572560
Node: Instruction neglof572961
Node: Instruction powiof573349
Node: Instruction powlof573754
Node: Arithmetic instructions574136
Node: Instruction addi575079
Node: Instruction addiu575592
Node: Instruction addl575927
Node: Instruction addlu576469
Node: Instruction subi576806
Node: Instruction subiu577248
Node: Instruction subl577588
Node: Instruction sublu578032
Node: Instruction muli578374
Node: Instruction muliu578816
Node: Instruction mull579158
Node: Instruction mullu579604
Node: Instruction divi579948
Node: Instruction diviu580623
Node: Instruction divl581186
Node: Instruction divlu581863
Node: Instruction modi582428
Node: Instruction modiu583094
Node: Instruction modl583648
Node: Instruction modlu584306
Node: Instruction negi584862
Node: Instruction negiu585297
Node: Instruction negl585633
Node: Instruction neglu586068
Node: Instruction powi586399
Node: Instruction powiu586947
Node: Instruction powl587392
Node: Instruction powlu587940
Node: Floating-point arithmetic and relational instructions588360
Node: Instruction addf32589427
Node: Instruction subf32589844
Node: Instruction mulf32590296
Node: Instruction divf32590745
Node: Instruction cdivf32591192
Node: Instruction powf32591653
Node: Instruction modf32592109
Node: Instruction negf32592558
Node: Instruction sqrtf32592990
Node: Instruction ltf32593419
Node: Instruction lef32593888
Node: Instruction gtf32594356
Node: Instruction gef32594823
Node: Instruction eqf32595291
Node: Instruction nef32595759
Node: Instruction addf64596228
Node: Instruction subf64596678
Node: Instruction mulf64597137
Node: Instruction divf64597593
Node: Instruction cdivf64598047
Node: Instruction powf64598515
Node: Instruction modf64598978
Node: Instruction negf64599434
Node: Instruction sqrtf64599873
Node: Instruction ltf64600881
Node: Instruction lef64601350
Node: Instruction gtf64601818
Node: Instruction gef64602285
Node: Instruction eqf64602735
Node: Instruction nef64603203
Node: Relational instructions603645
Node: Instruction eqi604582
Node: Instruction eqiu604896
Node: Instruction eql605251
Node: Instruction eqlu605591
Node: Instruction eqs605946
Node: Instruction nei606283
Node: Instruction neiu606625
Node: Instruction nel606983
Node: Instruction nelu607327
Node: Instruction nes607686
Node: Instruction nn608028
Node: Instruction nnn608353
Node: Instruction lti608681
Node: Instruction ltiu609035
Node: Instruction ltl609413
Node: Instruction ltlu609766
Node: Instruction lei610143
Node: Instruction leiu610507
Node: Instruction lel610895
Node: Instruction lelu611257
Node: Instruction gti611643
Node: Instruction gtiu612001
Node: Instruction gtl612383
Node: Instruction gtlu612739
Node: Instruction gei613115
Node: Instruction geiu613482
Node: Instruction gel613873
Node: Instruction gelu614238
Node: Instruction lts614627
Node: Instruction gts615003
Node: Instruction ges615381
Node: Instruction les615768
Node: Instruction eqc616152
Node: Instruction nec616491
Node: Concatenation instructions616810
Node: Instruction sconc617051
Node: Logical instructions617324
Node: Instruction and617587
Node: Instruction or617868
Node: Instruction not618169
Node: Bitwise instructions618437
Node: Instruction bxori619043
Node: Instruction bxoriu619345
Node: Instruction bxorl619690
Node: Instruction bxorlu620021
Node: Instruction bori620367
Node: Instruction boriu620681
Node: Instruction borl621010
Node: Instruction borlu621325
Node: Instruction bandi621648
Node: Instruction bandiu621967
Node: Instruction bandl622305
Node: Instruction bandlu622629
Node: Instruction bnoti622969
Node: Instruction bnotiu623282
Node: Instruction bnotl623605
Node: Instruction bnotlu623914
Node: Instruction popcountiu624242
Node: Instruction popcountlu624592
Node: Shift instructions624918
Node: Instruction bsli625291
Node: Instruction bsliu625774
Node: Instruction bsll626297
Node: Instruction bsllu626806
Node: Instruction bsri627329
Node: Instruction bsriu627704
Node: Instruction bsrl628093
Node: Instruction bsrlu628468
Node: Compare-and-swap instructions628832
Node: Instruction swapgti629152
Node: Instruction swapgtiu629512
Node: Instruction swapgtl629916
Node: Instruction swapgtlu630306
Node: Branch instructions630683
Node: Instruction ba631116
Node: Instruction bn631355
Node: Instruction bnn631659
Node: Instruction bzi631971
Node: Instruction bziu632279
Node: Instruction bzl632601
Node: Instruction bzlu632909
Node: Instruction bnzi633231
Node: Instruction bnziu633548
Node: Instruction bnzl633879
Node: Instruction bnzlu634198
Node: Conversion instructions634505
Node: Instruction ctos635083
Node: Instruction itoi635425
Node: Instruction itoiu635795
Node: Instruction itol636178
Node: Instruction itolu636546
Node: Instruction iutoi636928
Node: Instruction iutoiu637315
Node: Instruction iutol637715
Node: Instruction iutolu638100
Node: Instruction ltoi638497
Node: Instruction ltoiu638870
Node: Instruction ltol639254
Node: Instruction ltolu639623
Node: Instruction lutoi640006
Node: Instruction lutoiu640394
Node: Instruction lutol640795
Node: Instruction lutolu641139
Node: String instructions641470
Node: Instruction strref641827
Node: Instruction strset642402
Node: Instruction substr642960
Node: Instruction muls643591
Node: Instruction sprops644119
Node: Instruction sproph644476
Node: Instruction spropc644873
Node: Closure instructions645177
Node: Instruction cgetn645394
Node: Array instructions645681
Node: Instruction mka645998
Node: Instruction ains646553
Node: Instruction arem647303
Node: Instruction aset647773
Node: Instruction aref648164
Node: Instruction arefo648638
Node: Struct instructions649091
Node: Instruction mksct649551
Node: Instruction sset650247
Node: Instruction sseti650715
Node: Instruction sref651180
Node: Instruction srefo651690
Node: Instruction srefmnt652194
Node: Instruction srefnt652631
Node: Instruction srefi653106
Node: Instruction srefia653602
Node: Instruction srefio654122
Node: Instruction srefin654626
Node: Instruction smodi655168
Node: Offset Instructions655649
Node: Instruction mko655989
Node: Instruction mkoq656309
Node: Instruction ogetm656668
Node: Instruction osetm656964
Node: Instruction ogetu657286
Node: Instruction ogetbt657581
Node: Instructions to handle mapped values657856
Node: Instruction mm658600
Node: Instruction map658898
Node: Instruction unmap659239
Node: Instruction reloc659593
Node: Instruction ureloc660126
Node: Instruction mgets660542
Node: Instruction msets660934
Node: Instruction mgeto661331
Node: Instruction mseto661727
Node: Instruction mgetios662124
Node: Instruction msetios662519
Node: Instruction mgetm663008
Node: Instruction msetm663391
Node: Instruction mgetw663778
Node: Instruction msetw664159
Node: Instruction mgetd664546
Node: Instruction msetd664938
Node: Instruction mcleard665276
Node: Instruction mgetsel665628
Node: Instruction msetsel666175
Node: Instruction mgetsiz666688
Node: Instruction msetsiz667190
Node: Type related instructions667638
Node: Instruction isa668710
Node: Instruction typof669035
Node: Instruction isty669410
Node: Instruction tyisi669732
Node: Instruction tyisiu670053
Node: Instruction tyisl670379
Node: Instruction tyislu670702
Node: Instruction tyiso671029
Node: Instruction tyiss671354
Node: Instruction tyisa671677
Node: Instruction tyisc672002
Node: Instruction tyissct672330
Node: Instruction tyisv672663
Node: Instruction mktyv672987
Node: Instruction mktyi673277
Node: Instruction tyigetsz673721
Node: Instruction tyigetsg674055
Node: Instruction mktys674415
Node: Instruction mktyo674695
Node: Instruction tyogetm675118
Node: Instruction tyogetu675437
Node: Instruction tyogetrt675752
Node: Instruction tyosetrt676144
Node: Instruction mktya676603
Node: Instruction tyagett677091
Node: Instruction tyagetb677420
Node: Instruction tyasetb677744
Node: Instruction mktyc678194
Node: Instruction mktysct678581
Node: Instruction tysctgetc679072
Node: Instruction tysctsetc679482
Node: Instruction tysctgetn679830
Node: Instruction tysctsetn680202
Node: Instruction tysctgetnf680556
Node: Instruction tysctgetfn680899
Node: Instruction tysctgetft681301
Node: IO instructions681631
Node: Instruction write682221
Node: Instruction peeki682597
Node: Instruction peekiu683203
Node: Instruction peekl683793
Node: Instruction peeklu684397
Node: Instruction peekdi684987
Node: Instruction peekdiu685545
Node: Instruction peekdl686094
Node: Instruction peekdlu686650
Node: Instruction pokei687196
Node: Instruction pokeiu687763
Node: Instruction pokel688313
Node: Instruction pokelu688876
Node: Instruction pokedi689425
Node: Instruction pokediu689947
Node: Instruction pokedl690460
Node: Instruction pokedlu690980
Node: Exceptions handling instructions691464
Node: Instruction pushe691785
Node: Instruction pope692199
Node: Instruction raise692543
Node: Instruction popexite692860
Node: Debugging Instructions693189
Node: Instruction strace693528
Node: Instruction rtrace693917
Node: Instruction disas694301
Node: Instruction note694635
Node: Instruction vmdisp695060
Node: System Interaction Instructions695343
Node: Instruction getenv695605
Node: Miscellaneous Instructions696033
Node: Instruction nop696374
Node: Instruction rand696589
Node: Instruction time697001
Node: Instruction sleep697396
Node: Instruction gc697958
Node: Instruction siz698213
Node: Instruction sel698575
Node: Table of ASCII Codes699082
Node: GNU Free Documentation License703306
Node: Indices728475
Node: Concept Index728724
Node: PVM Instruction Index759388

End Tag Table


Local Variables:
coding: utf-8
End:
