From: j8takagi Date: Thu, 18 Jun 2026 09:57:31 +0000 (+0900) Subject: casl2revなどの逆アセンブルで、DC/DSの表示を修正 X-Git-Tag: v0.5p57~4 X-Git-Url: https://j8takagi.net/gitweb?a=commitdiff_plain;h=407e5a05be482800b551d770637daf79f8ebc9f3;p=yacasl2.git casl2revなどの逆アセンブルで、DC/DSの表示を修正 --- diff --git a/src/disassemble.c b/src/disassemble.c index 3f5a815..2fcc604 100644 --- a/src/disassemble.c +++ b/src/disassemble.c @@ -137,9 +137,9 @@ void disassemble_ds(WORD wcnt, WORD pradr) cnt = fprintf(stdout, " DS %-5d ", wcnt); disassemble_puts_code(cnt, pradr, 1, (WORD []){0}); - for(int i = 0; i < wcnt - 1; i++) { + for(int i = 1; i < wcnt; i++) { fprintf(stdout, "\n"); - disassemble_puts_code(0, pradr+1, 1, (WORD []){0}); + disassemble_puts_code(0, pradr+i, 1, (WORD []){0}); } } @@ -207,7 +207,7 @@ bool disassemble_file(const char *file) i += zcnt - 1; } } - } else if(cmd == 0) { + } else if(cmd == 0 || cmdname ==NULL) { disassemble_dc(word, i); } else { if(cmdtype == R_ADR_X || cmdtype == ADR_X) { diff --git a/test/system/casl2rev/dc/0.txt b/test/system/casl2rev/dc/0.txt new file mode 100644 index 0000000..f6f40f7 --- /dev/null +++ b/test/system/casl2rev/dc/0.txt @@ -0,0 +1,7 @@ +MAIN START + RET ; #0000: #8100 + DC 0 ; #0001: #0000 :: 0 = #0000 = 0000000000000000 + DC 1 ; #0002: #0001 :: 1 = #0001 = 0000000000000001 + DC 65535 ; #0003: #FFFF :: 65535 = #FFFF = 1111111111111111 + DC 65535 ; #0004: #FFFF :: 65535 = #FFFF = 1111111111111111 + END diff --git a/test/system/casl2rev/dc/Makefile b/test/system/casl2rev/dc/Makefile new file mode 100644 index 0000000..ced7c64 --- /dev/null +++ b/test/system/casl2rev/dc/Makefile @@ -0,0 +1,7 @@ +include ../Define.mk +include ../Test.mk + +cmd: io.o + +io.o: ../../../../as/misc/io.casl + ../../../../casl2 -O$@ $< diff --git a/test/system/casl2rev/dc/cmd b/test/system/casl2rev/dc/cmd new file mode 100755 index 0000000..2db90c2 --- /dev/null +++ b/test/system/casl2rev/dc/cmd @@ -0,0 +1 @@ +../../../../casl2rev dc.o diff --git a/test/system/casl2rev/dc/dc.casl b/test/system/casl2rev/dc/dc.casl new file mode 100644 index 0000000..5d14428 --- /dev/null +++ b/test/system/casl2rev/dc/dc.casl @@ -0,0 +1,7 @@ +MAIN START + RET + DC 0 + DC 1 + DC 65535 + DC #FFFF + END diff --git a/test/system/casl2rev/dc/desc.txt b/test/system/casl2rev/dc/desc.txt new file mode 100644 index 0000000..d13a44b --- /dev/null +++ b/test/system/casl2rev/dc/desc.txt @@ -0,0 +1 @@ +DCを用いたプログラムを逆アセンブル diff --git a/test/system/casl2rev/ds/0.txt b/test/system/casl2rev/ds/0.txt new file mode 100644 index 0000000..d343d0a --- /dev/null +++ b/test/system/casl2rev/ds/0.txt @@ -0,0 +1,11 @@ +MAIN START + RET ; #0000: #8100 + DS 8 ; #0001: #0000 + ; #0002: #0000 + ; #0003: #0000 + ; #0004: #0000 + ; #0005: #0000 + ; #0006: #0000 + ; #0007: #0000 + ; #0008: #0000 + END diff --git a/test/system/casl2rev/ds/Makefile b/test/system/casl2rev/ds/Makefile new file mode 100644 index 0000000..ced7c64 --- /dev/null +++ b/test/system/casl2rev/ds/Makefile @@ -0,0 +1,7 @@ +include ../Define.mk +include ../Test.mk + +cmd: io.o + +io.o: ../../../../as/misc/io.casl + ../../../../casl2 -O$@ $< diff --git a/test/system/casl2rev/ds/cmd b/test/system/casl2rev/ds/cmd new file mode 100755 index 0000000..da4efe3 --- /dev/null +++ b/test/system/casl2rev/ds/cmd @@ -0,0 +1 @@ +../../../../casl2rev ds.o diff --git a/test/system/casl2rev/ds/desc.txt b/test/system/casl2rev/ds/desc.txt new file mode 100644 index 0000000..acaf760 --- /dev/null +++ b/test/system/casl2rev/ds/desc.txt @@ -0,0 +1 @@ +DSを用いたプログラムを逆アセンブル diff --git a/test/system/casl2rev/ds/ds.casl b/test/system/casl2rev/ds/ds.casl new file mode 100644 index 0000000..a6be58b --- /dev/null +++ b/test/system/casl2rev/ds/ds.casl @@ -0,0 +1,4 @@ +MAIN START + RET + DS 8 + END diff --git a/test/system/casl2rev/io/0.txt b/test/system/casl2rev/io/0.txt index 2b6dd98..b3d8edf 100644 --- a/test/system/casl2rev/io/0.txt +++ b/test/system/casl2rev/io/0.txt @@ -96,69 +96,69 @@ MAIN START DC 12 ; #0086: #000C :: 12 = #000C = 0000000000001100 DS 65 ; #0087: #0000 ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 - ; #0088: #0000 + ; #0089: #0000 + ; #008A: #0000 + ; #008B: #0000 + ; #008C: #0000 + ; #008D: #0000 + ; #008E: #0000 + ; #008F: #0000 + ; #0090: #0000 + ; #0091: #0000 + ; #0092: #0000 + ; #0093: #0000 + ; #0094: #0000 + ; #0095: #0000 + ; #0096: #0000 + ; #0097: #0000 + ; #0098: #0000 + ; #0099: #0000 + ; #009A: #0000 + ; #009B: #0000 + ; #009C: #0000 + ; #009D: #0000 + ; #009E: #0000 + ; #009F: #0000 + ; #00A0: #0000 + ; #00A1: #0000 + ; #00A2: #0000 + ; #00A3: #0000 + ; #00A4: #0000 + ; #00A5: #0000 + ; #00A6: #0000 + ; #00A7: #0000 + ; #00A8: #0000 + ; #00A9: #0000 + ; #00AA: #0000 + ; #00AB: #0000 + ; #00AC: #0000 + ; #00AD: #0000 + ; #00AE: #0000 + ; #00AF: #0000 + ; #00B0: #0000 + ; #00B1: #0000 + ; #00B2: #0000 + ; #00B3: #0000 + ; #00B4: #0000 + ; #00B5: #0000 + ; #00B6: #0000 + ; #00B7: #0000 + ; #00B8: #0000 + ; #00B9: #0000 + ; #00BA: #0000 + ; #00BB: #0000 + ; #00BC: #0000 + ; #00BD: #0000 + ; #00BE: #0000 + ; #00BF: #0000 + ; #00C0: #0000 + ; #00C1: #0000 + ; #00C2: #0000 + ; #00C3: #0000 + ; #00C4: #0000 + ; #00C5: #0000 + ; #00C6: #0000 + ; #00C7: #0000 DC 10 ; #00C8: #000A :: 10 = #000A = 0000000000001010 = '\n' DC 1 ; #00C9: #0001 :: 1 = #0001 = 0000000000000001 DC 10 ; #00CA: #000A :: 10 = #000A = 0000000000001010 = '\n'