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

This manual describes GNU poke (version 3.0-dev-581-g1d290-modified, 20
August 2025).

   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: 590
poke.info-2: 300668
poke.info-3: 600623

Tag Table:
(Indirect)
Node: Top590
Node: Introduction9670
Node: Motivation9973
Node: Decode-Compute-Encode10751
Node: Describe-Compute14004
Node: Nomenclature16063
Node: Invoking poke17550
Node: Commanding poke19854
Node: The REPL20440
Node: Evaluation21824
Node: Commands and Dot-Commands23041
Node: Command Files26494
Node: Scripts27846
Node: Setting Up28823
Node: Setting up Hyperlinks29078
Node: Simple Init File32094
Node: Basic Editing34047
Node: Binary Files35448
Node: Files as IO Spaces37930
Node: Dumping File Contents43173
Ref: Dumping File Contents-Footnote-151054
Ref: Dumping File Contents-Footnote-251308
Node: Poking Bytes51526
Node: Values and Variables55929
Node: From Bytes to Integers58599
Ref: From Bytes to Integers-Footnote-164406
Node: Big and Little Endians64647
Ref: Big and Little Endians-Footnote-170999
Node: Negative Integers71058
Node: Weird Integers74650
Node: Unaligned Integers83643
Node: Write-only Partial Bytes88044
Node: Integers of Different Sizes90233
Node: Offsets and Sizes90799
Ref: Offsets and Sizes-Footnote-197644
Ref: Offsets and Sizes-Footnote-297757
Node: Buffers as IO Spaces97795
Node: Copying Bytes100203
Node: Saving Buffers in Files102570
Node: Character Sets103941
Node: From Bytes to Characters106349
Node: ASCII Strings109511
Node: From Strings to Characters114518
Node: Strings are not Arrays115309
Node: Structuring Data116586
Node: The SBM Format117801
Node: Poking a SBM Image121835
Node: Modifying SBM Images135088
Ref: Modifying SBM Images-Footnote-1150045
Node: Defining Types150083
Node: Pickles153554
Node: Poking Structs164047
Node: How Structs are Built167456
Node: Variables in Structs170725
Node: Functions in Structs172991
Node: Struct Methods175573
Node: Padding and Alignment183904
Node: Esoteric and exoteric padding184969
Node: Reserved fields185724
Node: Payloads189189
Node: Aligning struct fields193649
Node: Padding array elements195382
Node: Dealing with Alternatives198343
Ref: Dealing with Alternatives-Footnote-1204264
Node: Structured Integers204302
Node: Working with Incorrect Data209707
Node: Writing Pickles213406
Node: Pretty-printers214695
Node: Setters and Getters220174
Node: Writing Binary Utilities222758
Node: Poke Scripts223706
Node: Command-Line Arguments225505
Node: Exiting from Scripts226724
Node: Loading pickles as Modules227712
Node: elfextractor229373
Node: Filters236550
Node: Stream IO Spaces237474
Node: Reading from Streams239394
Node: Writing to Streams240946
Node: pk-strings241834
Node: pokerc242504
Ref: pokerc-Footnote-1243626
Node: Load Path243712
Node: Styling244954
Node: The Prompt245062
Node: IOS248604
Node: ios_dump_bytes248988
Node: ios_copy_bytes251069
Node: ios_save_bytes251935
Node: Data Encodings252724
Node: base64253032
Ref: base64-Footnote-1253382
Node: Time253436
Node: POSIX Time253682
Node: Colors254151
Node: The Color Registry254513
Node: RGB24 Encoding256428
Node: Audio257393
Node: MP3257533
Node: ID3V1 Tags257646
Node: Object Formats260422
Node: ELF260856
Node: Dwarf261132
Node: BPF261238
Node: Programs262192
Node: argp262459
Node: poked265796
Node: pokefmt269595
Node: Programming Emacs Modes271618
Node: poke-mode272060
Node: poke-ras-mode272641
Node: Vim Syntax Highlighting272991
Node: poke.vim273450
Node: Dot-Commands273982
Node: load command275159
Node: source command275853
Node: file command276181
Node: mem command277705
Node: mmap command278275
Node: nbd command281724
Node: proc command282640
Node: sub command283014
Node: ios command283422
Node: close command283937
Node: doc command284405
Node: editor command285466
Node: info command286048
Node: set command288447
Node: vm command293610
Node: .vm disassemble294131
Node: .vm profile294946
Node: .vm dispatch295472
Node: compiler command296090
Node: .compiler ast296474
Node: bases command296799
Node: exit command297226
Node: quit command297558
Node: Commands297753
Node: dump298155
Node: Information dump shows300668
Node: Presentation options for dump304600
Node: copy306832
Node: save307776
Node: sdiff309163
Node: extract309924
Node: scrabble310567
Node: The Poke Language311990
Node: Source Code Encoding313326
Node: Integers313800
Node: Integer Literals314978
Ref: Integer Literals-Footnote-1318200
Node: Characters318345
Node: Booleans319115
Node: Integer Types319418
Node: Casting Integers321107
Node: Relational Operators322704
Node: Arithmetic Operators323381
Node: Bitwise Operators324525
Node: Boolean Operators325798
Node: Integer Attributes326292
Node: Offsets327002
Node: Offset Literals327506
Node: Offset Units328444
Node: Offset Types331282
Node: Casting Offsets332786
Node: Offset Operations333408
Node: Offset Attributes335962
Node: Strings337209
Node: String Literals337942
Node: String Types338869
Node: String Indexing339065
Node: String Concatenation340222
Node: String Attributes341466
Node: String Formatting342171
Node: Arrays342802
Node: Array Literals343567
Node: Array Types345646
Node: Casting Arrays350388
Node: Array Constructors352112
Node: Array Comparison353786
Node: Array Indexing354200
Node: Array Trimming355724
Node: Array Elements357403
Node: Array Concatenation357913
Node: Array Attributes358381
Node: Arrays as Stacks360110
Node: Structs361073
Node: Struct Types362513
Node: Struct Constructors363598
Node: Struct Comparison365664
Node: Field Endianness366095
Node: Accessing Fields367698
Node: Field Constraints368228
Node: Field Initializers369790
Node: Field Labels373269
Node: Pinned Structs376337
Node: The OFFSET variable377120
Node: Integral Structs378078
Node: Unions387995
Node: Union Constructors389127
Node: Integral Unions390627
Node: Optional Fields391807
Node: Casting Structs394772
Node: Declarations in Structs396385
Node: Methods396853
Node: Struct Pretty Printers397600
Node: Computed Fields399181
Node: Struct Attributes401359
Node: Types403630
Node: type403920
Node: The any Type404701
Node: The isa Operator405650
Node: typeof406036
Node: Assignments411074
Node: Simple Assignments411363
Node: Bit Assignments412155
Node: Compound Statements413222
Node: Conditionals413833
Node: if-else414205
Node: Conditional Expression414689
Node: Loops415118
Node: while415504
Node: for416215
Node: for-in416608
Node: Expression Statements417575
Node: Functions418139
Node: Function Declarations418741
Node: Optional Arguments420097
Node: Variadic Functions420879
Node: Calling Functions421278
Node: Function Types422605
Node: Lambdas423419
Node: Function Comparison424051
Node: Function Attributes424586
Node: Assembler424852
Node: Endianness426821
Node: set endian427473
Node: Endian in Fields428368
Node: Endian built-ins428636
Node: Mapping433035
Node: IO Spaces433877
Node: open435181
Node: opensub437286
Node: openproc438346
Node: close438786
Node: flush439353
Node: get_ios440040
Node: set_ios440505
Node: iosearch441079
Node: iolist441499
Node: openset441951
Node: iovolatile442567
Node: iosize442992
Node: iotype443385
Node: iohandler443867
Node: ioflags444263
Node: IO Space Hooks444693
Node: The Map Operator445898
Node: Mapping Simple Types449114
Node: Mapping Structs449556
Node: Mapping Arrays450021
Node: Array maps bounded by number of elements450459
Node: Array maps bounded by size451859
Node: Unbounded array maps455312
Node: Mapped bounds in bounded arrays456798
Node: Mapping Functions458351
Node: Non-strict Mapping459070
Node: Auto-Remapping459859
Node: Unmapping461476
Node: Exception Handling462021
Node: Exceptions462621
Node: try-catch465482
Node: try-until466497
Node: raise467385
Node: exception-predicate467953
Node: assert469653
Node: Terminal470339
Node: Terminal Colors470868
Node: Terminal Styling472072
Node: Terminal Hyperlinks473276
Node: Printing473870
Node: print474178
Node: printf474666
Node: Comments479804
Node: Multi-line comments480196
Node: Single line comments480486
Node: Vertical separator480850
Node: Modules481186
Node: System483172
Node: getenv483485
Node: rand483841
Node: VM484386
Node: vm_obase485537
Node: vm_set_obase485810
Node: vm_opprint486344
Node: vm_set_opprint486688
Node: vm_oacutoff487078
Node: vm_set_oacutoff487420
Node: vm_odepth487856
Node: vm_set_odepth488191
Node: vm_oindent488656
Node: vm_set_oindent488955
Node: vm_omaps489547
Node: vm_set_omaps489879
Node: vm_omode490212
Node: vm_set_omode490620
Node: vm_autoremap491015
Node: vm_set_autoremap491360
Node: Debugging491681
Node: __LINE__ and __FILE__491975
Node: strace492609
Node: rtrace492941
Node: The Standard Library493197
Node: Standard Integral Types494432
Node: Standard Offset Types495175
Node: Standard Units495532
Node: Conversion Functions496237
Node: catos496882
Node: stoca497538
Node: strtoi498381
Node: atoi499606
Node: ltos500235
Node: stof500665
Node: stod500989
Node: Array Functions501300
Node: reverse501611
Node: String Functions501860
Node: ltrim502427
Node: rtrim502775
Node: strchr503139
Node: strrchr503570
Node: strstr503983
Node: strtok504460
Node: Character Functions507572
Node: isdigit507966
Node: isxdigit508265
Node: Values Functions508570
Node: eoffset508890
Node: IO Space Functions509315
Node: with_cur_ios509622
Node: with_temp_ios510438
Node: Sorting Functions511852
Node: qsort512074
Node: CRC Functions513033
Node: Dates and Times513694
Node: Offset Functions515423
Node: alignto515673
Node: Bitwise Operation Functions515976
Node: popcount516247
Node: Other Functions516759
Node: Version Tools517123
Node: The Poke Virtual Machine520882
Node: PVM Instructions521121
Node: VM instructions522215
Node: Instruction canary522943
Node: Instruction exit523348
Node: Instruction pushend523698
Node: Instruction popend524034
Node: Instruction pushob524427
Node: Instruction popob524825
Node: Instruction pushom525315
Node: Instruction popom525733
Node: Instruction pushoo526246
Node: Instruction popoo526638
Node: Instruction pushoi527067
Node: Instruction popoi527554
Node: Instruction pushod528054
Node: Instruction popod528407
Node: Instruction pushoac528781
Node: Instruction popoac529198
Node: Instruction pushopp529620
Node: Instruction popopp529995
Node: Instruction pushoc530401
Node: Instruction popoc530715
Node: Instruction pushobc531050
Node: Instruction popobc531379
Node: Instruction sync531727
Node: Instruction pusharem532205
Node: Instruction poparem532565
Node: IOS related instructions532925
Node: Instruction open533483
Node: Instruction close534451
Node: Instruction flush534963
Node: Instruction isios535516
Node: Instruction pushios535851
Node: Instruction popios536238
Node: Instruction ioflags536594
Node: Instruction iosize537039
Node: Instruction ionum537459
Node: Instruction ioref537743
Node: Instruction iotype538156
Node: Instruction iohandler538615
Node: Instruction iogetv539049
Node: Instruction iogetb539418
Node: Instruction iosetb539947
Node: Function management instructions540458
Node: Instruction call540765
Node: Instruction prolog541192
Node: Instruction return541612
Node: Environment instructions541906
Node: Instruction pushf542307
Node: Instruction popf542712
Node: Instruction pushvar542968
Node: Instruction pushtopvar543400
Node: Instruction popvar543931
Node: Instruction regvar544346
Node: Instruction duc544693
Node: Instruction pec544994
Node: Printing Instructions545276
Node: Instruction printi545920
Node: Instruction printiu546238
Node: Instruction printl546590
Node: Instruction printlu546927
Node: Instruction prints547277
Node: Instruction beghl547560
Node: Instruction endhl547855
Node: Instruction begsc548276
Node: Instruction endsc548685
Node: Format Instructions549157
Node: Instruction formati549760
Node: Instruction formatiu550095
Node: Instruction formatl550465
Node: Instruction formatlu550820
Node: Instruction formatf32551190
Node: Instruction formatf64552285
Node: Floating-point conversion instructions553408
Node: Instruction stof553715
Node: Instruction stod554186
Node: Main stack manipulation instructions554659
Node: Instruction push555318
Node: Instruction drop555596
Node: Instruction drop2555901
Node: Instruction drop3556221
Node: Instruction drop4556548
Node: Instruction swap556872
Node: Instruction nip557170
Node: Instruction nip2557468
Node: Instruction nip3557776
Node: Instruction dup558088
Node: Instruction over558389
Node: Instruction oover558704
Node: Instruction rot559029
Node: Instruction nrot559348
Node: Instruction tuck559672
Node: Instruction quake559996
Node: Instruction revn560306
Node: Instruction push32560615
Node: Registers manipulation instructions560964
Node: Instruction pushr561303
Node: Instruction popr561585
Node: Instruction setr561909
Node: Return stack manipulation instructions562205
Node: Instruction saver562600
Node: Instruction restorer562917
Node: Instruction tor563287
Node: Instruction fromr563622
Node: Instruction atr563957
Node: Integer overflow checking instructions.564251
Node: Instruction addiof564937
Node: Instruction addlof565301
Node: Instruction subiof565693
Node: Instruction sublof566089
Node: Instruction muliof566486
Node: Instruction mullof566882
Node: Instruction diviof567279
Node: Instruction divlof567672
Node: Instruction modiof568066
Node: Instruction modlof568479
Node: Instruction negiof568895
Node: Instruction neglof569296
Node: Instruction powiof569684
Node: Instruction powlof570089
Node: Arithmetic instructions570471
Node: Instruction addi571384
Node: Instruction addiu571897
Node: Instruction addl572232
Node: Instruction addlu572774
Node: Instruction subi573111
Node: Instruction subiu573553
Node: Instruction subl573893
Node: Instruction sublu574337
Node: Instruction muli574679
Node: Instruction muliu575121
Node: Instruction mull575463
Node: Instruction mullu575909
Node: Instruction divi576253
Node: Instruction diviu576928
Node: Instruction divl577491
Node: Instruction divlu578168
Node: Instruction modi578733
Node: Instruction modiu579399
Node: Instruction modl579953
Node: Instruction modlu580611
Node: Instruction negi581167
Node: Instruction negiu581602
Node: Instruction negl581938
Node: Instruction neglu582373
Node: Instruction powi582704
Node: Instruction powiu583252
Node: Instruction powl583697
Node: Instruction powlu584245
Node: Relational instructions584665
Node: Instruction eqi585572
Node: Instruction eqiu585886
Node: Instruction eql586241
Node: Instruction eqlu586581
Node: Instruction eqs586936
Node: Instruction nei587273
Node: Instruction neiu587615
Node: Instruction nel587973
Node: Instruction nelu588317
Node: Instruction nes588676
Node: Instruction nn589018
Node: Instruction nnn589343
Node: Instruction lti589671
Node: Instruction ltiu590025
Node: Instruction ltl590403
Node: Instruction ltlu590756
Node: Instruction lei591133
Node: Instruction leiu591497
Node: Instruction lel591885
Node: Instruction lelu592247
Node: Instruction gti592633
Node: Instruction gtiu592991
Node: Instruction gtl593373
Node: Instruction gtlu593729
Node: Instruction gei594105
Node: Instruction geiu594472
Node: Instruction gel594863
Node: Instruction gelu595228
Node: Instruction lts595617
Node: Instruction gts595993
Node: Instruction ges596371
Node: Instruction les596758
Node: Instruction eqc597142
Node: Instruction nec597481
Node: Concatenation instructions597800
Node: Instruction sconc598041
Node: Logical instructions598314
Node: Instruction and598577
Node: Instruction or598858
Node: Instruction not599159
Node: Bitwise instructions599427
Node: Instruction bxori600623
Node: Instruction bxoriu600925
Node: Instruction bxorl601270
Node: Instruction bxorlu601601
Node: Instruction bori601947
Node: Instruction boriu602261
Node: Instruction borl602590
Node: Instruction borlu602905
Node: Instruction bandi603228
Node: Instruction bandiu603547
Node: Instruction bandl603885
Node: Instruction bandlu604209
Node: Instruction bnoti604549
Node: Instruction bnotiu604862
Node: Instruction bnotl605185
Node: Instruction bnotlu605494
Node: Instruction popcountiu605822
Node: Instruction popcountlu606172
Node: Shift instructions606498
Node: Instruction bsli606871
Node: Instruction bsliu607354
Node: Instruction bsll607877
Node: Instruction bsllu608386
Node: Instruction bsri608909
Node: Instruction bsriu609284
Node: Instruction bsrl609673
Node: Instruction bsrlu610048
Node: Compare-and-swap instructions610412
Node: Instruction swapgti610732
Node: Instruction swapgtiu611092
Node: Instruction swapgtl611496
Node: Instruction swapgtlu611886
Node: Branch instructions612263
Node: Instruction ba612696
Node: Instruction bn612935
Node: Instruction bnn613239
Node: Instruction bzi613551
Node: Instruction bziu613859
Node: Instruction bzl614181
Node: Instruction bzlu614489
Node: Instruction bnzi614811
Node: Instruction bnziu615128
Node: Instruction bnzl615459
Node: Instruction bnzlu615778
Node: Conversion instructions616085
Node: Instruction ctos616663
Node: Instruction itoi617005
Node: Instruction itoiu617375
Node: Instruction itol617758
Node: Instruction itolu618126
Node: Instruction iutoi618508
Node: Instruction iutoiu618895
Node: Instruction iutol619295
Node: Instruction iutolu619680
Node: Instruction ltoi620077
Node: Instruction ltoiu620450
Node: Instruction ltol620834
Node: Instruction ltolu621203
Node: Instruction lutoi621586
Node: Instruction lutoiu621974
Node: Instruction lutol622375
Node: Instruction lutolu622719
Node: String instructions623050
Node: Instruction strref623407
Node: Instruction strset623982
Node: Instruction substr624540
Node: Instruction muls625171
Node: Instruction sprops625699
Node: Instruction sproph626056
Node: Instruction spropc626453
Node: Closure instructions626757
Node: Instruction cgetn626974
Node: Array instructions627261
Node: Instruction mka627578
Node: Instruction ains628133
Node: Instruction arem628883
Node: Instruction aset629353
Node: Instruction aref629744
Node: Instruction arefo630218
Node: Struct instructions630671
Node: Instruction mksct631131
Node: Instruction sset631827
Node: Instruction sseti632295
Node: Instruction sref632760
Node: Instruction srefo633270
Node: Instruction srefmnt633774
Node: Instruction srefnt634211
Node: Instruction srefi634686
Node: Instruction srefia635182
Node: Instruction srefio635702
Node: Instruction srefin636206
Node: Instruction smodi636748
Node: Offset Instructions637229
Node: Instruction mko637569
Node: Instruction mkoq637889
Node: Instruction ogetm638248
Node: Instruction osetm638544
Node: Instruction ogetu638866
Node: Instruction ogetbt639161
Node: Instructions to handle mapped values639436
Node: Instruction mm640112
Node: Instruction map640410
Node: Instruction unmap640751
Node: Instruction reloc641105
Node: Instruction ureloc641638
Node: Instruction mgets642054
Node: Instruction msets642446
Node: Instruction mgeto642843
Node: Instruction mseto643239
Node: Instruction mgetios643636
Node: Instruction msetios644031
Node: Instruction mgetm644520
Node: Instruction msetm644903
Node: Instruction mgetw645290
Node: Instruction msetw645671
Node: Instruction mgetsel646060
Node: Instruction msetsel646605
Node: Instruction mgetsiz647118
Node: Instruction msetsiz647620
Node: Type related instructions648068
Node: Instruction isa649140
Node: Instruction typof649465
Node: Instruction isty649840
Node: Instruction tyisi650162
Node: Instruction tyisiu650483
Node: Instruction tyisl650809
Node: Instruction tyislu651132
Node: Instruction tyiso651459
Node: Instruction tyiss651784
Node: Instruction tyisa652107
Node: Instruction tyisc652432
Node: Instruction tyissct652760
Node: Instruction tyisv653093
Node: Instruction mktyv653417
Node: Instruction mktyi653707
Node: Instruction tyigetsz654151
Node: Instruction tyigetsg654485
Node: Instruction mktys654845
Node: Instruction mktyo655125
Node: Instruction tyogetm655548
Node: Instruction tyogetu655867
Node: Instruction tyogetrt656182
Node: Instruction tyosetrt656574
Node: Instruction mktya657033
Node: Instruction tyagett657521
Node: Instruction tyagetb657850
Node: Instruction tyasetb658174
Node: Instruction mktyc658624
Node: Instruction mktysct659011
Node: Instruction tysctgetc659502
Node: Instruction tysctsetc659912
Node: Instruction tysctgetn660260
Node: Instruction tysctsetn660632
Node: Instruction tysctgetnf660986
Node: Instruction tysctgetfn661329
Node: Instruction tysctgetft661731
Node: IO instructions662061
Node: Instruction write662651
Node: Instruction peeki663027
Node: Instruction peekiu663633
Node: Instruction peekl664223
Node: Instruction peeklu664827
Node: Instruction peekdi665417
Node: Instruction peekdiu665975
Node: Instruction peekdl666524
Node: Instruction peekdlu667080
Node: Instruction pokei667626
Node: Instruction pokeiu668193
Node: Instruction pokel668743
Node: Instruction pokelu669306
Node: Instruction pokedi669855
Node: Instruction pokediu670377
Node: Instruction pokedl670890
Node: Instruction pokedlu671410
Node: Exceptions handling instructions671894
Node: Instruction pushe672215
Node: Instruction pope672629
Node: Instruction raise672973
Node: Instruction popexite673290
Node: Debugging Instructions673619
Node: Instruction strace673958
Node: Instruction rtrace674347
Node: Instruction disas674731
Node: Instruction note675065
Node: Instruction vmdisp675490
Node: System Interaction Instructions675773
Node: Instruction getenv676035
Node: Miscellaneous Instructions676463
Node: Instruction nop676804
Node: Instruction rand677019
Node: Instruction time677431
Node: Instruction sleep677826
Node: Instruction gc678388
Node: Instruction siz678643
Node: Instruction sel679005
Node: Table of ASCII Codes679512
Node: GNU Free Documentation License683736
Node: Indices708905
Node: Concept Index709154
Node: PVM Instruction Index739532

End Tag Table


Local Variables:
coding: utf-8
End:
