diff --git a/SourceGen/AsmGen/AsmTass64.cs b/SourceGen/AsmGen/AsmTass64.cs
index 29300cc..b20c3ef 100644
--- a/SourceGen/AsmGen/AsmTass64.cs
+++ b/SourceGen/AsmGen/AsmTass64.cs
@@ -309,22 +309,6 @@ namespace SourceGen.AsmGen {
}
}
- private CharEncoding.Encoding FormatDescriptorToCharEncoding(FormatDescriptor dfd) {
- switch (dfd.FormatSubType) {
- case FormatDescriptor.SubType.Ascii:
- return CharEncoding.Encoding.Ascii;
- case FormatDescriptor.SubType.HighAscii:
- return CharEncoding.Encoding.HighAscii;
- case FormatDescriptor.SubType.C64Petscii:
- return CharEncoding.Encoding.C64Petscii;
- case FormatDescriptor.SubType.C64Screen:
- return CharEncoding.Encoding.C64ScreenCode;
- case FormatDescriptor.SubType.ASCII_GENERIC:
- default:
- return CharEncoding.Encoding.Unknown;
- }
- }
-
// IGenerator
public string ModifyOpcode(int offset, OpDef op) {
if (op.IsUndocumented) {
@@ -358,7 +342,7 @@ namespace SourceGen.AsmGen {
// IGenerator
public void UpdateCharacterEncoding(FormatDescriptor dfd) {
- CharEncoding.Encoding newEnc = FormatDescriptorToCharEncoding(dfd);
+ CharEncoding.Encoding newEnc = PseudoOp.SubTypeToEnc(dfd.FormatSubType);
if (newEnc == CharEncoding.Encoding.Unknown) {
// probably not a character operand
return;
diff --git a/SourceGen/PseudoOp.cs b/SourceGen/PseudoOp.cs
index 222b61a..4d5756c 100644
--- a/SourceGen/PseudoOp.cs
+++ b/SourceGen/PseudoOp.cs
@@ -499,6 +499,12 @@ namespace SourceGen {
HasHashPrefix, // operand has a leading '#', avoiding ambiguity in some cases
}
+ ///
+ /// Converts a FormatDescriptor SubType to a CharEncoding.Encoding value.
+ ///
+ /// FormatDescriptor sub-type.
+ /// The corresponding CharEncoding.Encoding value, or Encoding.Unknown
+ /// if the sub-type isn't a character encoding.
public static CharEncoding.Encoding SubTypeToEnc(FormatDescriptor.SubType subType) {
switch (subType) {
case FormatDescriptor.SubType.Ascii: