From 86bedab26840dfae03775f5ef3db65b5122d7982 Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Mon, 7 Jun 2010 18:38:03 +0200 Subject: [PATCH] gesamt: ein weiterer testfall der die richtige verwaltung der parameter prueft --- gesamt/codeb_abgabe_bi.instr | 2 +- gesamt/lewurm_08.0 | 16 ++++++++++++++++ gesamt/lewurm_08.call | 11 +++++++++++ gesamt/lewurm_08.instr | 1 + 4 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 gesamt/lewurm_08.0 create mode 100644 gesamt/lewurm_08.call create mode 100644 gesamt/lewurm_08.instr diff --git a/gesamt/codeb_abgabe_bi.instr b/gesamt/codeb_abgabe_bi.instr index a787364..64bb6b7 100644 --- a/gesamt/codeb_abgabe_bi.instr +++ b/gesamt/codeb_abgabe_bi.instr @@ -1 +1 @@ -34 +30 diff --git a/gesamt/lewurm_08.0 b/gesamt/lewurm_08.0 new file mode 100644 index 0000000..b21c2cb --- /dev/null +++ b/gesamt/lewurm_08.0 @@ -0,0 +1,16 @@ +method fo0(a b c d) + var x := g(); + return a-b-c-d-x; +end; +method g() + h(); + return -100; +end; +method h() + var q := 0; + var w := 0; + var e := 0; + var r := 0; + var t := 0; + return (q*w)-(e*r)-t; +end; diff --git a/gesamt/lewurm_08.call b/gesamt/lewurm_08.call new file mode 100644 index 0000000..ec05c4a --- /dev/null +++ b/gesamt/lewurm_08.call @@ -0,0 +1,11 @@ +long fo0(long, long, long, long, long); +#define ARG1 10 +#define ARG2 -10 +#define ARG3 -20 +#define ARG4 -30 + +#define ERG (ARG1 - ARG2 - ARG3 - ARG4 + 100) + +int ret = fo0(0xdead, ARG1, ARG2, ARG3, ARG4); +printf("ret ist %8i (sollte %8i sein)\n", ret, ERG); +RET(ret == ERG); diff --git a/gesamt/lewurm_08.instr b/gesamt/lewurm_08.instr new file mode 100644 index 0000000..d88e313 --- /dev/null +++ b/gesamt/lewurm_08.instr @@ -0,0 +1 @@ +81 -- 2.25.1