1
0
mirror of https://github.com/raspberrypi/pico-sdk.git synced 2025-08-07 17:02:52 +03:00

small pioasm improvements (#2224)

- fix disassembly of `wait jmppin`
- fix incorrect error message
- make python output emit `word(x)` for all unsupported instructions
This commit is contained in:
Graham Sanderson
2025-02-05 10:55:24 -06:00
committed by GitHub
parent eb5c2c3ff0
commit 111fa7de2d
4 changed files with 38 additions and 20 deletions

View File

@@ -56,7 +56,9 @@ std::string disassemble(uint inst, uint sideset_bits_including_opt, bool sideset
if (arg2 & 0x1cu) {
invalid = true;
} else if (arg2) {
guts = "jmppin " + std::to_string(arg2 & 3u);
guts = "jmppin + " + std::to_string(arg2 & 3u);
} else {
guts = "jmppin";
}
break;
}
@@ -131,7 +133,7 @@ std::string disassemble(uint inst, uint sideset_bits_including_opt, bool sideset
op("mov");
std::string guts = dest + ", ";
if (operation == 1) {
guts += "!";
guts += "~";
} else if (operation == 2) {
guts += "::";
}
@@ -193,6 +195,9 @@ std::string disassemble(uint inst, uint sideset_bits_including_opt, bool sideset
}
delay &= ((1u << (5 - sideset_bits_including_opt)) - 1u);
ss << std::left << std::setw(4) << (delay ? ("[" + std::to_string(delay) + "]") : "");
return ss.str();
// remove trailing spaces
auto str = ss.str();
str.erase(str.find_last_not_of(' ')+1);
return str;
}