From e07b6371cc8a59c6793a895e968ff2c6cf28181b Mon Sep 17 00:00:00 2001 From: j8takagi Date: Sun, 31 Jan 2010 21:48:37 +0900 Subject: [PATCH] =?utf8?q?dumpword=E3=82=B3=E3=83=9E=E3=83=B3=E3=83=89?= =?utf8?q?=E3=81=A710=E9=80=B2=E6=95=B0=EF=BC=8F16=E9=80=B2=E6=95=B0?= =?utf8?q?=E3=82=92=E8=A1=A8=E3=81=99=E6=96=87=E5=AD=97=E5=88=97=E3=81=8C?= =?utf8?q?=E5=BC=95=E6=95=B0=E3=81=AB=E3=81=AA=E3=82=8B=E3=82=88=E3=81=86?= =?utf8?q?=E4=BB=95=E6=A7=98=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit dumpwordコマンドに関連して、ヘッダファイルとテストを整理 --- Makefile | 2 +- include/assemble.h | 5 + include/casl2.h | 45 ++----- include/cerr.h | 32 +++++ include/exec.h | 11 ++ include/hash.h | 5 + include/word.h | 28 ++++ src/Makefile | 6 +- src/assemble.c | 92 +++---------- src/cerr.c | 22 +-- src/dump.c | 14 -- src/dumpword.c | 19 +-- src/word.c | 81 +++++++++++ test/integration/casl2/dc_overflow/0.txt | 20 +-- test/integration/casl2/hanoi/0.txt | 134 ++++++++++++++++++- test/integration/casl2/lad2/0.txt | 10 +- test/integration/casl2/lad3/0.txt | 10 +- test/integration/casl2/sum_10_opterr/err.txt | 2 - test/integration/comet2/dc_overflow/a.o | Bin 20 -> 20 bytes test/integration/comet2/lad2/a.o | Bin 10 -> 10 bytes test/integration/comet2/lad3/a.o | Bin 10 -> 10 bytes test/integration/dumpword/ARGS.txt | 25 ++++ test/integration/dumpword/HEX.txt | 12 -- test/integration/dumpword/TEST.mk | 2 +- test/integration/dumpword/a/0.txt | 37 +++-- test/integration/dumpword/a/err.txt | 2 - test/integration/dumpword/l/0.txt | 37 +++-- test/integration/dumpword/l/err.txt | 2 - test/integration/dumpword/noopt/0.txt | 37 +++-- test/integration/dumpword/noopt/err.txt | 2 - 30 files changed, 458 insertions(+), 236 deletions(-) create mode 100644 include/cerr.h create mode 100644 include/word.h create mode 100644 src/word.c delete mode 100644 test/integration/casl2/sum_10_opterr/err.txt create mode 100644 test/integration/dumpword/ARGS.txt delete mode 100644 test/integration/dumpword/HEX.txt delete mode 100644 test/integration/dumpword/a/err.txt delete mode 100644 test/integration/dumpword/l/err.txt delete mode 100644 test/integration/dumpword/noopt/err.txt diff --git a/Makefile b/Makefile index 21b5232..d7e61ee 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ CLEANDIR = src test/integration test/unit all: make -C src check: - make -sC test/integration + @make -sC test/integration clean: @for target in $(CLEANDIR); do $(MAKE) -sC $$target clean; done install: all diff --git a/include/assemble.h b/include/assemble.h index 6372e19..594157c 100644 --- a/include/assemble.h +++ b/include/assemble.h @@ -1,3 +1,6 @@ +#ifndef YACASL2_ASSEMBLE_INCLUDED +#define YACASL2_ASSEMBLE_INCLUDED + /* CASL IIの制限 */ enum { LINESIZE = 1024, /* 行の最大文字数 */ @@ -148,3 +151,5 @@ bool writeRPUSH(PASS pass); /* マクロ命令「RPOP」をメモリに書込 */ bool writeRPOP(PASS pass); + +#endif diff --git a/include/casl2.h b/include/casl2.h index fde1207..c269710 100644 --- a/include/casl2.h +++ b/include/casl2.h @@ -1,14 +1,21 @@ +#ifndef YACASL2_CASL2_INCLUDED +#define YACASL2_CASL2_INCLUDED + #include -#include -#include #include -#include -#include #include #include +#include +#include +#include + +#include "word.h" #include "hash.h" +#include "cerr.h" +#ifndef ARRAYSIZE #define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif /* COMET IIの規格 */ enum { @@ -18,9 +25,6 @@ enum { DEFAULT_CLOCKS = 5000000, /* デフォルトのクロック周波数。COMET II規格では、未定義 */ }; -/* COMET IIの基本データサイズ */ -typedef unsigned short WORD; - /* COMET IIのメモリ */ extern WORD *memory; @@ -34,12 +38,6 @@ enum { ZF = 0x1, /* Zero Flag */ }; -/* エラー番号 */ -extern int cerrno; - -/* エラーメッセージ */ -extern char *cerrmsg; - /* レジストリの内容を表示する場合はTRUE */ extern bool tracemode; @@ -139,26 +137,7 @@ void print_code_type(); /* 命令コードがキーのハッシュ表を解放する */ void free_code_type(); -/* エラー番号とエラーメッセージを設定 */ -void setcerr(int num, const char *val); - -/* エラー番号からメッセージを返す */ -char *getcerrmsg(int num); - -/* WORD値を文字列に変換 */ -char *wtoa(WORD word); - -/* エラーを解放する */ -void freecerr(); - /* 指定されたファイルにアセンブル結果を書込 */ void outassemble(char *file); -/* WORD値を2進数表記に変換 */ -char *word2bit(const WORD word); - -/* COMET IIのメモリを表示 */ -void dumpmemory(); - -/* COMET IIのレジスタを表示 */ -void dspregister(); +#endif diff --git a/include/cerr.h b/include/cerr.h new file mode 100644 index 0000000..9c191c1 --- /dev/null +++ b/include/cerr.h @@ -0,0 +1,32 @@ +#ifndef YACASL2_CERR_H_INCLUDED +#define YACASL2_CERR_H_INCLUDED + +#include +#include +#include + +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +/* エラー番号 */ +extern int cerrno; + +/* エラーメッセージ */ +extern char *cerrmsg; + +/* エラーコードリスト */ +typedef struct { + int num; + char *msg; +} CERRARRAY; + +/* エラー番号とエラーメッセージを設定 */ +void setcerr(int num, const char *val); + +/* エラー番号からメッセージを返す */ +char *getcerrmsg(int num); + +/* エラーを解放する */ +void freecerr(); +#endif diff --git a/include/exec.h b/include/exec.h index c06929f..1da878d 100644 --- a/include/exec.h +++ b/include/exec.h @@ -1,3 +1,6 @@ +#ifndef YACASL2_EXEC_INCLUDED +#define YACASL2_EXEC_INCLUDED + /* コードから命令のパターンを取得 */ CMDTYPE getcmdtype(WORD code); @@ -52,3 +55,11 @@ void reset(); /* コードの実行 */ void exec(); + +/* COMET IIのメモリを表示 */ +void dumpmemory(); + +/* COMET IIのレジスタを表示 */ +void dspregister(); + +#endif diff --git a/include/hash.h b/include/hash.h index 16f02b2..9821b44 100644 --- a/include/hash.h +++ b/include/hash.h @@ -1,3 +1,6 @@ +#ifndef YACASL2_HASH_INCLUDED +#define YACASL2_HASH_INCLUDED + /* ハッシュ共用体の型 */ typedef enum { CHARS = 0, @@ -15,3 +18,5 @@ typedef struct { /* ハッシュ値を取得する */ unsigned hash(int keyc, HKEY *keyv[], int tabsize); + +#endif diff --git a/include/word.h b/include/word.h new file mode 100644 index 0000000..30e89a7 --- /dev/null +++ b/include/word.h @@ -0,0 +1,28 @@ +#ifndef YACASL2_WORD_H_INCLUDED +#define YACASL2_WORD_H_INCLUDED + +#include +#include +#include +#include +#include "cerr.h" + +/* WORD - 16ビットデータ型 */ +typedef unsigned short WORD; + +/* 10進数の文字列をWORD値に変換 */ +WORD n2word(const char *str); + +/* 16進数の文字列をWORD値に変換 */ +WORD h2word(const char *str); + +/* 10進数または16進数の文字列をWORD値に変換 */ +WORD a2word(const char *str); + +/* WORD値を10進数の文字列に変換 */ +char *word2n(WORD word); + +/* WORD値を2進数の文字列に変換 */ +char *word2bit(const WORD word); + +#endif diff --git a/src/Makefile b/src/Makefile index de53356..7e39583 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,9 +1,9 @@ INCLUDE = ../include CC = gcc CFLAGS = -g -Wall -I $(INCLUDE) -COMMONSRC = struct.o hash.o cmd.o cerr.o dump.o +COMMONSRC = word.o struct.o hash.o cmd.o cerr.o ASSRC = assemble.o token.o label.o macro.o -EXECSRC = exec.o +EXECSRC = exec.o dump.o .PHPNY: all clean all: ../casl2 ../comet2 ../dumpword TAGS ../casl2: casl2.o $(COMMONSRC) $(ASSRC) $(EXECSRC) @@ -14,7 +14,7 @@ all: ../casl2 ../comet2 ../dumpword TAGS $(CC) $(CFLAGS) -o $@ $^ %.o: %.c $(CC) -c $(CFLAGS) $< -casl2.o comet2.o $(COMMONSRC) $(ASSRC) $(EXECSRC): $(INCLUDE)/casl2.h $(INCLUDE)/hash.h +casl2.o comet2.o $(COMMONSRC) $(ASSRC) $(EXECSRC): $(INCLUDE)/casl2.h $(INCLUDE)/word.h $(INCLUDE)/hash.h $(INCLUDE)/cerr.h casl2.o $(ASSRC): $(INCLUDE)/assemble.h comet2.o $(EXECSRC): $(INCLUDE)/exec.h TAGS: $(INCLUDE)/*.h *.c diff --git a/src/assemble.c b/src/assemble.c index 15d991a..963db49 100644 --- a/src/assemble.c +++ b/src/assemble.c @@ -10,9 +10,9 @@ WORD lptr; /* 他のプログラムで参照する入口名 */ char *prog; -/* 汎用レジスタを表す文字列「GR[0-7]」をWORD値に変換 - is_xがtrueの場合は、指標レジスタとして用いる汎用レジスタ - 文字列が汎用レジスタを表さない場合は、0xFFFFを返す */ +/* 汎用レジスタを表す文字列「GR[0-7]」をWORD値に変換 */ +/* is_xがtrueの場合は、指標レジスタとして用いる汎用レジスタ */ +/* 文字列が汎用レジスタを表さない場合は、0xFFFFを返す */ WORD getgr(const char *str, bool is_x) { assert(str != NULL); @@ -31,56 +31,15 @@ WORD getgr(const char *str, bool is_x) return r; } -/* 10進定数をWORD値に変換 */ -WORD getint(const char *str) -{ - assert(isdigit(*str) || *str == '-'); - char *check; - int n; - /* WORD値に変換 */ - n = strtol(str, &check, 10); - if(*check != '\0') { - setcerr(114, str); /* not integer */ - return 0x0; - } - /* nが-32768〜32767の範囲にないときは、その下位16ビットを格納 */ - if(n < -32768 || n > 32767) { - n = n % 32768; - } - return (WORD)n; -} - -/* 16進定数をWORD値に変換 */ -WORD gethex(const char *str) -{ - assert(*str == '#'); - WORD adr = 0x0; - char *check; - str++; - if(*str == '-' || strlen(str) > 4) { - setcerr(116, str-1); /* out of hex range */ - return 0; - } - /* WORD値に変換 */ - adr = (WORD)strtol(str, &check, 16); - if(*check != '\0') { - setcerr(115, str-1); /* not hex */ - return 0x0; - } - return adr; -} - -/* アドレスを返す - アドレスには、リテラル/10進定数/16進定数/アドレス定数が含まれる */ +/* アドレスを返す */ +/* アドレスには、リテラル/10進定数/16進定数/アドレス定数が含まれる */ WORD getadr(const char *prog, const char *str, PASS pass) { WORD adr = 0x0; if(*str == '=') { adr = getliteral(str, pass); - } else if(*str == '#') { - adr = gethex(str); - } else if(isdigit(*str) || *str == '-') { - adr = getint(str); + } else if((*str == '#') || isdigit(*str) || *str == '-') { + adr = a2word(str); } else { if(pass == SECOND && (adr = getlabel(prog, str)) == 0xFFFF) { if(prog != NULL) { @@ -91,14 +50,14 @@ WORD getadr(const char *prog, const char *str, PASS pass) return adr; } -/* WORD値wordをアドレスadrに書込 - 書込に成功した場合はtrue、失敗した場合はfalseを返す */ +/* WORD値wordをアドレスadrに書込 */ +/* 書込に成功した場合はtrue、失敗した場合はfalseを返す */ bool writememory(WORD word, WORD adr, PASS pass) { bool status = false; /* COMET IIメモリオーバーの場合 */ if(adr >= memsize) { - setcerr(119, wtoa(adr)); /* out of COMET II memory */ + setcerr(119, word2n(adr)); /* out of COMET II memory */ } if(cerrno == 0) { memory[adr] = word; @@ -114,19 +73,13 @@ bool writememory(WORD word, WORD adr, PASS pass) /* リテラルには、10進定数/16進定数/文字定数が含まれる */ WORD getliteral(const char *str, PASS pass) { - WORD adr = lptr, word = 0x0; + WORD adr = lptr; assert(*str == '='); str++; if(*str == '\'') { /* 文字定数 */ writestr(str, true, pass); } else { - if(*str == '#') { /* 16進定数 */ - word = gethex(str); - } else if(isdigit(*str) || *str == '-') { /* 10進定数 */ - word = getint(str); - } - /* リテラル領域に書込 */ - writememory(word, lptr++, pass); + writememory(a2word(str), lptr++, pass); } return adr; } @@ -161,10 +114,8 @@ void writeDC(const char *str, PASS pass) if(*str == '\'') { writestr(str, false, pass); } else { - if(*str == '#') { - adr = gethex(str); - } else if(isdigit(*str) || *str == '-') { - adr = getint(str); + if(*str == '#' || isdigit(*str) || *str == '-') { + adr = a2word(str); } else { if(pass == SECOND && (adr = getlabel(prog, str)) == 0xFFFF) { setcerr(103, str); /* label not found */ @@ -174,8 +125,8 @@ void writeDC(const char *str, PASS pass) } } -/* 命令がアセンブラ命令の場合は処理を実行 - 実行に成功した場合はtrue、それ以外の場合はfalseを返す */ +/* 命令がアセンブラ命令の場合は処理を実行 */ +/* 実行に成功した場合はtrue、それ以外の場合はfalseを返す */ bool assemblecmd(const CMDLINE *cmdl, PASS pass) { int i = 0; @@ -256,8 +207,8 @@ bool assemblecmd(const CMDLINE *cmdl, PASS pass) return status; } -/* 命令がマクロ命令の場合はメモリに書込 - 書込に成功した場合はtrue、それ以外の場合はfalseを返す */ +/* 命令がマクロ命令の場合はメモリに書込 */ +/* 書込に成功した場合はtrue、それ以外の場合はfalseを返す */ bool macrocmd(const CMDLINE *cmdl, PASS pass) { int i = 0; @@ -301,8 +252,8 @@ bool macrocmd(const CMDLINE *cmdl, PASS pass) return status; } -/* 機械語命令の書込 - 書込に成功した場合はtrue、それ以外の場合はfalseを返す */ +/* 機械語命令の書込 */ +/* 書込に成功した場合はtrue、それ以外の場合はfalseを返す */ bool cometcmd(const CMDLINE *cmdl, PASS pass) { WORD cmd, adr, r1, r2, x; @@ -344,8 +295,7 @@ bool cometcmd(const CMDLINE *cmdl, PASS pass) } /* オペランド数2〜3。第2オペランドはアドレス、 第3オペランドは指標レジスタとして用いる汎用レジスタ */ - else if(cmdl->opd->opdc == 2 || cmdl->opd->opdc == 3) - { + else if(cmdl->opd->opdc == 2 || cmdl->opd->opdc == 3) { if((cmd = getcmdcode(cmdl->cmd, R_ADR_X_)) == 0xFFFF && (cmd = getcmdcode(cmdl->cmd, R_ADR_X)) == 0xFFFF) { diff --git a/src/cerr.c b/src/cerr.c index 74dec44..dca9365 100644 --- a/src/cerr.c +++ b/src/cerr.c @@ -1,10 +1,5 @@ -#include "casl2.h" +#include "cerr.h" -/* エラーコードリスト */ -typedef struct { - int num; - char *msg; -} CERRARRAY; CERRARRAY cerr[] = { { 101, "label already defined" }, { 102, "label table is full" }, @@ -37,21 +32,6 @@ CERRARRAY cerr[] = { { 207, "Stack Pointer (SP) - out of COMET II memory" }, }; -/* WORD値を文字列に変換 */ -char *wtoa(WORD word) -{ - char *p = malloc(6), *q = malloc(6); - int i = 0, j; - do{ - *(p + i++) = word % 10 + '0'; - } while((word /= 10) > 0); - for(j = 0; j < i; j++) { - *(q + j) = *(p + (i - 1) - j); - } - *(q + j + 1) = '\0'; - return q; -} - /* エラー番号とエラーメッセージを設定する */ void setcerr(int num, const char *val) { diff --git a/src/dump.c b/src/dump.c index 5362de4..09fe4dd 100644 --- a/src/dump.c +++ b/src/dump.c @@ -1,19 +1,5 @@ #include "casl2.h" -/* WORD値を2進数表記に変換 */ -char *word2bit(const WORD word) -{ - WORD mask = 0x8000; - char *bit, *p; - bit = malloc(16 + 1); - p = bit; - do { - *p++ = (word & mask) ? '1' : '0'; - } while((mask >>= 1) > 0); - *p = '\0'; - return bit; -} - /* COMET IIのメモリを表示 */ void dumpmemory() { diff --git a/src/dumpword.c b/src/dumpword.c index 081ee44..f907eac 100644 --- a/src/dumpword.c +++ b/src/dumpword.c @@ -6,14 +6,13 @@ static struct option longopts[] = { {"arithmetic", no_argument, NULL, 'a'}, {"logical", no_argument, NULL, 'l'}, {"help", no_argument, NULL, 'h'}, - {0, 0, 0, 0} + {0, 0, 0, 0}, }; int main(int argc, char *argv[]) { int opt; - WORD w; - char *check; + WORD word; const char *usage = "Usage: %s [-alh] WORD\n"; logicalmode = false; @@ -24,7 +23,7 @@ int main(int argc, char *argv[]) break; case 'h': fprintf(stdout, usage, argv[0]); - exit(-1); + return 0; case '?': fprintf(stderr, usage, argv[0]); exit(-1); @@ -35,22 +34,16 @@ int main(int argc, char *argv[]) fprintf(stderr, usage, argv[0]); exit(-1); } - if(*argv[optind] == '-' || strlen(argv[optind]) > 4) { - setcerr(116, argv[optind]); /* out of hex range */ - } /* WORD値に変換 */ - w = (WORD)strtol(argv[optind], &check, 16); - if(*check != '\0') { - setcerr(115, argv[optind]); /* not hex */ - } + word = a2word(argv[optind]); if(cerrno > 0) { fprintf(stderr, "Dumpword Error - %d: %s\n", cerrno, cerrmsg); exit(-1); } if(logicalmode == true) { - fprintf(stdout, "%4s: %6d = #%04X = %s\n", argv[optind], w, w, word2bit(w)); + fprintf(stdout, "%6s: %6d = #%04X = %s\n", argv[optind], word, word, word2bit(word)); } else { - fprintf(stdout, "%4s: %6d = #%04X = %s\n", argv[optind], (short)w, w, word2bit(w)); + fprintf(stdout, "%6s: %6d = #%04X = %s\n", argv[optind], (short)word, word, word2bit(word)); } return 0; } diff --git a/src/word.c b/src/word.c new file mode 100644 index 0000000..d2deaee --- /dev/null +++ b/src/word.c @@ -0,0 +1,81 @@ +#include "word.h" + +/* 10進数の文字列をWORD値に変換 */ +WORD n2word(const char *str) +{ + assert(isdigit(*str) || *str == '-'); + char *check; + int n; + /* WORD値に変換 */ + n = strtol(str, &check, 10); + if(*check != '\0') { + setcerr(114, str); /* not integer */ + return 0x0; + } + /* nが-32768〜32767の範囲にないときは、その下位16ビットを格納 */ + if(n < -32768 || n > 32767) { + n = n % 0x10000; + } + return (WORD)n; +} + +/* 16進数の文字列をWORD値に変換 */ +WORD h2word(const char *str) +{ + assert(*str == '#'); + WORD w = 0x0; + char *check; + str++; + if(*str == '-' || strlen(str) > 4) { + setcerr(116, str-1); /* out of hex range */ + return 0; + } + /* WORD値に変換 */ + w = (WORD)strtol(str, &check, 16); + if(*check != '\0') { + setcerr(115, str-1); /* not hex */ + return 0x0; + } + return w; +} + +/* 10進数または16進数の文字列をWORD値に変換 */ +WORD a2word(const char *str) +{ + WORD word = 0x0; + if(*str == '#') { + word = h2word(str); + } else if(isdigit(*str) || *str == '-') { + word = n2word(str); + } + return word; +} + +/* WORD値を10進数の文字列に変換 */ +char *word2n(WORD word) +{ + char *p = malloc(6), *q = malloc(6); + int i = 0, j; + do{ + *(p + i++) = word % 10 + '0'; + } while((word /= 10) > 0); + for(j = 0; j < i; j++) { + *(q + j) = *(p + (i - 1) - j); + } + *(q + j + 1) = '\0'; + return q; +} + +/* WORD値を2進数の文字列に変換 */ +char *word2bit(const WORD word) +{ + WORD mask = 0x8000; + char *bit, *p; + bit = malloc(16 + 1); + p = bit; + do { + *p++ = (word & mask) ? '1' : '0'; + } while((mask >>= 1) > 0); + *p = '\0'; + return bit; +} diff --git a/test/integration/casl2/dc_overflow/0.txt b/test/integration/casl2/dc_overflow/0.txt index bdae877..30e082e 100644 --- a/test/integration/casl2/dc_overflow/0.txt +++ b/test/integration/casl2/dc_overflow/0.txt @@ -34,9 +34,9 @@ Assemble ../../../../as/CMD/dc_overflow.casl (1) ../../../../as/CMD/dc_overflow.casl: 6: RET #0006 #8100 ../../../../as/CMD/dc_overflow.casl: 7:A DC 32779 - #0007 #000B + #0007 #800B ../../../../as/CMD/dc_overflow.casl: 8:B DC 32778 - #0008 #000A + #0008 #800A ../../../../as/CMD/dc_overflow.casl: 9:C DS 1 #0009 #0000 ../../../../as/CMD/dc_overflow.casl: 10: END @@ -56,7 +56,7 @@ Executing machine codes #0000: FR (OF SF ZF): 000 #0000: Memory:::: #0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0000: 0000: 1010 0007 2210 0008 1100 0009 8100 000B 000A 0000 0000 0000 0000 0000 0000 0000 +#0000: 0000: 1010 0007 2210 0008 1100 0009 8100 800B 800A 0000 0000 0000 0000 0000 0000 0000 #0000: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -91,7 +91,7 @@ Executing machine codes #0002: Register:::: #0002: GR0: 0 = #0000 = 0000000000000000 -#0002: GR1: 11 = #000B = 0000000000001011 +#0002: GR1: -32757 = #800B = 1000000000001011 #0002: GR2: 0 = #0000 = 0000000000000000 #0002: GR3: 0 = #0000 = 0000000000000000 #0002: GR4: 0 = #0000 = 0000000000000000 @@ -100,10 +100,10 @@ Executing machine codes #0002: GR7: 0 = #0000 = 0000000000000000 #0002: SP: 512 = #0200 = 0000001000000000 #0002: PR: 2 = #0002 = 0000000000000010 -#0002: FR (OF SF ZF): 000 +#0002: FR (OF SF ZF): 010 #0002: Memory:::: #0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0002: 0000: 1010 0007 2210 0008 1100 0009 8100 000B 000A 0000 0000 0000 0000 0000 0000 0000 +#0002: 0000: 1010 0007 2210 0008 1100 0009 8100 800B 800A 0000 0000 0000 0000 0000 0000 0000 #0002: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -147,10 +147,10 @@ Executing machine codes #0004: GR7: 0 = #0000 = 0000000000000000 #0004: SP: 512 = #0200 = 0000001000000000 #0004: PR: 4 = #0004 = 0000000000000100 -#0004: FR (OF SF ZF): 000 +#0004: FR (OF SF ZF): 100 #0004: Memory:::: #0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0004: 0000: 1010 0007 2210 0008 1100 0009 8100 000B 000A 0000 0000 0000 0000 0000 0000 0000 +#0004: 0000: 1010 0007 2210 0008 1100 0009 8100 800B 800A 0000 0000 0000 0000 0000 0000 0000 #0004: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -194,10 +194,10 @@ Executing machine codes #0006: GR7: 0 = #0000 = 0000000000000000 #0006: SP: 512 = #0200 = 0000001000000000 #0006: PR: 6 = #0006 = 0000000000000110 -#0006: FR (OF SF ZF): 000 +#0006: FR (OF SF ZF): 100 #0006: Memory:::: #0006: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0006: 0000: 1010 0007 2210 0008 1100 0009 8100 000B 000A 0000 0000 0000 0000 0000 0000 0000 +#0006: 0000: 1010 0007 2210 0008 1100 0009 8100 800B 800A 0000 0000 0000 0000 0000 0000 0000 #0006: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0006: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 diff --git a/test/integration/casl2/hanoi/0.txt b/test/integration/casl2/hanoi/0.txt index c692a95..2a87131 100644 --- a/test/integration/casl2/hanoi/0.txt +++ b/test/integration/casl2/hanoi/0.txt @@ -77,6 +77,134 @@ Assemble ../../../../as/FUNC/hanoi.casl (1) #0006 #1030 #0007 #004D ../../../../as/FUNC/hanoi.casl: 7: CALL HANOI -Assemble error - 103: HANOI: label not found - ../../../../as/FUNC/hanoi.casl:7: CALL HANOI - + #0008 #8000 + #0009 #000B +../../../../as/FUNC/hanoi.casl: 8: RET + #000A #8100 +../../../../as/FUNC/hanoi.casl: 9:HANOI CPA GR0,=1 + #0059 #0001 + #000B #4000 + #000C #0059 +../../../../as/FUNC/hanoi.casl: 10: JZE DISP + #000D #6300 + #000E #0032 +../../../../as/FUNC/hanoi.casl: 11: SUBA GR0,=1 + #005A #0001 + #000F #2100 + #0010 #005A +../../../../as/FUNC/hanoi.casl: 12: PUSH 0,GR2 + #0011 #7002 + #0012 #0000 +../../../../as/FUNC/hanoi.casl: 13: PUSH 0,GR3 + #0013 #7003 + #0014 #0000 +../../../../as/FUNC/hanoi.casl: 14: POP GR2 + #0015 #7120 +../../../../as/FUNC/hanoi.casl: 15: POP GR3 + #0016 #7130 +../../../../as/FUNC/hanoi.casl: 16: CALL HANOI + #0017 #8000 + #0018 #000B +../../../../as/FUNC/hanoi.casl: 17: PUSH 0,GR2 + #0019 #7002 + #001A #0000 +../../../../as/FUNC/hanoi.casl: 18: PUSH 0,GR3 + #001B #7003 + #001C #0000 +../../../../as/FUNC/hanoi.casl: 19: POP GR2 + #001D #7120 +../../../../as/FUNC/hanoi.casl: 20: POP GR3 + #001E #7130 +../../../../as/FUNC/hanoi.casl: 21: CALL DISP + #001F #8000 + #0020 #0032 +../../../../as/FUNC/hanoi.casl: 22: PUSH 0,GR1 + #0021 #7001 + #0022 #0000 +../../../../as/FUNC/hanoi.casl: 23: PUSH 0,GR2 + #0023 #7002 + #0024 #0000 +../../../../as/FUNC/hanoi.casl: 24: POP GR1 + #0025 #7110 +../../../../as/FUNC/hanoi.casl: 25: POP GR2 + #0026 #7120 +../../../../as/FUNC/hanoi.casl: 26: CALL HANOI + #0027 #8000 + #0028 #000B +../../../../as/FUNC/hanoi.casl: 27: PUSH 0,GR1 + #0029 #7001 + #002A #0000 +../../../../as/FUNC/hanoi.casl: 28: PUSH 0,GR2 + #002B #7002 + #002C #0000 +../../../../as/FUNC/hanoi.casl: 29: POP GR1 + #002D #7110 +../../../../as/FUNC/hanoi.casl: 30: POP GR2 + #002E #7120 +../../../../as/FUNC/hanoi.casl: 31: ADDA GR0,=1 + #005B #0001 + #002F #2000 + #0030 #005B +../../../../as/FUNC/hanoi.casl: 32: RET + #0031 #8100 +../../../../as/FUNC/hanoi.casl: 33:DISP ST GR1,MSG1 + #0032 #1110 + #0033 #0053 +../../../../as/FUNC/hanoi.casl: 34: ST GR3,MSG2 + #0034 #1130 + #0035 #0058 +../../../../as/FUNC/hanoi.casl: 35: OUT MSG,LNG + #0036 #7001 + #0037 #0000 + #0038 #7002 + #0039 #0000 + #003A #1210 + #003B #004E + #003C #1020 + #003D #004A + #003E #F000 + #003F #0002 + #0040 #1210 + #0041 #005C + #005C #000A + #0042 #1220 + #0043 #0001 + #0044 #F000 + #0045 #0002 + #0046 #7120 + #0047 #7110 +../../../../as/FUNC/hanoi.casl: 36: RET + #0048 #8100 +../../../../as/FUNC/hanoi.casl: 37:N DC 3 ; 輪の総数 + #0049 #0003 +../../../../as/FUNC/hanoi.casl: 38:LNG DC 11 ; メッセージの長さ + #004A #000B +../../../../as/FUNC/hanoi.casl: 39:A DC 'A' + #004B #0041 +../../../../as/FUNC/hanoi.casl: 40:B DC 'B' + #004C #0042 +../../../../as/FUNC/hanoi.casl: 41:C DC 'C' + #004D #0043 +../../../../as/FUNC/hanoi.casl: 42:MSG DC 'from ' + #004E #0066 + #004F #0072 + #0050 #006F + #0051 #006D + #0052 #0020 +../../../../as/FUNC/hanoi.casl: 43:MSG1 DS 1 + #0053 #0000 +../../../../as/FUNC/hanoi.casl: 44: DC ' to ' + #0054 #0020 + #0055 #0074 + #0056 #006F + #0057 #0020 +../../../../as/FUNC/hanoi.casl: 45:MSG2 DS 1 + #0058 #0000 +../../../../as/FUNC/hanoi.casl: 46: END +from A to C +from A to B +from C to B +from A to C +from B to A +from B to C +from A to C diff --git a/test/integration/casl2/lad2/0.txt b/test/integration/casl2/lad2/0.txt index 3de864e..2a727f9 100644 --- a/test/integration/casl2/lad2/0.txt +++ b/test/integration/casl2/lad2/0.txt @@ -17,7 +17,7 @@ Assemble ../../../../as/CMD/lad2.casl (1) #0001 #000A ../../../../as/CMD/lad2.casl: 3: LAD GR1,65534,GR1 #0002 #1211 - #0003 #7FFE + #0003 #FFFE ../../../../as/CMD/lad2.casl: 4: RET #0004 #8100 ../../../../as/CMD/lad2.casl: 5: END @@ -37,7 +37,7 @@ Executing machine codes #0000: FR (OF SF ZF): 000 #0000: Memory:::: #0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0000: 0000: 1210 000A 1211 7FFE 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0000: 0000: 1210 000A 1211 FFFE 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -84,7 +84,7 @@ Executing machine codes #0002: FR (OF SF ZF): 000 #0002: Memory:::: #0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0002: 0000: 1210 000A 1211 7FFE 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0002: 0000: 1210 000A 1211 FFFE 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -119,7 +119,7 @@ Executing machine codes #0004: Register:::: #0004: GR0: 0 = #0000 = 0000000000000000 -#0004: GR1: -32760 = #8008 = 1000000000001000 +#0004: GR1: 8 = #0008 = 0000000000001000 #0004: GR2: 0 = #0000 = 0000000000000000 #0004: GR3: 0 = #0000 = 0000000000000000 #0004: GR4: 0 = #0000 = 0000000000000000 @@ -131,7 +131,7 @@ Executing machine codes #0004: FR (OF SF ZF): 000 #0004: Memory:::: #0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0004: 0000: 1210 000A 1211 7FFE 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0004: 0000: 1210 000A 1211 FFFE 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 diff --git a/test/integration/casl2/lad3/0.txt b/test/integration/casl2/lad3/0.txt index 678c4a7..adf41d2 100644 --- a/test/integration/casl2/lad3/0.txt +++ b/test/integration/casl2/lad3/0.txt @@ -17,7 +17,7 @@ Assemble ../../../../as/CMD/lad3.casl (1) #0001 #FFFF ../../../../as/CMD/lad3.casl: 3: LAD GR1,65535,GR1 #0002 #1211 - #0003 #7FFF + #0003 #FFFF ../../../../as/CMD/lad3.casl: 4: RET #0004 #8100 ../../../../as/CMD/lad3.casl: 5: END @@ -37,7 +37,7 @@ Executing machine codes #0000: FR (OF SF ZF): 000 #0000: Memory:::: #0000: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0000: 0000: 1210 FFFF 1211 7FFF 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0000: 0000: 1210 FFFF 1211 FFFF 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0000: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -84,7 +84,7 @@ Executing machine codes #0002: FR (OF SF ZF): 000 #0002: Memory:::: #0002: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0002: 0000: 1210 FFFF 1211 7FFF 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0002: 0000: 1210 FFFF 1211 FFFF 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0002: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 @@ -119,7 +119,7 @@ Executing machine codes #0004: Register:::: #0004: GR0: 0 = #0000 = 0000000000000000 -#0004: GR1: 32766 = #7FFE = 0111111111111110 +#0004: GR1: -2 = #FFFE = 1111111111111110 #0004: GR2: 0 = #0000 = 0000000000000000 #0004: GR3: 0 = #0000 = 0000000000000000 #0004: GR4: 0 = #0000 = 0000000000000000 @@ -131,7 +131,7 @@ Executing machine codes #0004: FR (OF SF ZF): 000 #0004: Memory:::: #0004: adr : 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F -#0004: 0000: 1210 FFFF 1211 7FFF 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 +#0004: 0000: 1210 FFFF 1211 FFFF 8100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0010: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0020: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 #0004: 0030: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 diff --git a/test/integration/casl2/sum_10_opterr/err.txt b/test/integration/casl2/sum_10_opterr/err.txt deleted file mode 100644 index a7ef8a9..0000000 --- a/test/integration/casl2/sum_10_opterr/err.txt +++ /dev/null @@ -1,2 +0,0 @@ -../../../../casl2: invalid option -- z -Usage: ../../../../casl2 [-slLaAtTdh] [-oO] [-M ] [-C ] FILE ... diff --git a/test/integration/comet2/dc_overflow/a.o b/test/integration/comet2/dc_overflow/a.o index 0a1f7e4727ac90c0f798922300eddc931344918b..9e9f0c0b2eb0377a2d35bb94066662bf7652578a 100644 GIT binary patch literal 20 bcmWd-U}q3e;$UD9>$@ 2>$(ERRFILE); \ if test -s $(ERRFILE); then cat err.txt >>$@; else rm -f $(ERRFILE); fi -$(TESTSH): ../HEX.txt +$(TESTSH): ../ARGS.txt @xargs -n1 echo "$(DUMPWORD) $(DUMPWORDFLAG) " <$^ >$@ diff.txt: 1.txt @-diff -c 0.txt 1.txt >$@ 2>&1 diff --git a/test/integration/dumpword/a/0.txt b/test/integration/dumpword/a/0.txt index e15f077..47be5ae 100644 --- a/test/integration/dumpword/a/0.txt +++ b/test/integration/dumpword/a/0.txt @@ -1,12 +1,25 @@ - 0: 0 = #0000 = 0000000000000000 - 1: 1 = #0001 = 0000000000000001 - 01: 1 = #0001 = 0000000000000001 - 001: 1 = #0001 = 0000000000000001 -0001: 1 = #0001 = 0000000000000001 - 10: 16 = #0010 = 0000000000010000 - 11: 17 = #0011 = 0000000000010001 - F: 15 = #000F = 0000000000001111 -000F: 15 = #000F = 0000000000001111 -FFFF: -1 = #FFFF = 1111111111111111 -Dumpword Error - 116: 00001: out of hex range -Dumpword Error - 115: G: not hex + 0: 0 = #0000 = 0000000000000000 + 1: 1 = #0001 = 0000000000000001 + 10: 10 = #000A = 0000000000001010 + 32767: 32767 = #7FFF = 0111111111111111 + 32768: -32768 = #8000 = 1000000000000000 + 65535: -1 = #FFFF = 1111111111111111 + 65536: 0 = #0000 = 0000000000000000 + 65537: 1 = #0001 = 0000000000000001 + -1: -1 = #FFFF = 1111111111111111 + -10: -10 = #FFF6 = 1111111111110110 +-32767: -32767 = #8001 = 1000000000000001 +-32768: -32768 = #8000 = 1000000000000000 +-32769: 32767 = #7FFF = 0111111111111111 + #0: 0 = #0000 = 0000000000000000 + #1: 1 = #0001 = 0000000000000001 + #01: 1 = #0001 = 0000000000000001 + #001: 1 = #0001 = 0000000000000001 + #0001: 1 = #0001 = 0000000000000001 + #10: 16 = #0010 = 0000000000010000 + #11: 17 = #0011 = 0000000000010001 + #F: 15 = #000F = 0000000000001111 + #000F: 15 = #000F = 0000000000001111 + #FFFF: -1 = #FFFF = 1111111111111111 +Dumpword Error - 116: #00001: out of hex range +Dumpword Error - 115: #G: not hex diff --git a/test/integration/dumpword/a/err.txt b/test/integration/dumpword/a/err.txt deleted file mode 100644 index c1f7761..0000000 --- a/test/integration/dumpword/a/err.txt +++ /dev/null @@ -1,2 +0,0 @@ -Dumpword Error - 116: 00001: out of hex range -Dumpword Error - 115: G: not hex diff --git a/test/integration/dumpword/l/0.txt b/test/integration/dumpword/l/0.txt index 10f8efb..a39a28e 100644 --- a/test/integration/dumpword/l/0.txt +++ b/test/integration/dumpword/l/0.txt @@ -1,12 +1,25 @@ - 0: 0 = #0000 = 0000000000000000 - 1: 1 = #0001 = 0000000000000001 - 01: 1 = #0001 = 0000000000000001 - 001: 1 = #0001 = 0000000000000001 -0001: 1 = #0001 = 0000000000000001 - 10: 16 = #0010 = 0000000000010000 - 11: 17 = #0011 = 0000000000010001 - F: 15 = #000F = 0000000000001111 -000F: 15 = #000F = 0000000000001111 -FFFF: 65535 = #FFFF = 1111111111111111 -Dumpword Error - 116: 00001: out of hex range -Dumpword Error - 115: G: not hex + 0: 0 = #0000 = 0000000000000000 + 1: 1 = #0001 = 0000000000000001 + 10: 10 = #000A = 0000000000001010 + 32767: 32767 = #7FFF = 0111111111111111 + 32768: 32768 = #8000 = 1000000000000000 + 65535: 65535 = #FFFF = 1111111111111111 + 65536: 0 = #0000 = 0000000000000000 + 65537: 1 = #0001 = 0000000000000001 + -1: 65535 = #FFFF = 1111111111111111 + -10: 65526 = #FFF6 = 1111111111110110 +-32767: 32769 = #8001 = 1000000000000001 +-32768: 32768 = #8000 = 1000000000000000 +-32769: 32767 = #7FFF = 0111111111111111 + #0: 0 = #0000 = 0000000000000000 + #1: 1 = #0001 = 0000000000000001 + #01: 1 = #0001 = 0000000000000001 + #001: 1 = #0001 = 0000000000000001 + #0001: 1 = #0001 = 0000000000000001 + #10: 16 = #0010 = 0000000000010000 + #11: 17 = #0011 = 0000000000010001 + #F: 15 = #000F = 0000000000001111 + #000F: 15 = #000F = 0000000000001111 + #FFFF: 65535 = #FFFF = 1111111111111111 +Dumpword Error - 116: #00001: out of hex range +Dumpword Error - 115: #G: not hex diff --git a/test/integration/dumpword/l/err.txt b/test/integration/dumpword/l/err.txt deleted file mode 100644 index c1f7761..0000000 --- a/test/integration/dumpword/l/err.txt +++ /dev/null @@ -1,2 +0,0 @@ -Dumpword Error - 116: 00001: out of hex range -Dumpword Error - 115: G: not hex diff --git a/test/integration/dumpword/noopt/0.txt b/test/integration/dumpword/noopt/0.txt index e15f077..47be5ae 100644 --- a/test/integration/dumpword/noopt/0.txt +++ b/test/integration/dumpword/noopt/0.txt @@ -1,12 +1,25 @@ - 0: 0 = #0000 = 0000000000000000 - 1: 1 = #0001 = 0000000000000001 - 01: 1 = #0001 = 0000000000000001 - 001: 1 = #0001 = 0000000000000001 -0001: 1 = #0001 = 0000000000000001 - 10: 16 = #0010 = 0000000000010000 - 11: 17 = #0011 = 0000000000010001 - F: 15 = #000F = 0000000000001111 -000F: 15 = #000F = 0000000000001111 -FFFF: -1 = #FFFF = 1111111111111111 -Dumpword Error - 116: 00001: out of hex range -Dumpword Error - 115: G: not hex + 0: 0 = #0000 = 0000000000000000 + 1: 1 = #0001 = 0000000000000001 + 10: 10 = #000A = 0000000000001010 + 32767: 32767 = #7FFF = 0111111111111111 + 32768: -32768 = #8000 = 1000000000000000 + 65535: -1 = #FFFF = 1111111111111111 + 65536: 0 = #0000 = 0000000000000000 + 65537: 1 = #0001 = 0000000000000001 + -1: -1 = #FFFF = 1111111111111111 + -10: -10 = #FFF6 = 1111111111110110 +-32767: -32767 = #8001 = 1000000000000001 +-32768: -32768 = #8000 = 1000000000000000 +-32769: 32767 = #7FFF = 0111111111111111 + #0: 0 = #0000 = 0000000000000000 + #1: 1 = #0001 = 0000000000000001 + #01: 1 = #0001 = 0000000000000001 + #001: 1 = #0001 = 0000000000000001 + #0001: 1 = #0001 = 0000000000000001 + #10: 16 = #0010 = 0000000000010000 + #11: 17 = #0011 = 0000000000010001 + #F: 15 = #000F = 0000000000001111 + #000F: 15 = #000F = 0000000000001111 + #FFFF: -1 = #FFFF = 1111111111111111 +Dumpword Error - 116: #00001: out of hex range +Dumpword Error - 115: #G: not hex diff --git a/test/integration/dumpword/noopt/err.txt b/test/integration/dumpword/noopt/err.txt deleted file mode 100644 index c1f7761..0000000 --- a/test/integration/dumpword/noopt/err.txt +++ /dev/null @@ -1,2 +0,0 @@ -Dumpword Error - 116: 00001: out of hex range -Dumpword Error - 115: G: not hex -- 2.18.0