pax_global_header00006660000000000000000000000064147374272250014527gustar00rootroot0000000000000052 comment=fca11b2c31e4b98a5cc6c32ab43a915ca6513f40 golang-golang-x-arch-0.13.0/000077500000000000000000000000001473742722500155045ustar00rootroot00000000000000golang-golang-x-arch-0.13.0/CONTRIBUTING.md000066400000000000000000000016211473742722500177350ustar00rootroot00000000000000# Contributing to Go Go is an open source project. It is the work of hundreds of contributors. We appreciate your help! ## Filing issues When [filing an issue](https://golang.org/issue/new), make sure to answer these five questions: 1. What version of Go are you using (`go version`)? 2. What operating system and processor architecture are you using? 3. What did you do? 4. What did you expect to see? 5. What did you see instead? General questions should go to the [golang-nuts mailing list](https://groups.google.com/group/golang-nuts) instead of the issue tracker. The gophers there will answer or ask you to file an issue if you've tripped over a bug. ## Contributing code Please read the [Contribution Guidelines](https://golang.org/doc/contribute.html) before sending patches. Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file. golang-golang-x-arch-0.13.0/LICENSE000066400000000000000000000026551473742722500165210ustar00rootroot00000000000000Copyright 2015 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. golang-golang-x-arch-0.13.0/PATENTS000066400000000000000000000024271473742722500165520ustar00rootroot00000000000000Additional IP Rights Grant (Patents) "This implementation" means the copyrightable works distributed by Google as part of the Go project. Google hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, transfer and otherwise run, modify and propagate the contents of this implementation of Go, where such license applies only to those patent claims, both currently owned or controlled by Google and acquired in the future, licensable by Google that are necessarily infringed by this implementation of Go. This grant does not include claims that would be infringed only as a consequence of further modification of this implementation. If you or your agent or exclusive licensee institute or order or agree to the institution of patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that this implementation of Go or any code incorporated within this implementation of Go constitutes direct or contributory patent infringement, or inducement of patent infringement, then any patent rights granted to you under this License for this implementation of Go shall terminate as of the date such litigation is filed. golang-golang-x-arch-0.13.0/README.md000066400000000000000000000011751473742722500167670ustar00rootroot00000000000000# arch [![Go Reference](https://pkg.go.dev/badge/golang.org/x/arch.svg)](https://pkg.go.dev/golang.org/x/arch) This repository holds machine architecture information used by the Go toolchain. The parts needed in the main Go repository are copied in. ## Report Issues / Send Patches This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute. The git repository is https://go.googlesource.com/arch. The main issue tracker for the arch repository is located at https://go.dev/issues. Prefix your issue with "x/arch:" in the subject line, so it is easy to find. golang-golang-x-arch-0.13.0/arm/000077500000000000000000000000001473742722500162635ustar00rootroot00000000000000golang-golang-x-arch-0.13.0/arm/arm.csv000066400000000000000000001541071473742722500175670ustar00rootroot00000000000000# arm instruction description version 0.01. # https://golang.org/x/arch/arm # # This file contains a block of comment lines, each beginning with #, # followed by entries in CSV format. All the # comments are at the top # of the file, so a reader can skip past the comments and hand the # rest of the file to a standard CSV reader. # # Each line in the CSV section contains 5 fields: # # mask value mnemonic encoding tags # # The mnemonic and encoding correspond to the notation used in the # ARM Architecture Reference Manual. # # A particular instruction word w matches a line if w&mask == value. # The mask and value are computed from a combination of the encodings # and the additional pseudocode restrictions given in the manual # for each instruction. # # Multiple lines may match a particular instruction word. # The tags specify which line takes priority in these cases, # as a partial order. Eventually the plan is that a tag of the form # 'name:x' marks a line with the name x, and a tag of the form # 'except:x' says that the line on which the tag appears is of lower # priority than the ones marked with name x. # For now, however, a tag of the form 'SEE XXX' is taken from the # manual and is like 'except:x' but without a rigorous resolution for # the x. So far we've been able to just sort instructions into two classes: # those with SEE and those without. # # The tag 'pseudo' indicates that this instruction is an alternate name # for another encoding and should be ignored during disassembly. # # This file was generated by a program reading the PDF version of # the manual, but it was then hand edited to make corrections. # The eventual plan is for the generator to write the # file directly, using the PDF and a list of modifications, but # no hand editing. Then, when a new version of the manual comes out, # updating the list should be as easy as downloading the new PDF # and invoking the generator. However, we are not there yet. # "0x0fe00000","0x02a00000","ADC{S} ,,#","cond:4|0|0|1|0|1|0|1|S|Rn:4|Rd:4|imm12:12","SEE SUBS PC, LR and related instructions" "0x0fe00090","0x00a00010","ADC{S} ,,, ","cond:4|0|0|0|0|1|0|1|S|Rn:4|Rd:4|Rs:4|0|type:2|1|Rm:4","" "0x0fe00010","0x00a00000","ADC{S} ,,{,}","cond:4|0|0|0|0|1|0|1|S|Rn:4|Rd:4|imm5:5|type:2|0|Rm:4","SEE SUBS PC, LR and related instructions" "0x0fe00000","0x02800000","ADD{S} ,,#","cond:4|0|0|1|0|1|0|0|S|Rn:4|Rd:4|imm12:12","SEE ADR SEE ADD (SP plus immediate) SEE SUBS PC, LR and related instructions" "0x0fe00090","0x00800010","ADD{S} ,,, ","cond:4|0|0|0|0|1|0|0|S|Rn:4|Rd:4|Rs:4|0|type:2|1|Rm:4","" "0x0fe00010","0x00800000","ADD{S} ,,{,}","cond:4|0|0|0|0|1|0|0|S|Rn:4|Rd:4|imm5:5|type:2|0|Rm:4","SEE SUBS PC, LR and related instructions SEE ADD (SP plus register)" "0x0fef0000","0x028d0000","ADD{S} ,SP,#","cond:4|0|0|1|0|1|0|0|S|1|1|0|1|Rd:4|imm12:12","SEE SUBS PC, LR and related instructions" "0x0fef0010","0x008d0000","ADD{S} ,SP,{,}","cond:4|0|0|0|0|1|0|0|S|1|1|0|1|Rd:4|imm5:5|type:2|0|Rm:4","SEE SUBS PC, LR and related instructions" "0x0fff0000","0x028f0000","ADR ,","cond:4|0|0|1|0|1|0|0|0|1|1|1|1|Rd:4|imm12:12","pseudo" "0x0fff0000","0x024f0000","ADR ,","cond:4|0|0|1|0|0|1|0|0|1|1|1|1|Rd:4|imm12:12","pseudo" "0x0fe00000","0x02000000","AND{S} ,,#","cond:4|0|0|1|0|0|0|0|S|Rn:4|Rd:4|imm12:12","SEE SUBS PC, LR and related instructions" "0x0fe00090","0x00000010","AND{S} ,,, ","cond:4|0|0|0|0|0|0|0|S|Rn:4|Rd:4|Rs:4|0|type:2|1|Rm:4","" "0x0fe00010","0x00000000","AND{S} ,,{,}","cond:4|0|0|0|0|0|0|0|S|Rn:4|Rd:4|imm5:5|type:2|0|Rm:4","SEE SUBS PC, LR and related instructions" "0x0fef0070","0x01a00040","ASR{S} ,,#","cond:4|0|0|0|1|1|0|1|S|0|0|0|0|Rd:4|imm5:5|1|0|0|Rm:4","" "0x0fef00f0","0x01a00050","ASR{S} ,,","cond:4|0|0|0|1|1|0|1|S|0|0|0|0|Rd:4|Rm:4|0|1|0|1|Rn:4","" "0x0f000000","0x0a000000","B ","cond:4|1|0|1|0|imm24:24","" "0x0fe0007f","0x07c0001f","BFC ,#,#","cond:4|0|1|1|1|1|1|0|msb:5|Rd:4|lsb:5|0|0|1|1|1|1|1","" "0x0fe00070","0x07c00010","BFI ,,#,#","cond:4|0|1|1|1|1|1|0|msb:5|Rd:4|lsb:5|0|0|1|Rn:4","SEE BFC" "0x0fe00000","0x03c00000","BIC{S} ,,#","cond:4|0|0|1|1|1|1|0|S|Rn:4|Rd:4|imm12:12","SEE SUBS PC, LR and related instructions" "0x0fe00090","0x01c00010","BIC{S} ,,, ","cond:4|0|0|0|1|1|1|0|S|Rn:4|Rd:4|Rs:4|0|type:2|1|Rm:4","" "0x0fe00010","0x01c00000","BIC{S} ,,{,}","cond:4|0|0|0|1|1|1|0|S|Rn:4|Rd:4|imm5:5|type:2|0|Rm:4","SEE SUBS PC, LR and related instructions" "0x0ff000f0","0x01200070","BKPT #","cond:4|0|0|0|1|0|0|1|0|imm12:12|0|1|1|1|imm4:4","" "0x0f000000","0x0b000000","BL ","cond:4|1|0|1|1|imm24:24","" "0xfe000000","0xfa000000","BLX ","1|1|1|1|1|0|1|H|imm24:24","" "0x0ffffff0","0x012fff30","BLX ","cond:4|0|0|0|1|0|0|1|0|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|0|0|1|1|Rm:4","" "0x0ffffff0","0x012fff10","BX ","cond:4|0|0|0|1|0|0|1|0|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|0|0|0|1|Rm:4","" "0x0ffffff0","0x012fff20","BXJ ","cond:4|0|0|0|1|0|0|1|0|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|0|0|1|0|Rm:4","" "0xffffffff","0xf57ff01f","CLREX","1|1|1|1|0|1|0|1|0|1|1|1|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(1)|(0)|(0)|(0)|(0)|0|0|0|1|(1)|(1)|(1)|(1)","" "0x0fff0ff0","0x016f0f10","CLZ ,","cond:4|0|0|0|1|0|1|1|0|(1)|(1)|(1)|(1)|Rd:4|(1)|(1)|(1)|(1)|0|0|0|1|Rm:4","" "0x0ff0f000","0x03700000","CMN ,#","cond:4|0|0|1|1|0|1|1|1|Rn:4|(0)|(0)|(0)|(0)|imm12:12","" "0x0ff0f090","0x01700010","CMN ,, ","cond:4|0|0|0|1|0|1|1|1|Rn:4|(0)|(0)|(0)|(0)|Rs:4|0|type:2|1|Rm:4","" "0x0ff0f010","0x01700000","CMN ,{,}","cond:4|0|0|0|1|0|1|1|1|Rn:4|(0)|(0)|(0)|(0)|imm5:5|type:2|0|Rm:4","" "0x0ff0f000","0x03500000","CMP ,#","cond:4|0|0|1|1|0|1|0|1|Rn:4|(0)|(0)|(0)|(0)|imm12:12","" "0x0ff0f090","0x01500010","CMP ,, ","cond:4|0|0|0|1|0|1|0|1|Rn:4|(0)|(0)|(0)|(0)|Rs:4|0|type:2|1|Rm:4","" "0x0ff0f010","0x01500000","CMP ,{,}","cond:4|0|0|0|1|0|1|0|1|Rn:4|(0)|(0)|(0)|(0)|imm5:5|type:2|0|Rm:4","" "0x0ffffff0","0x0320f0f0","DBG #