Skip to content

Commit 15160e6

Browse files
committed
Add sort-pseudo-entry.sh
1 parent fac96ed commit 15160e6

36 files changed

+278
-245
lines changed

scripts/sort-pseudo-entry.sh

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#!/bin/bash
2+
#
3+
# Create name entries table.
4+
# How to use:
5+
# - Mark start and end of name entries
6+
# - C-u M-x shell-command-on-region ../scripts/sort-pseudo-entry.sh
7+
8+
tr -d '{},' \
9+
| awk 'NF >= 2 { k=$1; sub(/TEXT_d/, "TEXT_@", k); print k,"/",$0 }' \
10+
| sort -t"@" -k1 -s \
11+
| cut -d"/" -f 2- \
12+
| awk '
13+
{
14+
num_lines++;
15+
for (i = 1; i <= NF; i++) {
16+
if (max_len[i] < length($i)) max_len[i] = length($i);
17+
lines[num_lines, i] = $i;
18+
}
19+
num_words[num_lines] = NF;
20+
}
21+
END {
22+
for (n = 1; n <= num_lines; n++) {
23+
printf(" {");
24+
in_comment = 0;
25+
for (i = 1; i <= num_words[n]; i++) {
26+
fmt=" %-"(max_len[i]+1)"s";
27+
elem = lines[n, i];
28+
if (i < num_words[n]) {
29+
if (elem ~ /\/\// || elem ~ /\/\*/) {
30+
printf("}, "elem);
31+
in_comment = 1;
32+
} else {
33+
printf(fmt, elem",");
34+
}
35+
} else if (in_comment) {
36+
printf("%s", elem);
37+
} else {
38+
printf(fmt"},", elem);
39+
}
40+
}
41+
printf("\n");
42+
}
43+
}'

src/asm_base.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ constexpr char OPT_BOOL_SMART_BRANCH[] PROGMEM = "smart-branch";
3333
constexpr char OPT_DESC_SMART_BRANCH[] PROGMEM = "optimize branch instruction";
3434

3535
constexpr Pseudo PSEUDOS[] PROGMEM = {
36-
{TEXT_ALIGN, &Assembler::alignOrigin},
37-
{TEXT_OPTION, &Assembler::setOption},
38-
{TEXT_ORG, &Assembler::defineOrigin},
36+
{ TEXT_ALIGN, &Assembler::alignOrigin },
37+
{ TEXT_OPTION, &Assembler::setOption },
38+
{ TEXT_ORG, &Assembler::defineOrigin },
3939
};
4040
// clang-format on
4141
PROGMEM constexpr Pseudos PSEUDO_TABLE{ARRAY_RANGE(PSEUDOS)};

src/asm_cdp1802.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ constexpr char OPT_BOOL_USE_REGISTER[] PROGMEM = "use-register";
3333
constexpr char OPT_DESC_USE_REGISTER[] PROGMEM = "enable register name Rn";
3434

3535
constexpr Pseudo PSEUDOS[] PROGMEM = {
36-
{TEXT_DC, &Assembler::defineDataConstant, Assembler::DATA_BYTE_OR_WORD},
36+
{ TEXT_DC, &Assembler::defineDataConstant, Assembler::DATA_BYTE_OR_WORD },
3737
};
38-
// clang-format on
3938
PROGMEM constexpr Pseudos PSEUDO_TABLE{ARRAY_RANGE(PSEUDOS)};
39+
// clang-format on
4040

4141
} // namespace
4242

src/asm_f3850.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ namespace {
3232
constexpr char TEXT_RS[] PROGMEM = "rs";
3333

3434
constexpr Pseudo PSEUDOS[] PROGMEM = {
35-
{TEXT_DA, &Assembler::defineDataConstant, Assembler::DATA_WORD},
36-
{TEXT_DC, &Assembler::defineDataConstant, Assembler::DATA_BYTE_OR_WORD},
37-
{TEXT_RS, &Assembler::allocateSpaces, Assembler::DATA_BYTE},
35+
{ TEXT_DA, &Assembler::defineDataConstant, Assembler::DATA_WORD },
36+
{ TEXT_DC, &Assembler::defineDataConstant, Assembler::DATA_BYTE_OR_WORD },
37+
{ TEXT_RS, &Assembler::allocateSpaces, Assembler::DATA_BYTE },
3838
};
39-
// clang-format on
4039
PROGMEM constexpr Pseudos PSEUDO_TABLE{ARRAY_RANGE(PSEUDOS)};
40+
// clang-format on
4141

4242
} // namespace
4343

src/asm_i8048.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ namespace {
2929

3030
// clang-format off
3131
constexpr Pseudo PSEUDOS[] PROGMEM = {
32-
{TEXT_DB, &Assembler::defineDataConstant, Assembler::DATA_BYTE},
33-
{TEXT_DS, &Assembler::allocateSpaces, Assembler::DATA_BYTE},
34-
{TEXT_DW, &Assembler::defineDataConstant, Assembler::DATA_WORD},
32+
{ TEXT_DB, &Assembler::defineDataConstant, Assembler::DATA_BYTE },
33+
{ TEXT_DS, &Assembler::allocateSpaces, Assembler::DATA_BYTE },
34+
{ TEXT_DW, &Assembler::defineDataConstant, Assembler::DATA_WORD },
3535
};
36-
// clang-format on
3736
PROGMEM constexpr Pseudos PSEUDO_TABLE{ARRAY_RANGE(PSEUDOS)};
37+
// clang-format on
3838

3939
} // namespace
4040

src/asm_i8051.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ namespace {
2929

3030
// clang-format off
3131
constexpr Pseudo PSEUDOS[] PROGMEM = {
32-
{TEXT_DB, &Assembler::defineDataConstant, Assembler::DATA_BYTE},
33-
{TEXT_DS, &Assembler::allocateSpaces, Assembler::DATA_BYTE},
34-
{TEXT_DW, &Assembler::defineDataConstant, Assembler::DATA_WORD},
32+
{ TEXT_DB, &Assembler::defineDataConstant, Assembler::DATA_BYTE },
33+
{ TEXT_DS, &Assembler::allocateSpaces, Assembler::DATA_BYTE },
34+
{ TEXT_DW, &Assembler::defineDataConstant, Assembler::DATA_WORD },
3535
};
36-
// clang-format on
3736
PROGMEM constexpr Pseudos PSEUDO_TABLE{ARRAY_RANGE(PSEUDOS)};
37+
// clang-format on
3838

3939
} // namespace
4040

src/asm_i8080.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,16 @@ namespace {
3030

3131
// clang-format off
3232
constexpr Pseudo PSEUDOS[] PROGMEM = {
33-
{TEXT_DB, &Assembler::defineDataConstant, Assembler::DATA_BYTE},
34-
{TEXT_DEFB, &Assembler::defineDataConstant, Assembler::DATA_BYTE},
35-
{TEXT_DEFM, &Assembler::defineDataConstant, Assembler::DATA_BYTE},
36-
{TEXT_DEFS, &Assembler::allocateSpaces, Assembler::DATA_BYTE},
37-
{TEXT_DEFW, &Assembler::defineDataConstant, Assembler::DATA_WORD},
38-
{TEXT_DS, &Assembler::allocateSpaces, Assembler::DATA_BYTE},
39-
{TEXT_DW, &Assembler::defineDataConstant, Assembler::DATA_WORD},
33+
{ TEXT_DB, &Assembler::defineDataConstant, Assembler::DATA_BYTE },
34+
{ TEXT_DEFB, &Assembler::defineDataConstant, Assembler::DATA_BYTE },
35+
{ TEXT_DEFM, &Assembler::defineDataConstant, Assembler::DATA_BYTE },
36+
{ TEXT_DEFS, &Assembler::allocateSpaces, Assembler::DATA_BYTE },
37+
{ TEXT_DEFW, &Assembler::defineDataConstant, Assembler::DATA_WORD },
38+
{ TEXT_DS, &Assembler::allocateSpaces, Assembler::DATA_BYTE },
39+
{ TEXT_DW, &Assembler::defineDataConstant, Assembler::DATA_WORD },
4040
};
41-
// clang-format on
4241
PROGMEM constexpr Pseudos PSEUDO_TABLE{ARRAY_RANGE(PSEUDOS)};
42+
// clang-format on
4343

4444
struct I8080SymbolParser final : PrefixSymbolParser, Singleton<I8080SymbolParser> {
4545
I8080SymbolParser() : PrefixSymbolParser(PSTR_AT_QUESTION) {}

src/asm_i8086.cpp

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,27 +40,27 @@ constexpr char TEXT_RESW[] PROGMEM = "resw";
4040
} // namespace
4141

4242
constexpr Pseudo PSEUDOS[] PROGMEM = {
43-
{TEXT_DB, &Assembler::defineDataConstant, Assembler::DATA_BYTE},
44-
{TEXT_DS, &Assembler::allocateSpaces, Assembler::DATA_BYTE},
45-
{TEXT_DW, &Assembler::defineDataConstant, Assembler::DATA_WORD},
46-
{TEXT_RESB, &Assembler::allocateSpaces, Assembler::DATA_BYTE},
47-
{TEXT_RESD, &Assembler::allocateSpaces, Assembler::DATA_LONG},
48-
{TEXT_RESW, &Assembler::allocateSpaces, Assembler::DATA_WORD},
43+
{ TEXT_DB, &Assembler::defineDataConstant, Assembler::DATA_BYTE },
44+
{ TEXT_DS, &Assembler::allocateSpaces, Assembler::DATA_BYTE },
45+
{ TEXT_DW, &Assembler::defineDataConstant, Assembler::DATA_WORD },
46+
{ TEXT_RESB, &Assembler::allocateSpaces, Assembler::DATA_BYTE },
47+
{ TEXT_RESD, &Assembler::allocateSpaces, Assembler::DATA_LONG },
48+
{ TEXT_RESW, &Assembler::allocateSpaces, Assembler::DATA_WORD },
4949
};
5050
PROGMEM constexpr Pseudos PSEUDO_TABLE{ARRAY_RANGE(PSEUDOS)};
5151

5252
constexpr AsmI8086::PseudoI8086 AsmI8086::PSEUDO_I8086_TABLE[] PROGMEM = {
53-
{TEXT_DD, &AsmI8086::defineConstant, DATA_DD},
54-
{TEXT_DQ, &AsmI8086::defineConstant, DATA_DQ},
55-
{TEXT_DT, &AsmI8086::defineConstant, DATA_DT},
56-
{TEXT_FPU, &AsmI8086::setCoprocessor},
57-
{TEXT_REP, &AsmI8086::encodeRepeatInsn, 0xF3},
58-
{TEXT_REPC, &AsmI8086::encodeRepeatInsn, 0x65}, // V30
59-
{TEXT_REPE, &AsmI8086::encodeRepeatInsn, 0xF3},
60-
{TEXT_REPNC, &AsmI8086::encodeRepeatInsn, 0x64}, // V30
61-
{TEXT_REPNE, &AsmI8086::encodeRepeatInsn, 0xF2},
62-
{TEXT_REPNZ, &AsmI8086::encodeRepeatInsn, 0xF2},
63-
{TEXT_REPZ, &AsmI8086::encodeRepeatInsn, 0xF3},
53+
{ TEXT_DD, &AsmI8086::defineConstant, DATA_DD },
54+
{ TEXT_DQ, &AsmI8086::defineConstant, DATA_DQ },
55+
{ TEXT_DT, &AsmI8086::defineConstant, DATA_DT },
56+
{ TEXT_FPU, &AsmI8086::setCoprocessor },
57+
{ TEXT_REP, &AsmI8086::encodeRepeatInsn, 0xF3 },
58+
{ TEXT_REPC, &AsmI8086::encodeRepeatInsn, 0x65, }, //V30
59+
{ TEXT_REPE, &AsmI8086::encodeRepeatInsn, 0xF3 },
60+
{ TEXT_REPNC, &AsmI8086::encodeRepeatInsn, 0x64, }, //V30
61+
{ TEXT_REPNE, &AsmI8086::encodeRepeatInsn, 0xF2 },
62+
{ TEXT_REPNZ, &AsmI8086::encodeRepeatInsn, 0xF2 },
63+
{ TEXT_REPZ, &AsmI8086::encodeRepeatInsn, 0xF3 },
6464
};
6565
PROGMEM constexpr AsmI8086::PseudosI8086 AsmI8086::PSEUDOS_I8086{ARRAY_RANGE(PSEUDO_I8086_TABLE)};
6666

src/asm_i8096.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ namespace {
3030

3131
// clang-format off
3232
constexpr Pseudo PSEUDOS[] PROGMEM = {
33-
{TEXT_DCB, &Assembler::defineDataConstant, Assembler::DATA_BYTE},
34-
{TEXT_DCL, &Assembler::defineDataConstant, Assembler::DATA_LONG},
35-
{TEXT_DCW, &Assembler::defineDataConstant, Assembler::DATA_WORD},
36-
{TEXT_DSB, &Assembler::allocateSpaces, Assembler::DATA_BYTE},
37-
{TEXT_DSL, &Assembler::allocateSpaces, Assembler::DATA_LONG},
38-
{TEXT_DSW, &Assembler::allocateSpaces, Assembler::DATA_WORD},
33+
{ TEXT_DCB, &Assembler::defineDataConstant, Assembler::DATA_BYTE },
34+
{ TEXT_DCL, &Assembler::defineDataConstant, Assembler::DATA_LONG },
35+
{ TEXT_DCW, &Assembler::defineDataConstant, Assembler::DATA_WORD },
36+
{ TEXT_DSB, &Assembler::allocateSpaces, Assembler::DATA_BYTE },
37+
{ TEXT_DSL, &Assembler::allocateSpaces, Assembler::DATA_LONG },
38+
{ TEXT_DSW, &Assembler::allocateSpaces, Assembler::DATA_WORD },
3939
};
40-
// clang-format on
4140
PROGMEM constexpr Pseudos PSEUDO_TABLE{ARRAY_RANGE(PSEUDOS)};
41+
// clang-format on
4242

4343
} // namespace
4444

src/asm_ins8060.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ namespace {
2929

3030
// clang-format off
3131
constexpr Pseudo PSEUDOS[] PROGMEM = {
32-
{TEXT_dequal, &Assembler::defineOrigin},
33-
{TEXT_dASCII, &Assembler::defineDataConstant, Assembler::DATA_BYTE},
34-
{TEXT_dBYTE, &Assembler::defineDataConstant, Assembler::DATA_BYTE},
35-
{TEXT_dDBYTE, &Assembler::defineDataConstant, Assembler::DATA_WORD},
32+
{ TEXT_dequal, &Assembler::defineOrigin },
33+
{ TEXT_dASCII, &Assembler::defineDataConstant, Assembler::DATA_BYTE },
34+
{ TEXT_dBYTE, &Assembler::defineDataConstant, Assembler::DATA_BYTE },
35+
{ TEXT_dDBYTE, &Assembler::defineDataConstant, Assembler::DATA_WORD },
3636
};
37-
// clang-format on
3837
PROGMEM constexpr Pseudos PSEUDO_TABLE{ARRAY_RANGE(PSEUDOS)};
38+
// clang-format on
3939

4040
} // namespace
4141

0 commit comments

Comments
 (0)