// Copyright 2025 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package asmgenvarArchMIPS = &Arch{Name: "mipsx",Build: "mips || mipsle",WordBits: 32,WordBytes: 4,CarrySafeLoop: true,regs: []string{// R0 is 0 // R23 is the assembler/linker temporary (which we use too). // R24 and R25 are our virtual carry flags. // R28 is SB. // R29 is SP. // R30 is g. // R31 is LR."R1", "R2", "R3", "R4", "R5", "R6", "R7", "R8", "R9","R10", "R11", "R12", "R13", "R14", "R15", "R16", "R17", "R18", "R19","R20", "R21", "R22", "R24", "R25", },reg0: "R0",regTmp: "R23",regCarry: "R24",regAltCarry: "R25",mov: "MOVW",add: "ADDU",sltu: "SGTU", // SGTU args are swapped, so it's really SLTUsub: "SUBU",mulWideF: mipsMulWide,lsh: "SLL",rsh: "SRL",and: "AND",or: "OR",xor: "XOR",jmpZero: "BEQ %s, %s",jmpNonZero: "BNE %s, %s",}func mipsMulWide( *Asm, , , , Reg) { .Printf("\tMULU %s, %s\n\tMOVW LO, %s\n\tMOVW HI, %s\n", , , , )}
The pages are generated with Goldsv0.7.7-preview. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds.