From ublu@b1.complang.tuwien.ac.at Wed Mar 15 19:54:52 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 15 Mar 2006 19:54:52 +0100
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FJb91-0001HD-Tb
	for u0425426@b1.complang.tuwien.ac.at; Wed, 15 Mar 2006 19:54:51 +0100
To: u0425426@b1.complang.tuwien.ac.at
Subject: Assembler A, 1. Abgabe
Message-Id: <E1FJb91-0001HD-Tb@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 15 Mar 2006 19:54:51 +0100


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Assembler-A-Beispiels: 100%.

Bitte speichern Sie im Abgabeverzeichnis NUR die noetigen Dateien,
also keine Testdaten, keine ausfuehrbaren Programme und keine
Unterverzeichnisse.

'make' hatte folgendes zu melden:
gcc -c asma.s


Die Ergebnisse der Tests:

Testfall: 0x0000000000000000; Resultat:    0; ok
Testfall: 0x0102040810204080; Resultat:  255; ok
Testfall: 0x8040201008040201; Resultat:  255; ok
Testfall: 0x0102030405060708; Resultat:   36; ok
Testfall: 0x8192a3b4c5d6e7f8; Resultat: 1508; ok
Testfall: 0x0123456789abcdef; Resultat:  960; ok
Testfall: 0xffffffffffffffff; Resultat: 2040; ok


Nach 'make clean' gab es folgendes Ergebnis:
rm -rf asma.o test asma-test.o


From ublu@b1.complang.tuwien.ac.at Wed Mar 22 18:36:21 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 22 Mar 2006 18:36:21 +0100
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FM7Fs-0003tI-TJ
	for u0425426@b1.complang.tuwien.ac.at; Wed, 22 Mar 2006 18:36:21 +0100
To: u0425426@b1.complang.tuwien.ac.at
Subject: Assembler B, 1. Abgabe
Message-Id: <E1FM7Fs-0003tI-TJ@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 22 Mar 2006 18:36:20 +0100


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Assembler-B-Beispiels: 0%.

Bitte speichern Sie im Abgabeverzeichnis NUR die noetigen Dateien,
also keine Testdaten, keine ausfuehrbaren Programme und keine
Unterverzeichnisse.

'make' hatte folgendes zu melden:
gcc -c asmb.s


Die Ergebnisse der Tests:

 Calling asmb(0x1200011c0="""01234567",0): succeeded
 Calling asmb(0x1200011c0="0""12345678",1): succeeded
 Calling asmb(0x1200011c0="01""23456789",2): succeeded
 Calling asmb(0x1200011c0="012""3456789a",3): succeeded
 Calling asmb(0x1200011c0="0123""456789ab",4): succeeded
 Calling asmb(0x1200011c0="01234""56789abc",5): succeeded
 Calling asmb(0x1200011c0="012345""6789abcd",6): succeeded
 Calling asmb(0x1200011c0="0123456""789abcde",7): succeeded
 Calling asmb(0x1200011c0="01234567""89abcdef",8): succeeded
 Calling asmb(0x1200011c0="012345678""9abcdefg",9): succeeded
 Calling asmb(0x1200011c0="0123456789""abcdefgh",10): succeeded
 Calling asmb(0x1200011c0="0123456789a""bcdefghi",11): succeeded
 Calling asmb(0x1200011c0="0123456789ab""cdefghij",12): succeeded
 Calling asmb(0x1200011c0="0123456789abc""defghijk",13): succeeded
 Calling asmb(0x1200011c0="0123456789abcd""efghijkl",14): succeeded
 Calling asmb(0x1200011c0="0123456789abcde""fghijklm",15): succeeded
 Calling asmb(0x1200011c0="0123456789abcdef""ghijklm\n",16): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefg""hijklm\nn",17): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefgh""ijklm\nno",18): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghi""jklm\nnop",19): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghij""klm\nnopq",20): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijk""lm\nnopqr",21): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijkl""m\nnopqr\n",22): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm""\nnopqr\n\n",23): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\n""nopqr\n\ns",24): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nn""opqr\n\nst",25): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nno""pqr\n\nstu",26): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnop""qr\n\nstuv",27): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopq""r\n\nstuvw",28): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr""\n\nstuvwx",29): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n""\nstuvwxy",30): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\n""stuvwxyz",31): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",32): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\nst""uvwxyz",33): failed
  Expected result: 2685
  Your result    : 2941
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\nstu""vwxyz",34): failed
  Expected result: 2802
  Your result    : 3058
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\nstuv""wxyz",35): failed
  Expected result: 2920
  Your result    : 3176
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",36): failed
  Expected result: 3039
  Your result    : 3295
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",37): failed
  Expected result: 3159
  Your result    : 3415
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",38): failed
  Expected result: 3280
  Your result    : 3536
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",39): failed
  Expected result: 3402
  Your result    : 3658
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",40): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",41): failed
  Expected result: 3876
  Your result    : 4388
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",42): failed
  Expected result: 4128
  Your result    : 4384
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",43): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",44): succeeded
 Calling asmb(0x1200011c0="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",45): succeeded
 Calling asmb(0x1200011c1="""12345678",0): succeeded
 Calling asmb(0x1200011c1="1""23456789",1): succeeded
 Calling asmb(0x1200011c1="12""3456789a",2): succeeded
 Calling asmb(0x1200011c1="123""456789ab",3): succeeded
 Calling asmb(0x1200011c1="1234""56789abc",4): succeeded
 Calling asmb(0x1200011c1="12345""6789abcd",5): succeeded
 Calling asmb(0x1200011c1="123456""789abcde",6): succeeded
 Calling asmb(0x1200011c1="1234567""89abcdef",7): succeeded
 Calling asmb(0x1200011c1="12345678""9abcdefg",8): succeeded
 Calling asmb(0x1200011c1="123456789""abcdefgh",9): succeeded
 Calling asmb(0x1200011c1="123456789a""bcdefghi",10): succeeded
 Calling asmb(0x1200011c1="123456789ab""cdefghij",11): succeeded
 Calling asmb(0x1200011c1="123456789abc""defghijk",12): succeeded
 Calling asmb(0x1200011c1="123456789abcd""efghijkl",13): succeeded
 Calling asmb(0x1200011c1="123456789abcde""fghijklm",14): succeeded
 Calling asmb(0x1200011c1="123456789abcdef""ghijklm\n",15): succeeded
 Calling asmb(0x1200011c1="123456789abcdefg""hijklm\nn",16): succeeded
 Calling asmb(0x1200011c1="123456789abcdefgh""ijklm\nno",17): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghi""jklm\nnop",18): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghij""klm\nnopq",19): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijk""lm\nnopqr",20): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijkl""m\nnopqr\n",21): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm""\nnopqr\n\n",22): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\n""nopqr\n\ns",23): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nn""opqr\n\nst",24): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nno""pqr\n\nstu",25): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnop""qr\n\nstuv",26): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopq""r\n\nstuvw",27): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr""\n\nstuvwx",28): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n""\nstuvwxy",29): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\n""stuvwxyz",30): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",31): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\nst""uvwxyz",32): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\nstu""vwxyz",33): failed
  Expected result: 2754
  Your result    : 3266
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\nstuv""wxyz",34): failed
  Expected result: 2872
  Your result    : 3384
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",35): failed
  Expected result: 2991
  Your result    : 3503
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",36): failed
  Expected result: 3111
  Your result    : 3623
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",37): failed
  Expected result: 3232
  Your result    : 3744
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",38): failed
  Expected result: 3354
  Your result    : 3866
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",39): failed
  Expected result: 3582
  Your result    : 3838
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",40): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",41): failed
  Expected result: 4080
  Your result    : 4336
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",42): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",43): succeeded
 Calling asmb(0x1200011c1="123456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",44): succeeded
 Calling asmb(0x1200011c2="""23456789",0): succeeded
 Calling asmb(0x1200011c2="2""3456789a",1): succeeded
 Calling asmb(0x1200011c2="23""456789ab",2): succeeded
 Calling asmb(0x1200011c2="234""56789abc",3): succeeded
 Calling asmb(0x1200011c2="2345""6789abcd",4): succeeded
 Calling asmb(0x1200011c2="23456""789abcde",5): succeeded
 Calling asmb(0x1200011c2="234567""89abcdef",6): succeeded
 Calling asmb(0x1200011c2="2345678""9abcdefg",7): succeeded
 Calling asmb(0x1200011c2="23456789""abcdefgh",8): succeeded
 Calling asmb(0x1200011c2="23456789a""bcdefghi",9): succeeded
 Calling asmb(0x1200011c2="23456789ab""cdefghij",10): succeeded
 Calling asmb(0x1200011c2="23456789abc""defghijk",11): succeeded
 Calling asmb(0x1200011c2="23456789abcd""efghijkl",12): succeeded
 Calling asmb(0x1200011c2="23456789abcde""fghijklm",13): succeeded
 Calling asmb(0x1200011c2="23456789abcdef""ghijklm\n",14): succeeded
 Calling asmb(0x1200011c2="23456789abcdefg""hijklm\nn",15): succeeded
 Calling asmb(0x1200011c2="23456789abcdefgh""ijklm\nno",16): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghi""jklm\nnop",17): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghij""klm\nnopq",18): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijk""lm\nnopqr",19): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijkl""m\nnopqr\n",20): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm""\nnopqr\n\n",21): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\n""nopqr\n\ns",22): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nn""opqr\n\nst",23): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nno""pqr\n\nstu",24): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnop""qr\n\nstuv",25): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopq""r\n\nstuvw",26): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr""\n\nstuvwx",27): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n""\nstuvwxy",28): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\n""stuvwxyz",29): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",30): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\nst""uvwxyz",31): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\nstu""vwxyz",32): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\nstuv""wxyz",33): failed
  Expected result: 2823
  Your result    : 3591
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",34): failed
  Expected result: 2942
  Your result    : 3710
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",35): failed
  Expected result: 3062
  Your result    : 3830
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",36): failed
  Expected result: 3183
  Your result    : 3951
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",37): failed
  Expected result: 3305
  Your result    : 4073
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",38): failed
  Expected result: 3533
  Your result    : 4045
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",39): failed
  Expected result: 3779
  Your result    : 4035
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",40): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",41): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",42): succeeded
 Calling asmb(0x1200011c2="23456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",43): succeeded
 Calling asmb(0x1200011c3="""3456789a",0): succeeded
 Calling asmb(0x1200011c3="3""456789ab",1): succeeded
 Calling asmb(0x1200011c3="34""56789abc",2): succeeded
 Calling asmb(0x1200011c3="345""6789abcd",3): succeeded
 Calling asmb(0x1200011c3="3456""789abcde",4): succeeded
 Calling asmb(0x1200011c3="34567""89abcdef",5): succeeded
 Calling asmb(0x1200011c3="345678""9abcdefg",6): succeeded
 Calling asmb(0x1200011c3="3456789""abcdefgh",7): succeeded
 Calling asmb(0x1200011c3="3456789a""bcdefghi",8): succeeded
 Calling asmb(0x1200011c3="3456789ab""cdefghij",9): succeeded
 Calling asmb(0x1200011c3="3456789abc""defghijk",10): succeeded
 Calling asmb(0x1200011c3="3456789abcd""efghijkl",11): succeeded
 Calling asmb(0x1200011c3="3456789abcde""fghijklm",12): succeeded
 Calling asmb(0x1200011c3="3456789abcdef""ghijklm\n",13): succeeded
 Calling asmb(0x1200011c3="3456789abcdefg""hijklm\nn",14): succeeded
 Calling asmb(0x1200011c3="3456789abcdefgh""ijklm\nno",15): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghi""jklm\nnop",16): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghij""klm\nnopq",17): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijk""lm\nnopqr",18): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijkl""m\nnopqr\n",19): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm""\nnopqr\n\n",20): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\n""nopqr\n\ns",21): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nn""opqr\n\nst",22): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nno""pqr\n\nstu",23): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnop""qr\n\nstuv",24): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopq""r\n\nstuvw",25): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr""\n\nstuvwx",26): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n""\nstuvwxy",27): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\n""stuvwxyz",28): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",29): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\nst""uvwxyz",30): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\nstu""vwxyz",31): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\nstuv""wxyz",32): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",33): failed
  Expected result: 2892
  Your result    : 3916
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",34): failed
  Expected result: 3012
  Your result    : 4036
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",35): failed
  Expected result: 3133
  Your result    : 4157
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",36): failed
  Expected result: 3255
  Your result    : 4279
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",37): failed
  Expected result: 3483
  Your result    : 4251
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",38): failed
  Expected result: 3729
  Your result    : 4241
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",39): failed
  Expected result: 3981
  Your result    : 4237
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",40): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",41): succeeded
 Calling asmb(0x1200011c3="3456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",42): succeeded
 Calling asmb(0x1200011c4="""456789ab",0): succeeded
 Calling asmb(0x1200011c4="4""56789abc",1): succeeded
 Calling asmb(0x1200011c4="45""6789abcd",2): succeeded
 Calling asmb(0x1200011c4="456""789abcde",3): succeeded
 Calling asmb(0x1200011c4="4567""89abcdef",4): succeeded
 Calling asmb(0x1200011c4="45678""9abcdefg",5): succeeded
 Calling asmb(0x1200011c4="456789""abcdefgh",6): succeeded
 Calling asmb(0x1200011c4="456789a""bcdefghi",7): succeeded
 Calling asmb(0x1200011c4="456789ab""cdefghij",8): succeeded
 Calling asmb(0x1200011c4="456789abc""defghijk",9): succeeded
 Calling asmb(0x1200011c4="456789abcd""efghijkl",10): succeeded
 Calling asmb(0x1200011c4="456789abcde""fghijklm",11): succeeded
 Calling asmb(0x1200011c4="456789abcdef""ghijklm\n",12): succeeded
 Calling asmb(0x1200011c4="456789abcdefg""hijklm\nn",13): succeeded
 Calling asmb(0x1200011c4="456789abcdefgh""ijklm\nno",14): succeeded
 Calling asmb(0x1200011c4="456789abcdefghi""jklm\nnop",15): succeeded
 Calling asmb(0x1200011c4="456789abcdefghij""klm\nnopq",16): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijk""lm\nnopqr",17): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijkl""m\nnopqr\n",18): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm""\nnopqr\n\n",19): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\n""nopqr\n\ns",20): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nn""opqr\n\nst",21): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nno""pqr\n\nstu",22): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnop""qr\n\nstuv",23): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopq""r\n\nstuvw",24): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr""\n\nstuvwx",25): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n""\nstuvwxy",26): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\n""stuvwxyz",27): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",28): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\nst""uvwxyz",29): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\nstu""vwxyz",30): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\nstuv""wxyz",31): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",32): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",33): failed
  Expected result: 2961
  Your result    : 3985
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",34): failed
  Expected result: 3082
  Your result    : 4106
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",35): failed
  Expected result: 3204
  Your result    : 4228
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",36): failed
  Expected result: 3432
  Your result    : 4200
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",37): failed
  Expected result: 3678
  Your result    : 4190
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",38): failed
  Expected result: 3930
  Your result    : 4186
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",39): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",40): succeeded
 Calling asmb(0x1200011c4="456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",41): succeeded
 Calling asmb(0x1200011c5="""56789abc",0): succeeded
 Calling asmb(0x1200011c5="5""6789abcd",1): succeeded
 Calling asmb(0x1200011c5="56""789abcde",2): succeeded
 Calling asmb(0x1200011c5="567""89abcdef",3): succeeded
 Calling asmb(0x1200011c5="5678""9abcdefg",4): succeeded
 Calling asmb(0x1200011c5="56789""abcdefgh",5): succeeded
 Calling asmb(0x1200011c5="56789a""bcdefghi",6): succeeded
 Calling asmb(0x1200011c5="56789ab""cdefghij",7): succeeded
 Calling asmb(0x1200011c5="56789abc""defghijk",8): succeeded
 Calling asmb(0x1200011c5="56789abcd""efghijkl",9): succeeded
 Calling asmb(0x1200011c5="56789abcde""fghijklm",10): succeeded
 Calling asmb(0x1200011c5="56789abcdef""ghijklm\n",11): succeeded
 Calling asmb(0x1200011c5="56789abcdefg""hijklm\nn",12): succeeded
 Calling asmb(0x1200011c5="56789abcdefgh""ijklm\nno",13): succeeded
 Calling asmb(0x1200011c5="56789abcdefghi""jklm\nnop",14): succeeded
 Calling asmb(0x1200011c5="56789abcdefghij""klm\nnopq",15): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijk""lm\nnopqr",16): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijkl""m\nnopqr\n",17): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm""\nnopqr\n\n",18): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\n""nopqr\n\ns",19): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nn""opqr\n\nst",20): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nno""pqr\n\nstu",21): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnop""qr\n\nstuv",22): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopq""r\n\nstuvw",23): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr""\n\nstuvwx",24): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n""\nstuvwxy",25): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\n""stuvwxyz",26): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\ns""tuvwxyz",27): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\nst""uvwxyz",28): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\nstu""vwxyz",29): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\nstuv""wxyz",30): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",31): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",32): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",33): failed
  Expected result: 3030
  Your result    : 4054
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",34): failed
  Expected result: 3152
  Your result    : 4176
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",35): failed
  Expected result: 3380
  Your result    : 4148
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",36): failed
  Expected result: 3626
  Your result    : 4138
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",37): failed
  Expected result: 3878
  Your result    : 4134
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",38): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",39): succeeded
 Calling asmb(0x1200011c5="56789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",40): succeeded
 Calling asmb(0x1200011c6="""6789abcd",0): succeeded
 Calling asmb(0x1200011c6="6""789abcde",1): succeeded
 Calling asmb(0x1200011c6="67""89abcdef",2): succeeded
 Calling asmb(0x1200011c6="678""9abcdefg",3): succeeded
 Calling asmb(0x1200011c6="6789""abcdefgh",4): succeeded
 Calling asmb(0x1200011c6="6789a""bcdefghi",5): succeeded
 Calling asmb(0x1200011c6="6789ab""cdefghij",6): succeeded
 Calling asmb(0x1200011c6="6789abc""defghijk",7): succeeded
 Calling asmb(0x1200011c6="6789abcd""efghijkl",8): succeeded
 Calling asmb(0x1200011c6="6789abcde""fghijklm",9): succeeded
 Calling asmb(0x1200011c6="6789abcdef""ghijklm\n",10): succeeded
 Calling asmb(0x1200011c6="6789abcdefg""hijklm\nn",11): succeeded
 Calling asmb(0x1200011c6="6789abcdefgh""ijklm\nno",12): succeeded
 Calling asmb(0x1200011c6="6789abcdefghi""jklm\nnop",13): succeeded
 Calling asmb(0x1200011c6="6789abcdefghij""klm\nnopq",14): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijk""lm\nnopqr",15): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijkl""m\nnopqr\n",16): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm""\nnopqr\n\n",17): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\n""nopqr\n\ns",18): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nn""opqr\n\nst",19): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nno""pqr\n\nstu",20): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnop""qr\n\nstuv",21): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopq""r\n\nstuvw",22): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr""\n\nstuvwx",23): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n""\nstuvwxy",24): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\n""stuvwxyz",25): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\ns""tuvwxyz",26): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\nst""uvwxyz",27): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\nstu""vwxyz",28): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\nstuv""wxyz",29): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",30): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",31): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",32): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",33): failed
  Expected result: 3099
  Your result    : 4123
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",34): failed
  Expected result: 3327
  Your result    : 4095
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",35): failed
  Expected result: 3573
  Your result    : 4085
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",36): failed
  Expected result: 3825
  Your result    : 4081
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",37): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",38): succeeded
 Calling asmb(0x1200011c6="6789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",39): succeeded
 Calling asmb(0x1200011c7="""789abcde",0): succeeded
 Calling asmb(0x1200011c7="7""89abcdef",1): succeeded
 Calling asmb(0x1200011c7="78""9abcdefg",2): succeeded
 Calling asmb(0x1200011c7="789""abcdefgh",3): succeeded
 Calling asmb(0x1200011c7="789a""bcdefghi",4): succeeded
 Calling asmb(0x1200011c7="789ab""cdefghij",5): succeeded
 Calling asmb(0x1200011c7="789abc""defghijk",6): succeeded
 Calling asmb(0x1200011c7="789abcd""efghijkl",7): succeeded
 Calling asmb(0x1200011c7="789abcde""fghijklm",8): succeeded
 Calling asmb(0x1200011c7="789abcdef""ghijklm\n",9): succeeded
 Calling asmb(0x1200011c7="789abcdefg""hijklm\nn",10): succeeded
 Calling asmb(0x1200011c7="789abcdefgh""ijklm\nno",11): succeeded
 Calling asmb(0x1200011c7="789abcdefghi""jklm\nnop",12): succeeded
 Calling asmb(0x1200011c7="789abcdefghij""klm\nnopq",13): succeeded
 Calling asmb(0x1200011c7="789abcdefghijk""lm\nnopqr",14): succeeded
 Calling asmb(0x1200011c7="789abcdefghijkl""m\nnopqr\n",15): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm""\nnopqr\n\n",16): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\n""nopqr\n\ns",17): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nn""opqr\n\nst",18): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nno""pqr\n\nstu",19): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnop""qr\n\nstuv",20): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopq""r\n\nstuvw",21): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr""\n\nstuvwx",22): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n""\nstuvwxy",23): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\n""stuvwxyz",24): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\ns""tuvwxyz",25): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\nst""uvwxyz",26): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\nstu""vwxyz",27): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\nstuv""wxyz",28): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",29): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",30): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",31): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",32): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",33): failed
  Expected result: 3273
  Your result    : 4041
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",34): failed
  Expected result: 3519
  Your result    : 4031
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",35): failed
  Expected result: 3771
  Your result    : 4027
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",36): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",37): succeeded
 Calling asmb(0x1200011c7="789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",38): succeeded
 Calling asmb(0x1200011c8="""89abcdef",0): succeeded
 Calling asmb(0x1200011c8="8""9abcdefg",1): succeeded
 Calling asmb(0x1200011c8="89""abcdefgh",2): succeeded
 Calling asmb(0x1200011c8="89a""bcdefghi",3): succeeded
 Calling asmb(0x1200011c8="89ab""cdefghij",4): succeeded
 Calling asmb(0x1200011c8="89abc""defghijk",5): succeeded
 Calling asmb(0x1200011c8="89abcd""efghijkl",6): succeeded
 Calling asmb(0x1200011c8="89abcde""fghijklm",7): succeeded
 Calling asmb(0x1200011c8="89abcdef""ghijklm\n",8): succeeded
 Calling asmb(0x1200011c8="89abcdefg""hijklm\nn",9): succeeded
 Calling asmb(0x1200011c8="89abcdefgh""ijklm\nno",10): succeeded
 Calling asmb(0x1200011c8="89abcdefghi""jklm\nnop",11): succeeded
 Calling asmb(0x1200011c8="89abcdefghij""klm\nnopq",12): succeeded
 Calling asmb(0x1200011c8="89abcdefghijk""lm\nnopqr",13): succeeded
 Calling asmb(0x1200011c8="89abcdefghijkl""m\nnopqr\n",14): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm""\nnopqr\n\n",15): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm\n""nopqr\n\ns",16): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm\nn""opqr\n\nst",17): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm\nno""pqr\n\nstu",18): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm\nnop""qr\n\nstuv",19): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopq""r\n\nstuvw",20): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr""\n\nstuvwx",21): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n""\nstuvwxy",22): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\n""stuvwxyz",23): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\ns""tuvwxyz",24): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\nst""uvwxyz",25): failed
  Expected result: 2273
  Your result    : 2529
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\nstu""vwxyz",26): failed
  Expected result: 2390
  Your result    : 2646
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\nstuv""wxyz",27): failed
  Expected result: 2508
  Your result    : 2764
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\nstuvw""xyz\0",28): failed
  Expected result: 2627
  Your result    : 2883
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",29): failed
  Expected result: 2747
  Your result    : 3003
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",30): failed
  Expected result: 2868
  Your result    : 3124
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",31): failed
  Expected result: 2990
  Your result    : 3246
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",32): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",33): failed
  Expected result: 3464
  Your result    : 3976
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",34): failed
  Expected result: 3716
  Your result    : 3972
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",35): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",36): succeeded
 Calling asmb(0x1200011c8="89abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",37): succeeded
 Calling asmb(0x1200011c9="""9abcdefg",0): succeeded
 Calling asmb(0x1200011c9="9""abcdefgh",1): succeeded
 Calling asmb(0x1200011c9="9a""bcdefghi",2): succeeded
 Calling asmb(0x1200011c9="9ab""cdefghij",3): succeeded
 Calling asmb(0x1200011c9="9abc""defghijk",4): succeeded
 Calling asmb(0x1200011c9="9abcd""efghijkl",5): succeeded
 Calling asmb(0x1200011c9="9abcde""fghijklm",6): succeeded
 Calling asmb(0x1200011c9="9abcdef""ghijklm\n",7): succeeded
 Calling asmb(0x1200011c9="9abcdefg""hijklm\nn",8): succeeded
 Calling asmb(0x1200011c9="9abcdefgh""ijklm\nno",9): succeeded
 Calling asmb(0x1200011c9="9abcdefghi""jklm\nnop",10): succeeded
 Calling asmb(0x1200011c9="9abcdefghij""klm\nnopq",11): succeeded
 Calling asmb(0x1200011c9="9abcdefghijk""lm\nnopqr",12): succeeded
 Calling asmb(0x1200011c9="9abcdefghijkl""m\nnopqr\n",13): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm""\nnopqr\n\n",14): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\n""nopqr\n\ns",15): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\nn""opqr\n\nst",16): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\nno""pqr\n\nstu",17): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\nnop""qr\n\nstuv",18): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopq""r\n\nstuvw",19): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr""\n\nstuvwx",20): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n""\nstuvwxy",21): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\n""stuvwxyz",22): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\ns""tuvwxyz",23): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\nst""uvwxyz",24): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\nstu""vwxyz",25): failed
  Expected result: 2334
  Your result    : 2846
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\nstuv""wxyz",26): failed
  Expected result: 2452
  Your result    : 2964
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\nstuvw""xyz\0",27): failed
  Expected result: 2571
  Your result    : 3083
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",28): failed
  Expected result: 2691
  Your result    : 3203
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",29): failed
  Expected result: 2812
  Your result    : 3324
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",30): failed
  Expected result: 2934
  Your result    : 3446
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",31): failed
  Expected result: 3162
  Your result    : 3418
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",32): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",33): failed
  Expected result: 3660
  Your result    : 3916
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",34): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",35): succeeded
 Calling asmb(0x1200011c9="9abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",36): succeeded
 Calling asmb(0x1200011ca="""abcdefgh",0): succeeded
 Calling asmb(0x1200011ca="a""bcdefghi",1): succeeded
 Calling asmb(0x1200011ca="ab""cdefghij",2): succeeded
 Calling asmb(0x1200011ca="abc""defghijk",3): succeeded
 Calling asmb(0x1200011ca="abcd""efghijkl",4): succeeded
 Calling asmb(0x1200011ca="abcde""fghijklm",5): succeeded
 Calling asmb(0x1200011ca="abcdef""ghijklm\n",6): succeeded
 Calling asmb(0x1200011ca="abcdefg""hijklm\nn",7): succeeded
 Calling asmb(0x1200011ca="abcdefgh""ijklm\nno",8): succeeded
 Calling asmb(0x1200011ca="abcdefghi""jklm\nnop",9): succeeded
 Calling asmb(0x1200011ca="abcdefghij""klm\nnopq",10): succeeded
 Calling asmb(0x1200011ca="abcdefghijk""lm\nnopqr",11): succeeded
 Calling asmb(0x1200011ca="abcdefghijkl""m\nnopqr\n",12): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm""\nnopqr\n\n",13): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\n""nopqr\n\ns",14): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nn""opqr\n\nst",15): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nno""pqr\n\nstu",16): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nnop""qr\n\nstuv",17): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nnopq""r\n\nstuvw",18): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr""\n\nstuvwx",19): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n""\nstuvwxy",20): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\n""stuvwxyz",21): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\ns""tuvwxyz",22): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\nst""uvwxyz",23): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\nstu""vwxyz",24): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\nstuv""wxyz",25): failed
  Expected result: 2395
  Your result    : 3163
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\nstuvw""xyz\0",26): failed
  Expected result: 2514
  Your result    : 3282
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",27): failed
  Expected result: 2634
  Your result    : 3402
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",28): failed
  Expected result: 2755
  Your result    : 3523
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",29): failed
  Expected result: 2877
  Your result    : 3645
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",30): failed
  Expected result: 3105
  Your result    : 3617
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",31): failed
  Expected result: 3351
  Your result    : 3607
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",32): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",33): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",34): succeeded
 Calling asmb(0x1200011ca="abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",35): succeeded
 Calling asmb(0x1200011cb="""bcdefghi",0): succeeded
 Calling asmb(0x1200011cb="b""cdefghij",1): succeeded
 Calling asmb(0x1200011cb="bc""defghijk",2): succeeded
 Calling asmb(0x1200011cb="bcd""efghijkl",3): succeeded
 Calling asmb(0x1200011cb="bcde""fghijklm",4): succeeded
 Calling asmb(0x1200011cb="bcdef""ghijklm\n",5): succeeded
 Calling asmb(0x1200011cb="bcdefg""hijklm\nn",6): succeeded
 Calling asmb(0x1200011cb="bcdefgh""ijklm\nno",7): succeeded
 Calling asmb(0x1200011cb="bcdefghi""jklm\nnop",8): succeeded
 Calling asmb(0x1200011cb="bcdefghij""klm\nnopq",9): succeeded
 Calling asmb(0x1200011cb="bcdefghijk""lm\nnopqr",10): succeeded
 Calling asmb(0x1200011cb="bcdefghijkl""m\nnopqr\n",11): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm""\nnopqr\n\n",12): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\n""nopqr\n\ns",13): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nn""opqr\n\nst",14): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nno""pqr\n\nstu",15): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nnop""qr\n\nstuv",16): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nnopq""r\n\nstuvw",17): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr""\n\nstuvwx",18): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n""\nstuvwxy",19): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\n""stuvwxyz",20): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\ns""tuvwxyz",21): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\nst""uvwxyz",22): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\nstu""vwxyz",23): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\nstuv""wxyz",24): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\nstuvw""xyz\0",25): failed
  Expected result: 2417
  Your result    : 3441
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\nstuvwx""yz\0.",26): failed
  Expected result: 2537
  Your result    : 3561
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\nstuvwxy""z\0..",27): failed
  Expected result: 2658
  Your result    : 3682
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\nstuvwxyz""\0...",28): failed
  Expected result: 2780
  Your result    : 3804
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\nstuvwxyz""\0....",29): failed
  Expected result: 3008
  Your result    : 3776
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",30): failed
  Expected result: 3254
  Your result    : 3766
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\nstuvwxyz""\0......",31): failed
  Expected result: 3506
  Your result    : 3762
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",32): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\nstuvwxyz\0""........",33): succeeded
 Calling asmb(0x1200011cb="bcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",34): succeeded
 Calling asmb(0x1200011cc="""cdefghij",0): succeeded
 Calling asmb(0x1200011cc="c""defghijk",1): succeeded
 Calling asmb(0x1200011cc="cd""efghijkl",2): succeeded
 Calling asmb(0x1200011cc="cde""fghijklm",3): succeeded
 Calling asmb(0x1200011cc="cdef""ghijklm\n",4): succeeded
 Calling asmb(0x1200011cc="cdefg""hijklm\nn",5): succeeded
 Calling asmb(0x1200011cc="cdefgh""ijklm\nno",6): succeeded
 Calling asmb(0x1200011cc="cdefghi""jklm\nnop",7): succeeded
 Calling asmb(0x1200011cc="cdefghij""klm\nnopq",8): succeeded
 Calling asmb(0x1200011cc="cdefghijk""lm\nnopqr",9): succeeded
 Calling asmb(0x1200011cc="cdefghijkl""m\nnopqr\n",10): succeeded
 Calling asmb(0x1200011cc="cdefghijklm""\nnopqr\n\n",11): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\n""nopqr\n\ns",12): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nn""opqr\n\nst",13): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nno""pqr\n\nstu",14): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nnop""qr\n\nstuv",15): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nnopq""r\n\nstuvw",16): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr""\n\nstuvwx",17): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n""\nstuvwxy",18): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\n""stuvwxyz",19): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\ns""tuvwxyz",20): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\nst""uvwxyz",21): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\nstu""vwxyz",22): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\nstuv""wxyz",23): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\nstuvw""xyz\0",24): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\nstuvwx""yz\0.",25): failed
  Expected result: 2439
  Your result    : 3463
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\nstuvwxy""z\0..",26): failed
  Expected result: 2560
  Your result    : 3584
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\nstuvwxyz""\0...",27): failed
  Expected result: 2682
  Your result    : 3706
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\nstuvwxyz""\0....",28): failed
  Expected result: 2910
  Your result    : 3678
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\nstuvwxyz""\0.....",29): failed
  Expected result: 3156
  Your result    : 3668
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\nstuvwxyz""\0......",30): failed
  Expected result: 3408
  Your result    : 3664
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\nstuvwxyz""\0.......",31): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\nstuvwxyz\0""........",32): succeeded
 Calling asmb(0x1200011cc="cdefghijklm\nnopqr\n\nstuvwxyz\0.""........",33): succeeded
 Calling asmb(0x1200011cd="""defghijk",0): succeeded
 Calling asmb(0x1200011cd="d""efghijkl",1): succeeded
 Calling asmb(0x1200011cd="de""fghijklm",2): succeeded
 Calling asmb(0x1200011cd="def""ghijklm\n",3): succeeded
 Calling asmb(0x1200011cd="defg""hijklm\nn",4): succeeded
 Calling asmb(0x1200011cd="defgh""ijklm\nno",5): succeeded
 Calling asmb(0x1200011cd="defghi""jklm\nnop",6): succeeded
 Calling asmb(0x1200011cd="defghij""klm\nnopq",7): succeeded
 Calling asmb(0x1200011cd="defghijk""lm\nnopqr",8): succeeded
 Calling asmb(0x1200011cd="defghijkl""m\nnopqr\n",9): succeeded
 Calling asmb(0x1200011cd="defghijklm""\nnopqr\n\n",10): succeeded
 Calling asmb(0x1200011cd="defghijklm\n""nopqr\n\ns",11): succeeded
 Calling asmb(0x1200011cd="defghijklm\nn""opqr\n\nst",12): succeeded
 Calling asmb(0x1200011cd="defghijklm\nno""pqr\n\nstu",13): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnop""qr\n\nstuv",14): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnopq""r\n\nstuvw",15): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnopqr""\n\nstuvwx",16): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n""\nstuvwxy",17): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\n""stuvwxyz",18): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\ns""tuvwxyz",19): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\nst""uvwxyz",20): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\nstu""vwxyz",21): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\nstuv""wxyz",22): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\nstuvw""xyz\0",23): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\nstuvwx""yz\0.",24): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\nstuvwxy""z\0..",25): failed
  Expected result: 2461
  Your result    : 3485
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\nstuvwxyz""\0...",26): failed
  Expected result: 2583
  Your result    : 3607
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\nstuvwxyz""\0....",27): failed
  Expected result: 2811
  Your result    : 3579
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\nstuvwxyz""\0.....",28): failed
  Expected result: 3057
  Your result    : 3569
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\nstuvwxyz""\0......",29): failed
  Expected result: 3309
  Your result    : 3565
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\nstuvwxyz""\0.......",30): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\nstuvwxyz\0""........",31): succeeded
 Calling asmb(0x1200011cd="defghijklm\nnopqr\n\nstuvwxyz\0.""........",32): succeeded
 Calling asmb(0x1200011ce="""efghijkl",0): succeeded
 Calling asmb(0x1200011ce="e""fghijklm",1): succeeded
 Calling asmb(0x1200011ce="ef""ghijklm\n",2): succeeded
 Calling asmb(0x1200011ce="efg""hijklm\nn",3): succeeded
 Calling asmb(0x1200011ce="efgh""ijklm\nno",4): succeeded
 Calling asmb(0x1200011ce="efghi""jklm\nnop",5): succeeded
 Calling asmb(0x1200011ce="efghij""klm\nnopq",6): succeeded
 Calling asmb(0x1200011ce="efghijk""lm\nnopqr",7): succeeded
 Calling asmb(0x1200011ce="efghijkl""m\nnopqr\n",8): succeeded
 Calling asmb(0x1200011ce="efghijklm""\nnopqr\n\n",9): succeeded
 Calling asmb(0x1200011ce="efghijklm\n""nopqr\n\ns",10): succeeded
 Calling asmb(0x1200011ce="efghijklm\nn""opqr\n\nst",11): succeeded
 Calling asmb(0x1200011ce="efghijklm\nno""pqr\n\nstu",12): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnop""qr\n\nstuv",13): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopq""r\n\nstuvw",14): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopqr""\n\nstuvwx",15): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n""\nstuvwxy",16): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\n""stuvwxyz",17): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\ns""tuvwxyz",18): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\nst""uvwxyz",19): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\nstu""vwxyz",20): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\nstuv""wxyz",21): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\nstuvw""xyz\0",22): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\nstuvwx""yz\0.",23): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\nstuvwxy""z\0..",24): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\nstuvwxyz""\0...",25): failed
  Expected result: 2483
  Your result    : 3507
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\nstuvwxyz""\0....",26): failed
  Expected result: 2711
  Your result    : 3479
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\nstuvwxyz""\0.....",27): failed
  Expected result: 2957
  Your result    : 3469
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\nstuvwxyz""\0......",28): failed
  Expected result: 3209
  Your result    : 3465
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\nstuvwxyz""\0.......",29): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\nstuvwxyz\0""........",30): succeeded
 Calling asmb(0x1200011ce="efghijklm\nnopqr\n\nstuvwxyz\0.""........",31): succeeded
 Calling asmb(0x1200011cf="""fghijklm",0): succeeded
 Calling asmb(0x1200011cf="f""ghijklm\n",1): succeeded
 Calling asmb(0x1200011cf="fg""hijklm\nn",2): succeeded
 Calling asmb(0x1200011cf="fgh""ijklm\nno",3): succeeded
 Calling asmb(0x1200011cf="fghi""jklm\nnop",4): succeeded
 Calling asmb(0x1200011cf="fghij""klm\nnopq",5): succeeded
 Calling asmb(0x1200011cf="fghijk""lm\nnopqr",6): succeeded
 Calling asmb(0x1200011cf="fghijkl""m\nnopqr\n",7): succeeded
 Calling asmb(0x1200011cf="fghijklm""\nnopqr\n\n",8): succeeded
 Calling asmb(0x1200011cf="fghijklm\n""nopqr\n\ns",9): succeeded
 Calling asmb(0x1200011cf="fghijklm\nn""opqr\n\nst",10): succeeded
 Calling asmb(0x1200011cf="fghijklm\nno""pqr\n\nstu",11): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnop""qr\n\nstuv",12): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopq""r\n\nstuvw",13): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr""\n\nstuvwx",14): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n""\nstuvwxy",15): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\n""stuvwxyz",16): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\ns""tuvwxyz",17): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\nst""uvwxyz",18): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\nstu""vwxyz",19): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\nstuv""wxyz",20): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\nstuvw""xyz\0",21): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\nstuvwx""yz\0.",22): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\nstuvwxy""z\0..",23): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\nstuvwxyz""\0...",24): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\nstuvwxyz""\0....",25): failed
  Expected result: 2610
  Your result    : 3378
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\nstuvwxyz""\0.....",26): failed
  Expected result: 2856
  Your result    : 3368
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\nstuvwxyz""\0......",27): failed
  Expected result: 3108
  Your result    : 3364
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\nstuvwxyz""\0.......",28): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\nstuvwxyz\0""........",29): succeeded
 Calling asmb(0x1200011cf="fghijklm\nnopqr\n\nstuvwxyz\0.""........",30): succeeded
 Calling asmb(0x1200011d0="""ghijklm\n",0): succeeded
 Calling asmb(0x1200011d0="g""hijklm\nn",1): succeeded
 Calling asmb(0x1200011d0="gh""ijklm\nno",2): succeeded
 Calling asmb(0x1200011d0="ghi""jklm\nnop",3): succeeded
 Calling asmb(0x1200011d0="ghij""klm\nnopq",4): succeeded
 Calling asmb(0x1200011d0="ghijk""lm\nnopqr",5): succeeded
 Calling asmb(0x1200011d0="ghijkl""m\nnopqr\n",6): succeeded
 Calling asmb(0x1200011d0="ghijklm""\nnopqr\n\n",7): succeeded
 Calling asmb(0x1200011d0="ghijklm\n""nopqr\n\ns",8): succeeded
 Calling asmb(0x1200011d0="ghijklm\nn""opqr\n\nst",9): succeeded
 Calling asmb(0x1200011d0="ghijklm\nno""pqr\n\nstu",10): succeeded
 Calling asmb(0x1200011d0="ghijklm\nnop""qr\n\nstuv",11): succeeded
 Calling asmb(0x1200011d0="ghijklm\nnopq""r\n\nstuvw",12): succeeded
 Calling asmb(0x1200011d0="ghijklm\nnopqr""\n\nstuvwx",13): succeeded
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n""\nstuvwxy",14): succeeded
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\n""stuvwxyz",15): succeeded
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\ns""tuvwxyz",16): succeeded
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\nst""uvwxyz",17): failed
  Expected result: 1563
  Your result    : 1819
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\nstu""vwxyz",18): failed
  Expected result: 1680
  Your result    : 1936
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\nstuv""wxyz",19): failed
  Expected result: 1798
  Your result    : 2054
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\nstuvw""xyz\0",20): failed
  Expected result: 1917
  Your result    : 2173
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\nstuvwx""yz\0.",21): failed
  Expected result: 2037
  Your result    : 2293
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\nstuvwxy""z\0..",22): failed
  Expected result: 2158
  Your result    : 2414
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\nstuvwxyz""\0...",23): failed
  Expected result: 2280
  Your result    : 2536
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\nstuvwxyz""\0....",24): succeeded
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\nstuvwxyz""\0.....",25): failed
  Expected result: 2754
  Your result    : 3266
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\nstuvwxyz""\0......",26): failed
  Expected result: 3006
  Your result    : 3262
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\nstuvwxyz""\0.......",27): succeeded
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\nstuvwxyz\0""........",28): succeeded
 Calling asmb(0x1200011d0="ghijklm\nnopqr\n\nstuvwxyz\0.""........",29): succeeded
 Calling asmb(0x1200011d1="""hijklm\nn",0): succeeded
 Calling asmb(0x1200011d1="h""ijklm\nno",1): succeeded
 Calling asmb(0x1200011d1="hi""jklm\nnop",2): succeeded
 Calling asmb(0x1200011d1="hij""klm\nnopq",3): succeeded
 Calling asmb(0x1200011d1="hijk""lm\nnopqr",4): succeeded
 Calling asmb(0x1200011d1="hijkl""m\nnopqr\n",5): succeeded
 Calling asmb(0x1200011d1="hijklm""\nnopqr\n\n",6): succeeded
 Calling asmb(0x1200011d1="hijklm\n""nopqr\n\ns",7): succeeded
 Calling asmb(0x1200011d1="hijklm\nn""opqr\n\nst",8): succeeded
 Calling asmb(0x1200011d1="hijklm\nno""pqr\n\nstu",9): succeeded
 Calling asmb(0x1200011d1="hijklm\nnop""qr\n\nstuv",10): succeeded
 Calling asmb(0x1200011d1="hijklm\nnopq""r\n\nstuvw",11): succeeded
 Calling asmb(0x1200011d1="hijklm\nnopqr""\n\nstuvwx",12): succeeded
 Calling asmb(0x1200011d1="hijklm\nnopqr\n""\nstuvwxy",13): succeeded
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\n""stuvwxyz",14): succeeded
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\ns""tuvwxyz",15): succeeded
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\nst""uvwxyz",16): succeeded
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\nstu""vwxyz",17): failed
  Expected result: 1577
  Your result    : 2089
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\nstuv""wxyz",18): failed
  Expected result: 1695
  Your result    : 2207
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\nstuvw""xyz\0",19): failed
  Expected result: 1814
  Your result    : 2326
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\nstuvwx""yz\0.",20): failed
  Expected result: 1934
  Your result    : 2446
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\nstuvwxy""z\0..",21): failed
  Expected result: 2055
  Your result    : 2567
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\nstuvwxyz""\0...",22): failed
  Expected result: 2177
  Your result    : 2689
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\nstuvwxyz""\0....",23): failed
  Expected result: 2405
  Your result    : 2661
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\nstuvwxyz""\0.....",24): succeeded
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\nstuvwxyz""\0......",25): failed
  Expected result: 2903
  Your result    : 3159
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\nstuvwxyz""\0.......",26): succeeded
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\nstuvwxyz\0""........",27): succeeded
 Calling asmb(0x1200011d1="hijklm\nnopqr\n\nstuvwxyz\0.""........",28): succeeded
 Calling asmb(0x1200011d2="""ijklm\nno",0): succeeded
 Calling asmb(0x1200011d2="i""jklm\nnop",1): succeeded
 Calling asmb(0x1200011d2="ij""klm\nnopq",2): succeeded
 Calling asmb(0x1200011d2="ijk""lm\nnopqr",3): succeeded
 Calling asmb(0x1200011d2="ijkl""m\nnopqr\n",4): succeeded
 Calling asmb(0x1200011d2="ijklm""\nnopqr\n\n",5): succeeded
 Calling asmb(0x1200011d2="ijklm\n""nopqr\n\ns",6): succeeded
 Calling asmb(0x1200011d2="ijklm\nn""opqr\n\nst",7): succeeded
 Calling asmb(0x1200011d2="ijklm\nno""pqr\n\nstu",8): succeeded
 Calling asmb(0x1200011d2="ijklm\nnop""qr\n\nstuv",9): succeeded
 Calling asmb(0x1200011d2="ijklm\nnopq""r\n\nstuvw",10): succeeded
 Calling asmb(0x1200011d2="ijklm\nnopqr""\n\nstuvwx",11): succeeded
 Calling asmb(0x1200011d2="ijklm\nnopqr\n""\nstuvwxy",12): succeeded
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\n""stuvwxyz",13): succeeded
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\ns""tuvwxyz",14): succeeded
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\nst""uvwxyz",15): succeeded
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\nstu""vwxyz",16): succeeded
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\nstuv""wxyz",17): failed
  Expected result: 1591
  Your result    : 2359
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\nstuvw""xyz\0",18): failed
  Expected result: 1710
  Your result    : 2478
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\nstuvwx""yz\0.",19): failed
  Expected result: 1830
  Your result    : 2598
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\nstuvwxy""z\0..",20): failed
  Expected result: 1951
  Your result    : 2719
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\nstuvwxyz""\0...",21): failed
  Expected result: 2073
  Your result    : 2841
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\nstuvwxyz""\0....",22): failed
  Expected result: 2301
  Your result    : 2813
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\nstuvwxyz""\0.....",23): failed
  Expected result: 2547
  Your result    : 2803
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\nstuvwxyz""\0......",24): succeeded
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\nstuvwxyz""\0.......",25): succeeded
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\nstuvwxyz\0""........",26): succeeded
 Calling asmb(0x1200011d2="ijklm\nnopqr\n\nstuvwxyz\0.""........",27): succeeded
 Calling asmb(0x1200011d3="""jklm\nnop",0): succeeded
 Calling asmb(0x1200011d3="j""klm\nnopq",1): succeeded
 Calling asmb(0x1200011d3="jk""lm\nnopqr",2): succeeded
 Calling asmb(0x1200011d3="jkl""m\nnopqr\n",3): succeeded
 Calling asmb(0x1200011d3="jklm""\nnopqr\n\n",4): succeeded
 Calling asmb(0x1200011d3="jklm\n""nopqr\n\ns",5): succeeded
 Calling asmb(0x1200011d3="jklm\nn""opqr\n\nst",6): succeeded
 Calling asmb(0x1200011d3="jklm\nno""pqr\n\nstu",7): succeeded
 Calling asmb(0x1200011d3="jklm\nnop""qr\n\nstuv",8): succeeded
 Calling asmb(0x1200011d3="jklm\nnopq""r\n\nstuvw",9): succeeded
 Calling asmb(0x1200011d3="jklm\nnopqr""\n\nstuvwx",10): succeeded
 Calling asmb(0x1200011d3="jklm\nnopqr\n""\nstuvwxy",11): succeeded
 Calling asmb(0x1200011d3="jklm\nnopqr\n\n""stuvwxyz",12): succeeded
 Calling asmb(0x1200011d3="jklm\nnopqr\n\ns""tuvwxyz",13): succeeded
 Calling asmb(0x1200011d3="jklm\nnopqr\n\nst""uvwxyz",14): succeeded
 Calling asmb(0x1200011d3="jklm\nnopqr\n\nstu""vwxyz",15): succeeded
 Calling asmb(0x1200011d3="jklm\nnopqr\n\nstuv""wxyz",16): succeeded
 Calling asmb(0x1200011d3="jklm\nnopqr\n\nstuvw""xyz\0",17): failed
  Expected result: 1605
  Your result    : 2629
 Calling asmb(0x1200011d3="jklm\nnopqr\n\nstuvwx""yz\0.",18): failed
  Expected result: 1725
  Your result    : 2749
 Calling asmb(0x1200011d3="jklm\nnopqr\n\nstuvwxy""z\0..",19): failed
  Expected result: 1846
  Your result    : 2870
 Calling asmb(0x1200011d3="jklm\nnopqr\n\nstuvwxyz""\0...",20): failed
  Expected result: 1968
  Your result    : 2992
 Calling asmb(0x1200011d3="jklm\nnopqr\n\nstuvwxyz""\0....",21): failed
  Expected result: 2196
  Your result    : 2964
 Calling asmb(0x1200011d3="jklm\nnopqr\n\nstuvwxyz""\0.....",22): failed
  Expected result: 2442
  Your result    : 2954
 Calling asmb(0x1200011d3="jklm\nnopqr\n\nstuvwxyz""\0......",23): failed
  Expected result: 2694
  Your result    : 2950
 Calling asmb(0x1200011d3="jklm\nnopqr\n\nstuvwxyz""\0.......",24): succeeded
 Calling asmb(0x1200011d3="jklm\nnopqr\n\nstuvwxyz\0""........",25): succeeded
 Calling asmb(0x1200011d3="jklm\nnopqr\n\nstuvwxyz\0.""........",26): succeeded
 Calling asmb(0x1200011d4="""klm\nnopq",0): succeeded
 Calling asmb(0x1200011d4="k""lm\nnopqr",1): succeeded
 Calling asmb(0x1200011d4="kl""m\nnopqr\n",2): succeeded
 Calling asmb(0x1200011d4="klm""\nnopqr\n\n",3): succeeded
 Calling asmb(0x1200011d4="klm\n""nopqr\n\ns",4): succeeded
 Calling asmb(0x1200011d4="klm\nn""opqr\n\nst",5): succeeded
 Calling asmb(0x1200011d4="klm\nno""pqr\n\nstu",6): succeeded
 Calling asmb(0x1200011d4="klm\nnop""qr\n\nstuv",7): succeeded
 Calling asmb(0x1200011d4="klm\nnopq""r\n\nstuvw",8): succeeded
 Calling asmb(0x1200011d4="klm\nnopqr""\n\nstuvwx",9): succeeded
 Calling asmb(0x1200011d4="klm\nnopqr\n""\nstuvwxy",10): succeeded
 Calling asmb(0x1200011d4="klm\nnopqr\n\n""stuvwxyz",11): succeeded
 Calling asmb(0x1200011d4="klm\nnopqr\n\ns""tuvwxyz",12): succeeded
 Calling asmb(0x1200011d4="klm\nnopqr\n\nst""uvwxyz",13): succeeded
 Calling asmb(0x1200011d4="klm\nnopqr\n\nstu""vwxyz",14): succeeded
 Calling asmb(0x1200011d4="klm\nnopqr\n\nstuv""wxyz",15): succeeded
 Calling asmb(0x1200011d4="klm\nnopqr\n\nstuvw""xyz\0",16): succeeded
 Calling asmb(0x1200011d4="klm\nnopqr\n\nstuvwx""yz\0.",17): failed
  Expected result: 1619
  Your result    : 2643
 Calling asmb(0x1200011d4="klm\nnopqr\n\nstuvwxy""z\0..",18): failed
  Expected result: 1740
  Your result    : 2764
 Calling asmb(0x1200011d4="klm\nnopqr\n\nstuvwxyz""\0...",19): failed
  Expected result: 1862
  Your result    : 2886
 Calling asmb(0x1200011d4="klm\nnopqr\n\nstuvwxyz""\0....",20): failed
  Expected result: 2090
  Your result    : 2858
 Calling asmb(0x1200011d4="klm\nnopqr\n\nstuvwxyz""\0.....",21): failed
  Expected result: 2336
  Your result    : 2848
 Calling asmb(0x1200011d4="klm\nnopqr\n\nstuvwxyz""\0......",22): failed
  Expected result: 2588
  Your result    : 2844
 Calling asmb(0x1200011d4="klm\nnopqr\n\nstuvwxyz""\0.......",23): succeeded
 Calling asmb(0x1200011d4="klm\nnopqr\n\nstuvwxyz\0""........",24): succeeded
 Calling asmb(0x1200011d4="klm\nnopqr\n\nstuvwxyz\0.""........",25): succeeded
 Calling asmb(0x1200011d5="""lm\nnopqr",0): succeeded
 Calling asmb(0x1200011d5="l""m\nnopqr\n",1): succeeded
 Calling asmb(0x1200011d5="lm""\nnopqr\n\n",2): succeeded
 Calling asmb(0x1200011d5="lm\n""nopqr\n\ns",3): succeeded
 Calling asmb(0x1200011d5="lm\nn""opqr\n\nst",4): succeeded
 Calling asmb(0x1200011d5="lm\nno""pqr\n\nstu",5): succeeded
 Calling asmb(0x1200011d5="lm\nnop""qr\n\nstuv",6): succeeded
 Calling asmb(0x1200011d5="lm\nnopq""r\n\nstuvw",7): succeeded
 Calling asmb(0x1200011d5="lm\nnopqr""\n\nstuvwx",8): succeeded
 Calling asmb(0x1200011d5="lm\nnopqr\n""\nstuvwxy",9): succeeded
 Calling asmb(0x1200011d5="lm\nnopqr\n\n""stuvwxyz",10): succeeded
 Calling asmb(0x1200011d5="lm\nnopqr\n\ns""tuvwxyz",11): succeeded
 Calling asmb(0x1200011d5="lm\nnopqr\n\nst""uvwxyz",12): succeeded
 Calling asmb(0x1200011d5="lm\nnopqr\n\nstu""vwxyz",13): succeeded
 Calling asmb(0x1200011d5="lm\nnopqr\n\nstuv""wxyz",14): succeeded
 Calling asmb(0x1200011d5="lm\nnopqr\n\nstuvw""xyz\0",15): succeeded
 Calling asmb(0x1200011d5="lm\nnopqr\n\nstuvwx""yz\0.",16): succeeded
 Calling asmb(0x1200011d5="lm\nnopqr\n\nstuvwxy""z\0..",17): failed
  Expected result: 1633
  Your result    : 2657
 Calling asmb(0x1200011d5="lm\nnopqr\n\nstuvwxyz""\0...",18): failed
  Expected result: 1755
  Your result    : 2779
 Calling asmb(0x1200011d5="lm\nnopqr\n\nstuvwxyz""\0....",19): failed
  Expected result: 1983
  Your result    : 2751
 Calling asmb(0x1200011d5="lm\nnopqr\n\nstuvwxyz""\0.....",20): failed
  Expected result: 2229
  Your result    : 2741
 Calling asmb(0x1200011d5="lm\nnopqr\n\nstuvwxyz""\0......",21): failed
  Expected result: 2481
  Your result    : 2737
 Calling asmb(0x1200011d5="lm\nnopqr\n\nstuvwxyz""\0.......",22): succeeded
 Calling asmb(0x1200011d5="lm\nnopqr\n\nstuvwxyz\0""........",23): succeeded
 Calling asmb(0x1200011d5="lm\nnopqr\n\nstuvwxyz\0.""........",24): succeeded
 Calling asmb(0x1200011d6="""m\nnopqr\n",0): succeeded
 Calling asmb(0x1200011d6="m""\nnopqr\n\n",1): succeeded
 Calling asmb(0x1200011d6="m\n""nopqr\n\ns",2): succeeded
 Calling asmb(0x1200011d6="m\nn""opqr\n\nst",3): succeeded
 Calling asmb(0x1200011d6="m\nno""pqr\n\nstu",4): succeeded
 Calling asmb(0x1200011d6="m\nnop""qr\n\nstuv",5): succeeded
 Calling asmb(0x1200011d6="m\nnopq""r\n\nstuvw",6): succeeded
 Calling asmb(0x1200011d6="m\nnopqr""\n\nstuvwx",7): succeeded
 Calling asmb(0x1200011d6="m\nnopqr\n""\nstuvwxy",8): succeeded
 Calling asmb(0x1200011d6="m\nnopqr\n\n""stuvwxyz",9): succeeded
 Calling asmb(0x1200011d6="m\nnopqr\n\ns""tuvwxyz",10): succeeded
 Calling asmb(0x1200011d6="m\nnopqr\n\nst""uvwxyz",11): succeeded
 Calling asmb(0x1200011d6="m\nnopqr\n\nstu""vwxyz",12): succeeded
 Calling asmb(0x1200011d6="m\nnopqr\n\nstuv""wxyz",13): succeeded
 Calling asmb(0x1200011d6="m\nnopqr\n\nstuvw""xyz\0",14): succeeded
 Calling asmb(0x1200011d6="m\nnopqr\n\nstuvwx""yz\0.",15): succeeded
 Calling asmb(0x1200011d6="m\nnopqr\n\nstuvwxy""z\0..",16): succeeded
 Calling asmb(0x1200011d6="m\nnopqr\n\nstuvwxyz""\0...",17): failed
  Expected result: 1647
  Your result    : 2671
 Calling asmb(0x1200011d6="m\nnopqr\n\nstuvwxyz""\0....",18): failed
  Expected result: 1875
  Your result    : 2643
 Calling asmb(0x1200011d6="m\nnopqr\n\nstuvwxyz""\0.....",19): failed
  Expected result: 2121
  Your result    : 2633
 Calling asmb(0x1200011d6="m\nnopqr\n\nstuvwxyz""\0......",20): failed
  Expected result: 2373
  Your result    : 2629
 Calling asmb(0x1200011d6="m\nnopqr\n\nstuvwxyz""\0.......",21): succeeded
 Calling asmb(0x1200011d6="m\nnopqr\n\nstuvwxyz\0""........",22): succeeded
 Calling asmb(0x1200011d6="m\nnopqr\n\nstuvwxyz\0.""........",23): succeeded
 Calling asmb(0x1200011d7="""\nnopqr\n\n",0): succeeded
 Calling asmb(0x1200011d7="\n""nopqr\n\ns",1): succeeded
 Calling asmb(0x1200011d7="\nn""opqr\n\nst",2): succeeded
 Calling asmb(0x1200011d7="\nno""pqr\n\nstu",3): succeeded
 Calling asmb(0x1200011d7="\nnop""qr\n\nstuv",4): succeeded
 Calling asmb(0x1200011d7="\nnopq""r\n\nstuvw",5): succeeded
 Calling asmb(0x1200011d7="\nnopqr""\n\nstuvwx",6): succeeded
 Calling asmb(0x1200011d7="\nnopqr\n""\nstuvwxy",7): succeeded
 Calling asmb(0x1200011d7="\nnopqr\n\n""stuvwxyz",8): succeeded
 Calling asmb(0x1200011d7="\nnopqr\n\ns""tuvwxyz",9): succeeded
 Calling asmb(0x1200011d7="\nnopqr\n\nst""uvwxyz",10): succeeded
 Calling asmb(0x1200011d7="\nnopqr\n\nstu""vwxyz",11): succeeded
 Calling asmb(0x1200011d7="\nnopqr\n\nstuv""wxyz",12): succeeded
 Calling asmb(0x1200011d7="\nnopqr\n\nstuvw""xyz\0",13): succeeded
 Calling asmb(0x1200011d7="\nnopqr\n\nstuvwx""yz\0.",14): succeeded
 Calling asmb(0x1200011d7="\nnopqr\n\nstuvwxy""z\0..",15): succeeded
 Calling asmb(0x1200011d7="\nnopqr\n\nstuvwxyz""\0...",16): succeeded
 Calling asmb(0x1200011d7="\nnopqr\n\nstuvwxyz""\0....",17): failed
  Expected result: 1766
  Your result    : 2534
 Calling asmb(0x1200011d7="\nnopqr\n\nstuvwxyz""\0.....",18): failed
  Expected result: 2012
  Your result    : 2524
 Calling asmb(0x1200011d7="\nnopqr\n\nstuvwxyz""\0......",19): failed
  Expected result: 2264
  Your result    : 2520
 Calling asmb(0x1200011d7="\nnopqr\n\nstuvwxyz""\0.......",20): succeeded
 Calling asmb(0x1200011d7="\nnopqr\n\nstuvwxyz\0""........",21): succeeded
 Calling asmb(0x1200011d7="\nnopqr\n\nstuvwxyz\0.""........",22): succeeded
 Calling asmb(0x1200011d8="""nopqr\n\ns",0): succeeded
 Calling asmb(0x1200011d8="n""opqr\n\nst",1): succeeded
 Calling asmb(0x1200011d8="no""pqr\n\nstu",2): succeeded
 Calling asmb(0x1200011d8="nop""qr\n\nstuv",3): succeeded
 Calling asmb(0x1200011d8="nopq""r\n\nstuvw",4): succeeded
 Calling asmb(0x1200011d8="nopqr""\n\nstuvwx",5): succeeded
 Calling asmb(0x1200011d8="nopqr\n""\nstuvwxy",6): succeeded
 Calling asmb(0x1200011d8="nopqr\n\n""stuvwxyz",7): succeeded
 Calling asmb(0x1200011d8="nopqr\n\ns""tuvwxyz",8): succeeded
 Calling asmb(0x1200011d8="nopqr\n\nst""uvwxyz",9): failed
  Expected result: 811
  Your result    : 1067
 Calling asmb(0x1200011d8="nopqr\n\nstu""vwxyz",10): failed
  Expected result: 928
  Your result    : 1184
 Calling asmb(0x1200011d8="nopqr\n\nstuv""wxyz",11): failed
  Expected result: 1046
  Your result    : 1302
 Calling asmb(0x1200011d8="nopqr\n\nstuvw""xyz\0",12): failed
  Expected result: 1165
  Your result    : 1421
 Calling asmb(0x1200011d8="nopqr\n\nstuvwx""yz\0.",13): failed
  Expected result: 1285
  Your result    : 1541
 Calling asmb(0x1200011d8="nopqr\n\nstuvwxy""z\0..",14): failed
  Expected result: 1406
  Your result    : 1662
 Calling asmb(0x1200011d8="nopqr\n\nstuvwxyz""\0...",15): failed
  Expected result: 1528
  Your result    : 1784
 Calling asmb(0x1200011d8="nopqr\n\nstuvwxyz""\0....",16): succeeded
 Calling asmb(0x1200011d8="nopqr\n\nstuvwxyz""\0.....",17): failed
  Expected result: 2002
  Your result    : 2514
 Calling asmb(0x1200011d8="nopqr\n\nstuvwxyz""\0......",18): failed
  Expected result: 2254
  Your result    : 2510
 Calling asmb(0x1200011d8="nopqr\n\nstuvwxyz""\0.......",19): succeeded
 Calling asmb(0x1200011d8="nopqr\n\nstuvwxyz\0""........",20): succeeded
 Calling asmb(0x1200011d8="nopqr\n\nstuvwxyz\0.""........",21): succeeded
 Calling asmb(0x1200011d9="""opqr\n\nst",0): succeeded
 Calling asmb(0x1200011d9="o""pqr\n\nstu",1): succeeded
 Calling asmb(0x1200011d9="op""qr\n\nstuv",2): succeeded
 Calling asmb(0x1200011d9="opq""r\n\nstuvw",3): succeeded
 Calling asmb(0x1200011d9="opqr""\n\nstuvwx",4): succeeded
 Calling asmb(0x1200011d9="opqr\n""\nstuvwxy",5): succeeded
 Calling asmb(0x1200011d9="opqr\n\n""stuvwxyz",6): succeeded
 Calling asmb(0x1200011d9="opqr\n\ns""tuvwxyz",7): succeeded
 Calling asmb(0x1200011d9="opqr\n\nst""uvwxyz",8): succeeded
 Calling asmb(0x1200011d9="opqr\n\nstu""vwxyz",9): failed
  Expected result: 818
  Your result    : 1330
 Calling asmb(0x1200011d9="opqr\n\nstuv""wxyz",10): failed
  Expected result: 936
  Your result    : 1448
 Calling asmb(0x1200011d9="opqr\n\nstuvw""xyz\0",11): failed
  Expected result: 1055
  Your result    : 1567
 Calling asmb(0x1200011d9="opqr\n\nstuvwx""yz\0.",12): failed
  Expected result: 1175
  Your result    : 1687
 Calling asmb(0x1200011d9="opqr\n\nstuvwxy""z\0..",13): failed
  Expected result: 1296
  Your result    : 1808
 Calling asmb(0x1200011d9="opqr\n\nstuvwxyz""\0...",14): failed
  Expected result: 1418
  Your result    : 1930
 Calling asmb(0x1200011d9="opqr\n\nstuvwxyz""\0....",15): failed
  Expected result: 1646
  Your result    : 1902
 Calling asmb(0x1200011d9="opqr\n\nstuvwxyz""\0.....",16): succeeded
 Calling asmb(0x1200011d9="opqr\n\nstuvwxyz""\0......",17): failed
  Expected result: 2144
  Your result    : 2400
 Calling asmb(0x1200011d9="opqr\n\nstuvwxyz""\0.......",18): succeeded
 Calling asmb(0x1200011d9="opqr\n\nstuvwxyz\0""........",19): succeeded
 Calling asmb(0x1200011d9="opqr\n\nstuvwxyz\0.""........",20): succeeded
 Calling asmb(0x1200011da="""pqr\n\nstu",0): succeeded
 Calling asmb(0x1200011da="p""qr\n\nstuv",1): succeeded
 Calling asmb(0x1200011da="pq""r\n\nstuvw",2): succeeded
 Calling asmb(0x1200011da="pqr""\n\nstuvwx",3): succeeded
 Calling asmb(0x1200011da="pqr\n""\nstuvwxy",4): succeeded
 Calling asmb(0x1200011da="pqr\n\n""stuvwxyz",5): succeeded
 Calling asmb(0x1200011da="pqr\n\ns""tuvwxyz",6): succeeded
 Calling asmb(0x1200011da="pqr\n\nst""uvwxyz",7): succeeded
 Calling asmb(0x1200011da="pqr\n\nstu""vwxyz",8): succeeded
 Calling asmb(0x1200011da="pqr\n\nstuv""wxyz",9): failed
  Expected result: 825
  Your result    : 1593
 Calling asmb(0x1200011da="pqr\n\nstuvw""xyz\0",10): failed
  Expected result: 944
  Your result    : 1712
 Calling asmb(0x1200011da="pqr\n\nstuvwx""yz\0.",11): failed
  Expected result: 1064
  Your result    : 1832
 Calling asmb(0x1200011da="pqr\n\nstuvwxy""z\0..",12): failed
  Expected result: 1185
  Your result    : 1953
 Calling asmb(0x1200011da="pqr\n\nstuvwxyz""\0...",13): failed
  Expected result: 1307
  Your result    : 2075
 Calling asmb(0x1200011da="pqr\n\nstuvwxyz""\0....",14): failed
  Expected result: 1535
  Your result    : 2047
 Calling asmb(0x1200011da="pqr\n\nstuvwxyz""\0.....",15): failed
  Expected result: 1781
  Your result    : 2037
 Calling asmb(0x1200011da="pqr\n\nstuvwxyz""\0......",16): succeeded
 Calling asmb(0x1200011da="pqr\n\nstuvwxyz""\0.......",17): succeeded
 Calling asmb(0x1200011da="pqr\n\nstuvwxyz\0""........",18): succeeded
 Calling asmb(0x1200011da="pqr\n\nstuvwxyz\0.""........",19): succeeded
 Calling asmb(0x1200011db="""qr\n\nstuv",0): succeeded
 Calling asmb(0x1200011db="q""r\n\nstuvw",1): succeeded
 Calling asmb(0x1200011db="qr""\n\nstuvwx",2): succeeded
 Calling asmb(0x1200011db="qr\n""\nstuvwxy",3): succeeded
 Calling asmb(0x1200011db="qr\n\n""stuvwxyz",4): succeeded
 Calling asmb(0x1200011db="qr\n\ns""tuvwxyz",5): succeeded
 Calling asmb(0x1200011db="qr\n\nst""uvwxyz",6): succeeded
 Calling asmb(0x1200011db="qr\n\nstu""vwxyz",7): succeeded
 Calling asmb(0x1200011db="qr\n\nstuv""wxyz",8): succeeded
 Calling asmb(0x1200011db="qr\n\nstuvw""xyz\0",9): failed
  Expected result: 832
  Your result    : 1856
 Calling asmb(0x1200011db="qr\n\nstuvwx""yz\0.",10): failed
  Expected result: 952
  Your result    : 1976
 Calling asmb(0x1200011db="qr\n\nstuvwxy""z\0..",11): failed
  Expected result: 1073
  Your result    : 2097
 Calling asmb(0x1200011db="qr\n\nstuvwxyz""\0...",12): failed
  Expected result: 1195
  Your result    : 2219
 Calling asmb(0x1200011db="qr\n\nstuvwxyz""\0....",13): failed
  Expected result: 1423
  Your result    : 2191
 Calling asmb(0x1200011db="qr\n\nstuvwxyz""\0.....",14): failed
  Expected result: 1669
  Your result    : 2181
 Calling asmb(0x1200011db="qr\n\nstuvwxyz""\0......",15): failed
  Expected result: 1921
  Your result    : 2177
 Calling asmb(0x1200011db="qr\n\nstuvwxyz""\0.......",16): succeeded
 Calling asmb(0x1200011db="qr\n\nstuvwxyz\0""........",17): succeeded
 Calling asmb(0x1200011db="qr\n\nstuvwxyz\0.""........",18): succeeded
 Calling asmb(0x1200011dc="""r\n\nstuvw",0): succeeded
 Calling asmb(0x1200011dc="r""\n\nstuvwx",1): succeeded
 Calling asmb(0x1200011dc="r\n""\nstuvwxy",2): succeeded
 Calling asmb(0x1200011dc="r\n\n""stuvwxyz",3): succeeded
 Calling asmb(0x1200011dc="r\n\ns""tuvwxyz",4): succeeded
 Calling asmb(0x1200011dc="r\n\nst""uvwxyz",5): succeeded
 Calling asmb(0x1200011dc="r\n\nstu""vwxyz",6): succeeded
 Calling asmb(0x1200011dc="r\n\nstuv""wxyz",7): succeeded
 Calling asmb(0x1200011dc="r\n\nstuvw""xyz\0",8): succeeded
 Calling asmb(0x1200011dc="r\n\nstuvwx""yz\0.",9): failed
  Expected result: 839
  Your result    : 1863
 Calling asmb(0x1200011dc="r\n\nstuvwxy""z\0..",10): failed
  Expected result: 960
  Your result    : 1984
 Calling asmb(0x1200011dc="r\n\nstuvwxyz""\0...",11): failed
  Expected result: 1082
  Your result    : 2106
 Calling asmb(0x1200011dc="r\n\nstuvwxyz""\0....",12): failed
  Expected result: 1310
  Your result    : 2078
 Calling asmb(0x1200011dc="r\n\nstuvwxyz""\0.....",13): failed
  Expected result: 1556
  Your result    : 2068
 Calling asmb(0x1200011dc="r\n\nstuvwxyz""\0......",14): failed
  Expected result: 1808
  Your result    : 2064
 Calling asmb(0x1200011dc="r\n\nstuvwxyz""\0.......",15): succeeded
 Calling asmb(0x1200011dc="r\n\nstuvwxyz\0""........",16): succeeded
 Calling asmb(0x1200011dc="r\n\nstuvwxyz\0.""........",17): succeeded
 Calling asmb(0x1200011dd="""\n\nstuvwx",0): succeeded
 Calling asmb(0x1200011dd="\n""\nstuvwxy",1): succeeded
 Calling asmb(0x1200011dd="\n\n""stuvwxyz",2): succeeded
 Calling asmb(0x1200011dd="\n\ns""tuvwxyz",3): succeeded
 Calling asmb(0x1200011dd="\n\nst""uvwxyz",4): succeeded
 Calling asmb(0x1200011dd="\n\nstu""vwxyz",5): succeeded
 Calling asmb(0x1200011dd="\n\nstuv""wxyz",6): succeeded
 Calling asmb(0x1200011dd="\n\nstuvw""xyz\0",7): succeeded
 Calling asmb(0x1200011dd="\n\nstuvwx""yz\0.",8): succeeded
 Calling asmb(0x1200011dd="\n\nstuvwxy""z\0..",9): failed
  Expected result: 846
  Your result    : 1870
 Calling asmb(0x1200011dd="\n\nstuvwxyz""\0...",10): failed
  Expected result: 968
  Your result    : 1992
 Calling asmb(0x1200011dd="\n\nstuvwxyz""\0....",11): failed
  Expected result: 1196
  Your result    : 1964
 Calling asmb(0x1200011dd="\n\nstuvwxyz""\0.....",12): failed
  Expected result: 1442
  Your result    : 1954
 Calling asmb(0x1200011dd="\n\nstuvwxyz""\0......",13): failed
  Expected result: 1694
  Your result    : 1950
 Calling asmb(0x1200011dd="\n\nstuvwxyz""\0.......",14): succeeded
 Calling asmb(0x1200011dd="\n\nstuvwxyz\0""........",15): succeeded
 Calling asmb(0x1200011dd="\n\nstuvwxyz\0.""........",16): succeeded
 Calling asmb(0x1200011de="""\nstuvwxy",0): succeeded
 Calling asmb(0x1200011de="\n""stuvwxyz",1): succeeded
 Calling asmb(0x1200011de="\ns""tuvwxyz",2): succeeded
 Calling asmb(0x1200011de="\nst""uvwxyz",3): succeeded
 Calling asmb(0x1200011de="\nstu""vwxyz",4): succeeded
 Calling asmb(0x1200011de="\nstuv""wxyz",5): succeeded
 Calling asmb(0x1200011de="\nstuvw""xyz\0",6): succeeded
 Calling asmb(0x1200011de="\nstuvwx""yz\0.",7): succeeded
 Calling asmb(0x1200011de="\nstuvwxy""z\0..",8): succeeded
 Calling asmb(0x1200011de="\nstuvwxyz""\0...",9): failed
  Expected result: 958
  Your result    : 1982
 Calling asmb(0x1200011de="\nstuvwxyz""\0....",10): failed
  Expected result: 1186
  Your result    : 1954
 Calling asmb(0x1200011de="\nstuvwxyz""\0.....",11): failed
  Expected result: 1432
  Your result    : 1944
 Calling asmb(0x1200011de="\nstuvwxyz""\0......",12): failed
  Expected result: 1684
  Your result    : 1940
 Calling asmb(0x1200011de="\nstuvwxyz""\0.......",13): succeeded
 Calling asmb(0x1200011de="\nstuvwxyz\0""........",14): succeeded
 Calling asmb(0x1200011de="\nstuvwxyz\0.""........",15): succeeded
 Calling asmb(0x1200011df="""stuvwxyz",0): succeeded
 Calling asmb(0x1200011df="s""tuvwxyz",1): succeeded
 Calling asmb(0x1200011df="st""uvwxyz",2): succeeded
 Calling asmb(0x1200011df="stu""vwxyz",3): succeeded
 Calling asmb(0x1200011df="stuv""wxyz",4): succeeded
 Calling asmb(0x1200011df="stuvw""xyz\0",5): succeeded
 Calling asmb(0x1200011df="stuvwx""yz\0.",6): succeeded
 Calling asmb(0x1200011df="stuvwxy""z\0..",7): succeeded
 Calling asmb(0x1200011df="stuvwxyz""\0...",8): succeeded
 Calling asmb(0x1200011df="stuvwxyz""\0....",9): failed
  Expected result: 1176
  Your result    : 1944
 Calling asmb(0x1200011df="stuvwxyz""\0.....",10): failed
  Expected result: 1422
  Your result    : 1934
 Calling asmb(0x1200011df="stuvwxyz""\0......",11): failed
  Expected result: 1674
  Your result    : 1930
 Calling asmb(0x1200011df="stuvwxyz""\0.......",12): succeeded
 Calling asmb(0x1200011df="stuvwxyz\0""........",13): succeeded
 Calling asmb(0x1200011df="stuvwxyz\0.""........",14): succeeded
 Calling asmb(0x1200011e0="""tuvwxyz",0): succeeded
 Calling asmb(0x1200011e0="t""uvwxyz",1): failed
  Expected result: 116
  Your result    : 372
 Calling asmb(0x1200011e0="tu""vwxyz",2): failed
  Expected result: 233
  Your result    : 489
 Calling asmb(0x1200011e0="tuv""wxyz",3): failed
  Expected result: 351
  Your result    : 607
 Calling asmb(0x1200011e0="tuvw""xyz\0",4): failed
  Expected result: 470
  Your result    : 726
 Calling asmb(0x1200011e0="tuvwx""yz\0.",5): failed
  Expected result: 590
  Your result    : 846
 Calling asmb(0x1200011e0="tuvwxy""z\0..",6): failed
  Expected result: 711
  Your result    : 967
 Calling asmb(0x1200011e0="tuvwxyz""\0...",7): failed
  Expected result: 833
  Your result    : 1089
 Calling asmb(0x1200011e0="tuvwxyz""\0....",8): succeeded
 Calling asmb(0x1200011e0="tuvwxyz""\0.....",9): failed
  Expected result: 1307
  Your result    : 1819
 Calling asmb(0x1200011e0="tuvwxyz""\0......",10): failed
  Expected result: 1559
  Your result    : 1815
 Calling asmb(0x1200011e0="tuvwxyz""\0.......",11): succeeded
 Calling asmb(0x1200011e0="tuvwxyz\0""........",12): succeeded
 Calling asmb(0x1200011e0="tuvwxyz\0.""........",13): succeeded
 Calling asmb(0x1200011e1="""uvwxyz",0): succeeded
 Calling asmb(0x1200011e1="u""vwxyz",1): failed
  Expected result: 117
  Your result    : 629
 Calling asmb(0x1200011e1="uv""wxyz",2): failed
  Expected result: 235
  Your result    : 747
 Calling asmb(0x1200011e1="uvw""xyz\0",3): failed
  Expected result: 354
  Your result    : 866
 Calling asmb(0x1200011e1="uvwx""yz\0.",4): failed
  Expected result: 474
  Your result    : 986
 Calling asmb(0x1200011e1="uvwxy""z\0..",5): failed
  Expected result: 595
  Your result    : 1107
 Calling asmb(0x1200011e1="uvwxyz""\0...",6): failed
  Expected result: 717
  Your result    : 1229
 Calling asmb(0x1200011e1="uvwxyz""\0....",7): failed
  Expected result: 945
  Your result    : 1201
 Calling asmb(0x1200011e1="uvwxyz""\0.....",8): succeeded
 Calling asmb(0x1200011e1="uvwxyz""\0......",9): failed
  Expected result: 1443
  Your result    : 1699
 Calling asmb(0x1200011e1="uvwxyz""\0.......",10): succeeded
 Calling asmb(0x1200011e1="uvwxyz\0""........",11): succeeded
 Calling asmb(0x1200011e1="uvwxyz\0.""........",12): succeeded
 Calling asmb(0x1200011e2="""vwxyz",0): succeeded
 Calling asmb(0x1200011e2="v""wxyz",1): failed
  Expected result: 118
  Your result    : 886
 Calling asmb(0x1200011e2="vw""xyz\0",2): failed
  Expected result: 237
  Your result    : 1005
 Calling asmb(0x1200011e2="vwx""yz\0.",3): failed
  Expected result: 357
  Your result    : 1125
 Calling asmb(0x1200011e2="vwxy""z\0..",4): failed
  Expected result: 478
  Your result    : 1246
 Calling asmb(0x1200011e2="vwxyz""\0...",5): failed
  Expected result: 600
  Your result    : 1368
 Calling asmb(0x1200011e2="vwxyz""\0....",6): failed
  Expected result: 828
  Your result    : 1340
 Calling asmb(0x1200011e2="vwxyz""\0.....",7): failed
  Expected result: 1074
  Your result    : 1330
 Calling asmb(0x1200011e2="vwxyz""\0......",8): succeeded
 Calling asmb(0x1200011e2="vwxyz""\0.......",9): succeeded
 Calling asmb(0x1200011e2="vwxyz\0""........",10): succeeded
 Calling asmb(0x1200011e2="vwxyz\0.""........",11): succeeded
 Calling asmb(0x1200011e3="""wxyz",0): succeeded
 Calling asmb(0x1200011e3="w""xyz\0",1): failed
  Expected result: 119
  Your result    : 1143
 Calling asmb(0x1200011e3="wx""yz\0.",2): failed
  Expected result: 239
  Your result    : 1263
 Calling asmb(0x1200011e3="wxy""z\0..",3): failed
  Expected result: 360
  Your result    : 1384
 Calling asmb(0x1200011e3="wxyz""\0...",4): failed
  Expected result: 482
  Your result    : 1506
 Calling asmb(0x1200011e3="wxyz""\0....",5): failed
  Expected result: 710
  Your result    : 1478
 Calling asmb(0x1200011e3="wxyz""\0.....",6): failed
  Expected result: 956
  Your result    : 1468
 Calling asmb(0x1200011e3="wxyz""\0......",7): failed
  Expected result: 1208
  Your result    : 1464
 Calling asmb(0x1200011e3="wxyz""\0.......",8): succeeded
 Calling asmb(0x1200011e3="wxyz\0""........",9): succeeded
 Calling asmb(0x1200011e3="wxyz\0.""........",10): succeeded
 Calling asmb(0x1200011e4="""xyz\0",0): succeeded
 Calling asmb(0x1200011e4="x""yz\0.",1): failed
  Expected result: 120
  Your result    : 1144
 Calling asmb(0x1200011e4="xy""z\0..",2): failed
  Expected result: 241
  Your result    : 1265
 Calling asmb(0x1200011e4="xyz""\0...",3): failed
  Expected result: 363
  Your result    : 1387
 Calling asmb(0x1200011e4="xyz""\0....",4): failed
  Expected result: 591
  Your result    : 1359
 Calling asmb(0x1200011e4="xyz""\0.....",5): failed
  Expected result: 837
  Your result    : 1349
 Calling asmb(0x1200011e4="xyz""\0......",6): failed
  Expected result: 1089
  Your result    : 1345
 Calling asmb(0x1200011e4="xyz""\0.......",7): succeeded
 Calling asmb(0x1200011e4="xyz\0""........",8): succeeded
 Calling asmb(0x1200011e4="xyz\0.""........",9): succeeded
 Calling asmb(0x1200011e5="""yz\0.",0): succeeded
 Calling asmb(0x1200011e5="y""z\0..",1): failed
  Expected result: 121
  Your result    : 1145
 Calling asmb(0x1200011e5="yz""\0...",2): failed
  Expected result: 243
  Your result    : 1267
 Calling asmb(0x1200011e5="yz""\0....",3): failed
  Expected result: 471
  Your result    : 1239
 Calling asmb(0x1200011e5="yz""\0.....",4): failed
  Expected result: 717
  Your result    : 1229
 Calling asmb(0x1200011e5="yz""\0......",5): failed
  Expected result: 969
  Your result    : 1225
 Calling asmb(0x1200011e5="yz""\0.......",6): succeeded
 Calling asmb(0x1200011e5="yz\0""........",7): succeeded
 Calling asmb(0x1200011e5="yz\0.""........",8): succeeded
 Calling asmb(0x1200011e6="""z\0..",0): succeeded
 Calling asmb(0x1200011e6="z""\0...",1): failed
  Expected result: 122
  Your result    : 1146
 Calling asmb(0x1200011e6="z""\0....",2): failed
  Expected result: 350
  Your result    : 1118
 Calling asmb(0x1200011e6="z""\0.....",3): failed
  Expected result: 596
  Your result    : 1108
 Calling asmb(0x1200011e6="z""\0......",4): failed
  Expected result: 848
  Your result    : 1104
 Calling asmb(0x1200011e6="z""\0.......",5): succeeded
 Calling asmb(0x1200011e6="z\0""........",6): succeeded
 Calling asmb(0x1200011e6="z\0.""........",7): succeeded
 Calling asmb(0x1200011e7="""\0...",0): succeeded
 Calling asmb(0x1200011e7="""\0....",1): failed
  Expected result: 228
  Your result    : 996
 Calling asmb(0x1200011e7="""\0.....",2): failed
  Expected result: 474
  Your result    : 986
 Calling asmb(0x1200011e7="""\0......",3): failed
  Expected result: 726
  Your result    : 982
 Calling asmb(0x1200011e7="""\0.......",4): succeeded
 Calling asmb(0x1200011e7="\0""........",5): succeeded
 Calling asmb(0x1200011e7="\0.""........",6): succeeded
 Calling asmb(0x1200011e8="""\0....",0): succeeded
 Calling asmb(0x1200011e8="""\0.....",1): failed
  Expected result: 246
  Your result    : 758
 Calling asmb(0x1200011e8="""\0......",2): failed
  Expected result: 498
  Your result    : 754
 Calling asmb(0x1200011e8="""\0.......",3): succeeded
 Calling asmb(0x1200011e8="\0""........",4): succeeded
 Calling asmb(0x1200011e8="\0.""........",5): succeeded
 Calling asmb(0x1200011e9="""\0.....",0): succeeded
 Calling asmb(0x1200011e9="""\0......",1): failed
  Expected result: 252
  Your result    : 508
 Calling asmb(0x1200011e9="""\0.......",2): succeeded
 Calling asmb(0x1200011e9="\0""........",3): succeeded
 Calling asmb(0x1200011e9="\0.""........",4): succeeded
 Calling asmb(0x1200011ea="""\0......",0): succeeded
 Calling asmb(0x1200011ea="""\0.......",1): succeeded
 Calling asmb(0x1200011ea="\0""........",2): succeeded
 Calling asmb(0x1200011ea="\0.""........",3): succeeded
 Calling asmb(0x1200011eb="""\0.......",0): succeeded
 Calling asmb(0x1200011eb="\0""........",1): succeeded
 Calling asmb(0x1200011eb="\0.""........",2): succeeded
 Calling asmb(0x1200011ec="""........",0): succeeded
 Calling asmb(0x1200011ec=".""........",1): succeeded
 Calling asmb(0x1200011ed="""........",0): succeeded

Test failed.


Nach 'make clean' gab es folgendes Ergebnis:
rm -rf asmb.o


From ublu@b1.complang.tuwien.ac.at Wed Mar 22 18:40:53 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 22 Mar 2006 18:40:53 +0100
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FM7KH-0003wO-SD
	for u0425426@b1.complang.tuwien.ac.at; Wed, 22 Mar 2006 18:40:53 +0100
To: u0425426@b1.complang.tuwien.ac.at
Subject: Assembler A, 2. Abgabe
Message-Id: <E1FM7KH-0003wO-SD@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 22 Mar 2006 18:40:53 +0100


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Assembler-A-Beispiels: 70%.

Bitte speichern Sie im Abgabeverzeichnis NUR die noetigen Dateien,
also keine Testdaten, keine ausfuehrbaren Programme und keine
Unterverzeichnisse.

'make' hatte folgendes zu melden:
gcc -c asma.s


Die Ergebnisse der Tests:

Testfall: 0x0000000000000000; Resultat:    0; ok
Testfall: 0x0102040810204080; Resultat:  255; ok
Testfall: 0x8040201008040201; Resultat:  255; ok
Testfall: 0x0102030405060708; Resultat:   36; ok
Testfall: 0x8192a3b4c5d6e7f8; Resultat: 1508; ok
Testfall: 0x0123456789abcdef; Resultat:  960; ok
Testfall: 0xffffffffffffffff; Resultat: 2040; ok


Nach 'make clean' gab es folgendes Ergebnis:
rm -rf asma.o test asma-test.o


From ublu@b1.complang.tuwien.ac.at Wed Mar 22 19:01:43 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 22 Mar 2006 19:01:43 +0100
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FM7eR-0004Lc-3R
	for u0425426@b1.complang.tuwien.ac.at; Wed, 22 Mar 2006 19:01:43 +0100
To: u0425426@b1.complang.tuwien.ac.at
Subject: Zwischenstand
Message-Id: <E1FM7eR-0004Lc-3R@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 22 Mar 2006 19:01:43 +0100

Beispiel  1. Abgabe      2. Abgabe      3. Abgabe    Bestes    Gewichtet
         100%   100%    100%    70%    100%    30%
   asma 100.00 100.00  100.00  70.00    0.00   0.00  100.00      10.000
   asmb   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
scanner   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
 parser   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
     ag   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
   code   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
 gesamt   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
                                                     Summe:      10.000
Sie sind angemeldet: 
3 0425426 534 Staroch Paul

From ublu@b1.complang.tuwien.ac.at Wed Mar 29 22:24:01 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 29 Mar 2006 22:24:01 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FOhCz-0000NJ-5X
	for u0425426@b1.complang.tuwien.ac.at; Wed, 29 Mar 2006 22:24:01 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Scanner, 1. Abgabe
Message-Id: <E1FOhCz-0000NJ-5X@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 29 Mar 2006 22:24:01 +0200


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Scannerbeispiels: 100%.  Das
maximale Ergebnis ist 100%.  Das Programm lieferte fuer 0
Testfaelle das falsche Ergebnis (10% Abzug pro Fehler). 

Bitte speichern Sie im Abgabeverzeichnis NUR die noetigen Dateien,
also keine Testdaten, keine ausfuehrbaren Programme und keine
Unterverzeichnisse.

'make' hatte folgendes zu melden:
flex -o scanner.c scanner.fl
gcc -g -ansi -c scanner.c
gcc -o scanner scanner.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann erwartete Ausgabe
(nach "Erwartete Ausgabe:"), dann die Abweichungen vom erwarteten
Ergebnis (als context-diff).

Eingabe:
func f(x)
 x ->
end;

Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
id x
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> repeat ->
end;

Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
if
id x
>
num a
then
id x
->
else
id x
+
num a
->
end
->
start
->
repeat
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
func x(a,b)
  1,2,3 -> start -> d,e,f;
    if a>b then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> 
end;

Status: korrekt

Erwartete Ausgabe:
func
id x
(
id a
,
id b
)
num 1
,
num 2
,
num 3
->
start
->
id d
,
id e
,
id f
;
if
id a
>
id b
then
id d
,
id e
->
else
id e
,
id d
->
end
->
id g
,
id h
;
if
id g
>
id h
then
id f
->
exit
;
id e
,
id f
,
id d
->
repeat
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
func f(x)
  1 -> start -> a;
    if a=2 then
      3 -> exit;
    2-> repeat
  -> b;
  b -> 
end;

Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
num 1
->
start
->
id a
;
if
id a
=
num 2
then
num 3
->
exit
;
num 2
->
repeat
->
id b
;
id b
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
/* hhh /* ggg */
func f(x)
 x ->
end;

Line 1: Possibly nested comment (comment aleady started at line 1)
Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
id x
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
Line 1: Possibly nested comment (comment aleady started at line 1)
kein Unterschied
----------
Eingabe:
/* this is a
   multiline comment
*/
func f(x)
 x ->
end;

Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
id x
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
func end if then else exit start repeat not and

Status: korrekt

Erwartete Ausgabe:
func
end
if
then
else
exit
start
repeat
not
and

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
; ( ) , * + -> - > =
Status: korrekt

Erwartete Ausgabe:
;
(
)
,
*
+
->
-
>
=

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
;(),*+->>-=
Status: korrekt

Erwartete Ausgabe:
;
(
)
,
*
+
->
>
-
=

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
_

Status: korrekt

Erwartete Ausgabe:
id _

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
a

Status: korrekt

Erwartete Ausgabe:
id a

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
a_0_z
Status: korrekt

Erwartete Ausgabe:
id a_0_z

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
0
Status: korrekt

Erwartete Ausgabe:
num 0

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
1_

Status: korrekt

Erwartete Ausgabe:
num 1
id _

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
123
Status: korrekt

Erwartete Ausgabe:
num 7b

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
/**/
Status: korrekt

Erwartete Ausgabe:

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
@
Line 1: Illegal character
Scanning not successful: 1 error, 0 warnings
Status: korrekt
----------
Eingabe:
/* Kommentar *
Line 1: EOF inside comment started at line 1
Status: korrekt
----------
Eingabe:
func f(x)
 x -> #
end;

Line 2: Illegal character
Scanning not successful: 1 error, 0 warnings
Status: korrekt
----------
Eingabe:
func f(x)
 x ->
end;
/* starts like a comment but does not end like a comment and therefore it is not a comment (but '/' is a lexical error)

Line 5: EOF inside comment started at line 4
Status: korrekt
----------


Nach 'make clean' gab es folgendes Ergebnis:
rm -rf scanner.c scanner.o scanner








From ublu@b1.complang.tuwien.ac.at Wed Mar 29 22:31:23 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 29 Mar 2006 22:31:23 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FOhK7-0000Vc-HC
	for u0425426@b1.complang.tuwien.ac.at; Wed, 29 Mar 2006 22:31:23 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Assembler B, 2. Abgabe
Message-Id: <E1FOhK7-0000Vc-HC@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 29 Mar 2006 22:31:23 +0200


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Assembler-B-Beispiels: 70%.

Bitte speichern Sie im Abgabeverzeichnis NUR die noetigen Dateien,
also keine Testdaten, keine ausfuehrbaren Programme und keine
Unterverzeichnisse.

'make' hatte folgendes zu melden:
gcc -c asmb.s


Die Ergebnisse der Tests:

 Calling asmb(0x120001200="""01234567",0): succeeded
 Calling asmb(0x120001200="0""12345678",1): succeeded
 Calling asmb(0x120001200="01""23456789",2): succeeded
 Calling asmb(0x120001200="012""3456789a",3): succeeded
 Calling asmb(0x120001200="0123""456789ab",4): succeeded
 Calling asmb(0x120001200="01234""56789abc",5): succeeded
 Calling asmb(0x120001200="012345""6789abcd",6): succeeded
 Calling asmb(0x120001200="0123456""789abcde",7): succeeded
 Calling asmb(0x120001200="01234567""89abcdef",8): succeeded
 Calling asmb(0x120001200="012345678""9abcdefg",9): succeeded
 Calling asmb(0x120001200="0123456789""abcdefgh",10): succeeded
 Calling asmb(0x120001200="0123456789a""bcdefghi",11): succeeded
 Calling asmb(0x120001200="0123456789ab""cdefghij",12): succeeded
 Calling asmb(0x120001200="0123456789abc""defghijk",13): succeeded
 Calling asmb(0x120001200="0123456789abcd""efghijkl",14): succeeded
 Calling asmb(0x120001200="0123456789abcde""fghijklm",15): succeeded
 Calling asmb(0x120001200="0123456789abcdef""ghijklm\n",16): succeeded
 Calling asmb(0x120001200="0123456789abcdefg""hijklm\nn",17): succeeded
 Calling asmb(0x120001200="0123456789abcdefgh""ijklm\nno",18): succeeded
 Calling asmb(0x120001200="0123456789abcdefghi""jklm\nnop",19): succeeded
 Calling asmb(0x120001200="0123456789abcdefghij""klm\nnopq",20): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijk""lm\nnopqr",21): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijkl""m\nnopqr\n",22): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm""\nnopqr\n\n",23): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\n""nopqr\n\ns",24): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nn""opqr\n\nst",25): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nno""pqr\n\nstu",26): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnop""qr\n\nstuv",27): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopq""r\n\nstuvw",28): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr""\n\nstuvwx",29): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n""\nstuvwxy",30): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\n""stuvwxyz",31): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",32): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nst""uvwxyz",33): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstu""vwxyz",34): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuv""wxyz",35): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",36): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",37): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",38): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",39): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",40): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",41): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",42): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",43): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",44): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",45): succeeded
 Calling asmb(0x120001201="""12345678",0): succeeded
 Calling asmb(0x120001201="1""23456789",1): succeeded
 Calling asmb(0x120001201="12""3456789a",2): succeeded
 Calling asmb(0x120001201="123""456789ab",3): succeeded
 Calling asmb(0x120001201="1234""56789abc",4): succeeded
 Calling asmb(0x120001201="12345""6789abcd",5): succeeded
 Calling asmb(0x120001201="123456""789abcde",6): succeeded
 Calling asmb(0x120001201="1234567""89abcdef",7): succeeded
 Calling asmb(0x120001201="12345678""9abcdefg",8): succeeded
 Calling asmb(0x120001201="123456789""abcdefgh",9): succeeded
 Calling asmb(0x120001201="123456789a""bcdefghi",10): succeeded
 Calling asmb(0x120001201="123456789ab""cdefghij",11): succeeded
 Calling asmb(0x120001201="123456789abc""defghijk",12): succeeded
 Calling asmb(0x120001201="123456789abcd""efghijkl",13): succeeded
 Calling asmb(0x120001201="123456789abcde""fghijklm",14): succeeded
 Calling asmb(0x120001201="123456789abcdef""ghijklm\n",15): succeeded
 Calling asmb(0x120001201="123456789abcdefg""hijklm\nn",16): succeeded
 Calling asmb(0x120001201="123456789abcdefgh""ijklm\nno",17): succeeded
 Calling asmb(0x120001201="123456789abcdefghi""jklm\nnop",18): succeeded
 Calling asmb(0x120001201="123456789abcdefghij""klm\nnopq",19): succeeded
 Calling asmb(0x120001201="123456789abcdefghijk""lm\nnopqr",20): succeeded
 Calling asmb(0x120001201="123456789abcdefghijkl""m\nnopqr\n",21): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm""\nnopqr\n\n",22): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\n""nopqr\n\ns",23): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nn""opqr\n\nst",24): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nno""pqr\n\nstu",25): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnop""qr\n\nstuv",26): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopq""r\n\nstuvw",27): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr""\n\nstuvwx",28): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n""\nstuvwxy",29): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\n""stuvwxyz",30): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",31): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nst""uvwxyz",32): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstu""vwxyz",33): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuv""wxyz",34): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",35): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",36): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",37): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",38): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",39): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",40): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",41): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",42): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",43): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",44): succeeded
 Calling asmb(0x120001202="""23456789",0): succeeded
 Calling asmb(0x120001202="2""3456789a",1): succeeded
 Calling asmb(0x120001202="23""456789ab",2): succeeded
 Calling asmb(0x120001202="234""56789abc",3): succeeded
 Calling asmb(0x120001202="2345""6789abcd",4): succeeded
 Calling asmb(0x120001202="23456""789abcde",5): succeeded
 Calling asmb(0x120001202="234567""89abcdef",6): succeeded
 Calling asmb(0x120001202="2345678""9abcdefg",7): succeeded
 Calling asmb(0x120001202="23456789""abcdefgh",8): succeeded
 Calling asmb(0x120001202="23456789a""bcdefghi",9): succeeded
 Calling asmb(0x120001202="23456789ab""cdefghij",10): succeeded
 Calling asmb(0x120001202="23456789abc""defghijk",11): succeeded
 Calling asmb(0x120001202="23456789abcd""efghijkl",12): succeeded
 Calling asmb(0x120001202="23456789abcde""fghijklm",13): succeeded
 Calling asmb(0x120001202="23456789abcdef""ghijklm\n",14): succeeded
 Calling asmb(0x120001202="23456789abcdefg""hijklm\nn",15): succeeded
 Calling asmb(0x120001202="23456789abcdefgh""ijklm\nno",16): succeeded
 Calling asmb(0x120001202="23456789abcdefghi""jklm\nnop",17): succeeded
 Calling asmb(0x120001202="23456789abcdefghij""klm\nnopq",18): succeeded
 Calling asmb(0x120001202="23456789abcdefghijk""lm\nnopqr",19): succeeded
 Calling asmb(0x120001202="23456789abcdefghijkl""m\nnopqr\n",20): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm""\nnopqr\n\n",21): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\n""nopqr\n\ns",22): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nn""opqr\n\nst",23): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nno""pqr\n\nstu",24): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnop""qr\n\nstuv",25): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopq""r\n\nstuvw",26): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr""\n\nstuvwx",27): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n""\nstuvwxy",28): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\n""stuvwxyz",29): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",30): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nst""uvwxyz",31): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstu""vwxyz",32): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuv""wxyz",33): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",34): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",35): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",36): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",37): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",38): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",39): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",40): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",41): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",42): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",43): succeeded
 Calling asmb(0x120001203="""3456789a",0): succeeded
 Calling asmb(0x120001203="3""456789ab",1): succeeded
 Calling asmb(0x120001203="34""56789abc",2): succeeded
 Calling asmb(0x120001203="345""6789abcd",3): succeeded
 Calling asmb(0x120001203="3456""789abcde",4): succeeded
 Calling asmb(0x120001203="34567""89abcdef",5): succeeded
 Calling asmb(0x120001203="345678""9abcdefg",6): succeeded
 Calling asmb(0x120001203="3456789""abcdefgh",7): succeeded
 Calling asmb(0x120001203="3456789a""bcdefghi",8): succeeded
 Calling asmb(0x120001203="3456789ab""cdefghij",9): succeeded
 Calling asmb(0x120001203="3456789abc""defghijk",10): succeeded
 Calling asmb(0x120001203="3456789abcd""efghijkl",11): succeeded
 Calling asmb(0x120001203="3456789abcde""fghijklm",12): succeeded
 Calling asmb(0x120001203="3456789abcdef""ghijklm\n",13): succeeded
 Calling asmb(0x120001203="3456789abcdefg""hijklm\nn",14): succeeded
 Calling asmb(0x120001203="3456789abcdefgh""ijklm\nno",15): succeeded
 Calling asmb(0x120001203="3456789abcdefghi""jklm\nnop",16): succeeded
 Calling asmb(0x120001203="3456789abcdefghij""klm\nnopq",17): succeeded
 Calling asmb(0x120001203="3456789abcdefghijk""lm\nnopqr",18): succeeded
 Calling asmb(0x120001203="3456789abcdefghijkl""m\nnopqr\n",19): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm""\nnopqr\n\n",20): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\n""nopqr\n\ns",21): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nn""opqr\n\nst",22): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nno""pqr\n\nstu",23): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnop""qr\n\nstuv",24): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopq""r\n\nstuvw",25): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr""\n\nstuvwx",26): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n""\nstuvwxy",27): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\n""stuvwxyz",28): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",29): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nst""uvwxyz",30): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstu""vwxyz",31): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuv""wxyz",32): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",33): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",34): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",35): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",36): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",37): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",38): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",39): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",40): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",41): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",42): succeeded
 Calling asmb(0x120001204="""456789ab",0): succeeded
 Calling asmb(0x120001204="4""56789abc",1): succeeded
 Calling asmb(0x120001204="45""6789abcd",2): succeeded
 Calling asmb(0x120001204="456""789abcde",3): succeeded
 Calling asmb(0x120001204="4567""89abcdef",4): succeeded
 Calling asmb(0x120001204="45678""9abcdefg",5): succeeded
 Calling asmb(0x120001204="456789""abcdefgh",6): succeeded
 Calling asmb(0x120001204="456789a""bcdefghi",7): succeeded
 Calling asmb(0x120001204="456789ab""cdefghij",8): succeeded
 Calling asmb(0x120001204="456789abc""defghijk",9): succeeded
 Calling asmb(0x120001204="456789abcd""efghijkl",10): succeeded
 Calling asmb(0x120001204="456789abcde""fghijklm",11): succeeded
 Calling asmb(0x120001204="456789abcdef""ghijklm\n",12): succeeded
 Calling asmb(0x120001204="456789abcdefg""hijklm\nn",13): succeeded
 Calling asmb(0x120001204="456789abcdefgh""ijklm\nno",14): succeeded
 Calling asmb(0x120001204="456789abcdefghi""jklm\nnop",15): succeeded
 Calling asmb(0x120001204="456789abcdefghij""klm\nnopq",16): succeeded
 Calling asmb(0x120001204="456789abcdefghijk""lm\nnopqr",17): succeeded
 Calling asmb(0x120001204="456789abcdefghijkl""m\nnopqr\n",18): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm""\nnopqr\n\n",19): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\n""nopqr\n\ns",20): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nn""opqr\n\nst",21): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nno""pqr\n\nstu",22): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnop""qr\n\nstuv",23): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopq""r\n\nstuvw",24): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr""\n\nstuvwx",25): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n""\nstuvwxy",26): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\n""stuvwxyz",27): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",28): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nst""uvwxyz",29): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstu""vwxyz",30): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuv""wxyz",31): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",32): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",33): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",34): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",35): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",36): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",37): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",38): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",39): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",40): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",41): succeeded
 Calling asmb(0x120001205="""56789abc",0): succeeded
 Calling asmb(0x120001205="5""6789abcd",1): succeeded
 Calling asmb(0x120001205="56""789abcde",2): succeeded
 Calling asmb(0x120001205="567""89abcdef",3): succeeded
 Calling asmb(0x120001205="5678""9abcdefg",4): succeeded
 Calling asmb(0x120001205="56789""abcdefgh",5): succeeded
 Calling asmb(0x120001205="56789a""bcdefghi",6): succeeded
 Calling asmb(0x120001205="56789ab""cdefghij",7): succeeded
 Calling asmb(0x120001205="56789abc""defghijk",8): succeeded
 Calling asmb(0x120001205="56789abcd""efghijkl",9): succeeded
 Calling asmb(0x120001205="56789abcde""fghijklm",10): succeeded
 Calling asmb(0x120001205="56789abcdef""ghijklm\n",11): succeeded
 Calling asmb(0x120001205="56789abcdefg""hijklm\nn",12): succeeded
 Calling asmb(0x120001205="56789abcdefgh""ijklm\nno",13): succeeded
 Calling asmb(0x120001205="56789abcdefghi""jklm\nnop",14): succeeded
 Calling asmb(0x120001205="56789abcdefghij""klm\nnopq",15): succeeded
 Calling asmb(0x120001205="56789abcdefghijk""lm\nnopqr",16): succeeded
 Calling asmb(0x120001205="56789abcdefghijkl""m\nnopqr\n",17): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm""\nnopqr\n\n",18): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\n""nopqr\n\ns",19): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nn""opqr\n\nst",20): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nno""pqr\n\nstu",21): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnop""qr\n\nstuv",22): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopq""r\n\nstuvw",23): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr""\n\nstuvwx",24): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n""\nstuvwxy",25): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\n""stuvwxyz",26): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\ns""tuvwxyz",27): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nst""uvwxyz",28): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstu""vwxyz",29): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuv""wxyz",30): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",31): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",32): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",33): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",34): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",35): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",36): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",37): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",38): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",39): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",40): succeeded
 Calling asmb(0x120001206="""6789abcd",0): succeeded
 Calling asmb(0x120001206="6""789abcde",1): succeeded
 Calling asmb(0x120001206="67""89abcdef",2): succeeded
 Calling asmb(0x120001206="678""9abcdefg",3): succeeded
 Calling asmb(0x120001206="6789""abcdefgh",4): succeeded
 Calling asmb(0x120001206="6789a""bcdefghi",5): succeeded
 Calling asmb(0x120001206="6789ab""cdefghij",6): succeeded
 Calling asmb(0x120001206="6789abc""defghijk",7): succeeded
 Calling asmb(0x120001206="6789abcd""efghijkl",8): succeeded
 Calling asmb(0x120001206="6789abcde""fghijklm",9): succeeded
 Calling asmb(0x120001206="6789abcdef""ghijklm\n",10): succeeded
 Calling asmb(0x120001206="6789abcdefg""hijklm\nn",11): succeeded
 Calling asmb(0x120001206="6789abcdefgh""ijklm\nno",12): succeeded
 Calling asmb(0x120001206="6789abcdefghi""jklm\nnop",13): succeeded
 Calling asmb(0x120001206="6789abcdefghij""klm\nnopq",14): succeeded
 Calling asmb(0x120001206="6789abcdefghijk""lm\nnopqr",15): succeeded
 Calling asmb(0x120001206="6789abcdefghijkl""m\nnopqr\n",16): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm""\nnopqr\n\n",17): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\n""nopqr\n\ns",18): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nn""opqr\n\nst",19): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nno""pqr\n\nstu",20): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnop""qr\n\nstuv",21): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopq""r\n\nstuvw",22): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr""\n\nstuvwx",23): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n""\nstuvwxy",24): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\n""stuvwxyz",25): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\ns""tuvwxyz",26): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nst""uvwxyz",27): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstu""vwxyz",28): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuv""wxyz",29): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",30): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",31): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",32): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",33): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",34): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",35): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",36): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",37): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",38): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",39): succeeded
 Calling asmb(0x120001207="""789abcde",0): succeeded
 Calling asmb(0x120001207="7""89abcdef",1): succeeded
 Calling asmb(0x120001207="78""9abcdefg",2): succeeded
 Calling asmb(0x120001207="789""abcdefgh",3): succeeded
 Calling asmb(0x120001207="789a""bcdefghi",4): succeeded
 Calling asmb(0x120001207="789ab""cdefghij",5): succeeded
 Calling asmb(0x120001207="789abc""defghijk",6): succeeded
 Calling asmb(0x120001207="789abcd""efghijkl",7): succeeded
 Calling asmb(0x120001207="789abcde""fghijklm",8): succeeded
 Calling asmb(0x120001207="789abcdef""ghijklm\n",9): succeeded
 Calling asmb(0x120001207="789abcdefg""hijklm\nn",10): succeeded
 Calling asmb(0x120001207="789abcdefgh""ijklm\nno",11): succeeded
 Calling asmb(0x120001207="789abcdefghi""jklm\nnop",12): succeeded
 Calling asmb(0x120001207="789abcdefghij""klm\nnopq",13): succeeded
 Calling asmb(0x120001207="789abcdefghijk""lm\nnopqr",14): succeeded
 Calling asmb(0x120001207="789abcdefghijkl""m\nnopqr\n",15): succeeded
 Calling asmb(0x120001207="789abcdefghijklm""\nnopqr\n\n",16): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\n""nopqr\n\ns",17): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nn""opqr\n\nst",18): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nno""pqr\n\nstu",19): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnop""qr\n\nstuv",20): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopq""r\n\nstuvw",21): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr""\n\nstuvwx",22): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n""\nstuvwxy",23): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\n""stuvwxyz",24): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\ns""tuvwxyz",25): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nst""uvwxyz",26): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstu""vwxyz",27): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuv""wxyz",28): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",29): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",30): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",31): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",32): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",33): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",34): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",35): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",36): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",37): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",38): succeeded
 Calling asmb(0x120001208="""89abcdef",0): succeeded
 Calling asmb(0x120001208="8""9abcdefg",1): succeeded
 Calling asmb(0x120001208="89""abcdefgh",2): succeeded
 Calling asmb(0x120001208="89a""bcdefghi",3): succeeded
 Calling asmb(0x120001208="89ab""cdefghij",4): succeeded
 Calling asmb(0x120001208="89abc""defghijk",5): succeeded
 Calling asmb(0x120001208="89abcd""efghijkl",6): succeeded
 Calling asmb(0x120001208="89abcde""fghijklm",7): succeeded
 Calling asmb(0x120001208="89abcdef""ghijklm\n",8): succeeded
 Calling asmb(0x120001208="89abcdefg""hijklm\nn",9): succeeded
 Calling asmb(0x120001208="89abcdefgh""ijklm\nno",10): succeeded
 Calling asmb(0x120001208="89abcdefghi""jklm\nnop",11): succeeded
 Calling asmb(0x120001208="89abcdefghij""klm\nnopq",12): succeeded
 Calling asmb(0x120001208="89abcdefghijk""lm\nnopqr",13): succeeded
 Calling asmb(0x120001208="89abcdefghijkl""m\nnopqr\n",14): succeeded
 Calling asmb(0x120001208="89abcdefghijklm""\nnopqr\n\n",15): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\n""nopqr\n\ns",16): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nn""opqr\n\nst",17): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nno""pqr\n\nstu",18): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnop""qr\n\nstuv",19): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopq""r\n\nstuvw",20): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr""\n\nstuvwx",21): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n""\nstuvwxy",22): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\n""stuvwxyz",23): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\ns""tuvwxyz",24): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nst""uvwxyz",25): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstu""vwxyz",26): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuv""wxyz",27): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvw""xyz\0",28): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",29): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",30): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",31): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",32): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",33): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",34): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",35): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",36): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",37): succeeded
 Calling asmb(0x120001209="""9abcdefg",0): succeeded
 Calling asmb(0x120001209="9""abcdefgh",1): succeeded
 Calling asmb(0x120001209="9a""bcdefghi",2): succeeded
 Calling asmb(0x120001209="9ab""cdefghij",3): succeeded
 Calling asmb(0x120001209="9abc""defghijk",4): succeeded
 Calling asmb(0x120001209="9abcd""efghijkl",5): succeeded
 Calling asmb(0x120001209="9abcde""fghijklm",6): succeeded
 Calling asmb(0x120001209="9abcdef""ghijklm\n",7): succeeded
 Calling asmb(0x120001209="9abcdefg""hijklm\nn",8): succeeded
 Calling asmb(0x120001209="9abcdefgh""ijklm\nno",9): succeeded
 Calling asmb(0x120001209="9abcdefghi""jklm\nnop",10): succeeded
 Calling asmb(0x120001209="9abcdefghij""klm\nnopq",11): succeeded
 Calling asmb(0x120001209="9abcdefghijk""lm\nnopqr",12): succeeded
 Calling asmb(0x120001209="9abcdefghijkl""m\nnopqr\n",13): succeeded
 Calling asmb(0x120001209="9abcdefghijklm""\nnopqr\n\n",14): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\n""nopqr\n\ns",15): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nn""opqr\n\nst",16): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nno""pqr\n\nstu",17): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnop""qr\n\nstuv",18): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopq""r\n\nstuvw",19): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr""\n\nstuvwx",20): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n""\nstuvwxy",21): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\n""stuvwxyz",22): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\ns""tuvwxyz",23): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nst""uvwxyz",24): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstu""vwxyz",25): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuv""wxyz",26): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvw""xyz\0",27): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",28): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",29): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",30): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",31): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",32): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",33): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",34): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",35): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",36): succeeded
 Calling asmb(0x12000120a="""abcdefgh",0): succeeded
 Calling asmb(0x12000120a="a""bcdefghi",1): succeeded
 Calling asmb(0x12000120a="ab""cdefghij",2): succeeded
 Calling asmb(0x12000120a="abc""defghijk",3): succeeded
 Calling asmb(0x12000120a="abcd""efghijkl",4): succeeded
 Calling asmb(0x12000120a="abcde""fghijklm",5): succeeded
 Calling asmb(0x12000120a="abcdef""ghijklm\n",6): succeeded
 Calling asmb(0x12000120a="abcdefg""hijklm\nn",7): succeeded
 Calling asmb(0x12000120a="abcdefgh""ijklm\nno",8): succeeded
 Calling asmb(0x12000120a="abcdefghi""jklm\nnop",9): succeeded
 Calling asmb(0x12000120a="abcdefghij""klm\nnopq",10): succeeded
 Calling asmb(0x12000120a="abcdefghijk""lm\nnopqr",11): succeeded
 Calling asmb(0x12000120a="abcdefghijkl""m\nnopqr\n",12): succeeded
 Calling asmb(0x12000120a="abcdefghijklm""\nnopqr\n\n",13): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\n""nopqr\n\ns",14): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nn""opqr\n\nst",15): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nno""pqr\n\nstu",16): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnop""qr\n\nstuv",17): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopq""r\n\nstuvw",18): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr""\n\nstuvwx",19): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n""\nstuvwxy",20): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\n""stuvwxyz",21): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\ns""tuvwxyz",22): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nst""uvwxyz",23): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstu""vwxyz",24): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuv""wxyz",25): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvw""xyz\0",26): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",27): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",28): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",29): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",30): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",31): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",32): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",33): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",34): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",35): succeeded
 Calling asmb(0x12000120b="""bcdefghi",0): succeeded
 Calling asmb(0x12000120b="b""cdefghij",1): succeeded
 Calling asmb(0x12000120b="bc""defghijk",2): succeeded
 Calling asmb(0x12000120b="bcd""efghijkl",3): succeeded
 Calling asmb(0x12000120b="bcde""fghijklm",4): succeeded
 Calling asmb(0x12000120b="bcdef""ghijklm\n",5): succeeded
 Calling asmb(0x12000120b="bcdefg""hijklm\nn",6): succeeded
 Calling asmb(0x12000120b="bcdefgh""ijklm\nno",7): succeeded
 Calling asmb(0x12000120b="bcdefghi""jklm\nnop",8): succeeded
 Calling asmb(0x12000120b="bcdefghij""klm\nnopq",9): succeeded
 Calling asmb(0x12000120b="bcdefghijk""lm\nnopqr",10): succeeded
 Calling asmb(0x12000120b="bcdefghijkl""m\nnopqr\n",11): succeeded
 Calling asmb(0x12000120b="bcdefghijklm""\nnopqr\n\n",12): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\n""nopqr\n\ns",13): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nn""opqr\n\nst",14): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nno""pqr\n\nstu",15): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnop""qr\n\nstuv",16): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopq""r\n\nstuvw",17): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr""\n\nstuvwx",18): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n""\nstuvwxy",19): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\n""stuvwxyz",20): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\ns""tuvwxyz",21): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nst""uvwxyz",22): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstu""vwxyz",23): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuv""wxyz",24): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvw""xyz\0",25): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwx""yz\0.",26): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxy""z\0..",27): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz""\0...",28): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz""\0....",29): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",30): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz""\0......",31): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",32): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz\0""........",33): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",34): succeeded
 Calling asmb(0x12000120c="""cdefghij",0): succeeded
 Calling asmb(0x12000120c="c""defghijk",1): succeeded
 Calling asmb(0x12000120c="cd""efghijkl",2): succeeded
 Calling asmb(0x12000120c="cde""fghijklm",3): succeeded
 Calling asmb(0x12000120c="cdef""ghijklm\n",4): succeeded
 Calling asmb(0x12000120c="cdefg""hijklm\nn",5): succeeded
 Calling asmb(0x12000120c="cdefgh""ijklm\nno",6): succeeded
 Calling asmb(0x12000120c="cdefghi""jklm\nnop",7): succeeded
 Calling asmb(0x12000120c="cdefghij""klm\nnopq",8): succeeded
 Calling asmb(0x12000120c="cdefghijk""lm\nnopqr",9): succeeded
 Calling asmb(0x12000120c="cdefghijkl""m\nnopqr\n",10): succeeded
 Calling asmb(0x12000120c="cdefghijklm""\nnopqr\n\n",11): succeeded
 Calling asmb(0x12000120c="cdefghijklm\n""nopqr\n\ns",12): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nn""opqr\n\nst",13): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nno""pqr\n\nstu",14): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnop""qr\n\nstuv",15): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopq""r\n\nstuvw",16): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr""\n\nstuvwx",17): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n""\nstuvwxy",18): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\n""stuvwxyz",19): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\ns""tuvwxyz",20): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nst""uvwxyz",21): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstu""vwxyz",22): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuv""wxyz",23): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvw""xyz\0",24): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwx""yz\0.",25): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxy""z\0..",26): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz""\0...",27): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz""\0....",28): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz""\0.....",29): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz""\0......",30): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz""\0.......",31): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz\0""........",32): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz\0.""........",33): succeeded
 Calling asmb(0x12000120d="""defghijk",0): succeeded
 Calling asmb(0x12000120d="d""efghijkl",1): succeeded
 Calling asmb(0x12000120d="de""fghijklm",2): succeeded
 Calling asmb(0x12000120d="def""ghijklm\n",3): succeeded
 Calling asmb(0x12000120d="defg""hijklm\nn",4): succeeded
 Calling asmb(0x12000120d="defgh""ijklm\nno",5): succeeded
 Calling asmb(0x12000120d="defghi""jklm\nnop",6): succeeded
 Calling asmb(0x12000120d="defghij""klm\nnopq",7): succeeded
 Calling asmb(0x12000120d="defghijk""lm\nnopqr",8): succeeded
 Calling asmb(0x12000120d="defghijkl""m\nnopqr\n",9): succeeded
 Calling asmb(0x12000120d="defghijklm""\nnopqr\n\n",10): succeeded
 Calling asmb(0x12000120d="defghijklm\n""nopqr\n\ns",11): succeeded
 Calling asmb(0x12000120d="defghijklm\nn""opqr\n\nst",12): succeeded
 Calling asmb(0x12000120d="defghijklm\nno""pqr\n\nstu",13): succeeded
 Calling asmb(0x12000120d="defghijklm\nnop""qr\n\nstuv",14): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopq""r\n\nstuvw",15): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr""\n\nstuvwx",16): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n""\nstuvwxy",17): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\n""stuvwxyz",18): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\ns""tuvwxyz",19): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nst""uvwxyz",20): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstu""vwxyz",21): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuv""wxyz",22): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvw""xyz\0",23): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwx""yz\0.",24): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxy""z\0..",25): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz""\0...",26): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz""\0....",27): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz""\0.....",28): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz""\0......",29): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz""\0.......",30): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz\0""........",31): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz\0.""........",32): succeeded
 Calling asmb(0x12000120e="""efghijkl",0): succeeded
 Calling asmb(0x12000120e="e""fghijklm",1): succeeded
 Calling asmb(0x12000120e="ef""ghijklm\n",2): succeeded
 Calling asmb(0x12000120e="efg""hijklm\nn",3): succeeded
 Calling asmb(0x12000120e="efgh""ijklm\nno",4): succeeded
 Calling asmb(0x12000120e="efghi""jklm\nnop",5): succeeded
 Calling asmb(0x12000120e="efghij""klm\nnopq",6): succeeded
 Calling asmb(0x12000120e="efghijk""lm\nnopqr",7): succeeded
 Calling asmb(0x12000120e="efghijkl""m\nnopqr\n",8): succeeded
 Calling asmb(0x12000120e="efghijklm""\nnopqr\n\n",9): succeeded
 Calling asmb(0x12000120e="efghijklm\n""nopqr\n\ns",10): succeeded
 Calling asmb(0x12000120e="efghijklm\nn""opqr\n\nst",11): succeeded
 Calling asmb(0x12000120e="efghijklm\nno""pqr\n\nstu",12): succeeded
 Calling asmb(0x12000120e="efghijklm\nnop""qr\n\nstuv",13): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopq""r\n\nstuvw",14): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr""\n\nstuvwx",15): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n""\nstuvwxy",16): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\n""stuvwxyz",17): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\ns""tuvwxyz",18): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nst""uvwxyz",19): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstu""vwxyz",20): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuv""wxyz",21): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvw""xyz\0",22): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwx""yz\0.",23): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxy""z\0..",24): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz""\0...",25): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz""\0....",26): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz""\0.....",27): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz""\0......",28): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz""\0.......",29): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz\0""........",30): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz\0.""........",31): succeeded
 Calling asmb(0x12000120f="""fghijklm",0): succeeded
 Calling asmb(0x12000120f="f""ghijklm\n",1): succeeded
 Calling asmb(0x12000120f="fg""hijklm\nn",2): succeeded
 Calling asmb(0x12000120f="fgh""ijklm\nno",3): succeeded
 Calling asmb(0x12000120f="fghi""jklm\nnop",4): succeeded
 Calling asmb(0x12000120f="fghij""klm\nnopq",5): succeeded
 Calling asmb(0x12000120f="fghijk""lm\nnopqr",6): succeeded
 Calling asmb(0x12000120f="fghijkl""m\nnopqr\n",7): succeeded
 Calling asmb(0x12000120f="fghijklm""\nnopqr\n\n",8): succeeded
 Calling asmb(0x12000120f="fghijklm\n""nopqr\n\ns",9): succeeded
 Calling asmb(0x12000120f="fghijklm\nn""opqr\n\nst",10): succeeded
 Calling asmb(0x12000120f="fghijklm\nno""pqr\n\nstu",11): succeeded
 Calling asmb(0x12000120f="fghijklm\nnop""qr\n\nstuv",12): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopq""r\n\nstuvw",13): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr""\n\nstuvwx",14): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n""\nstuvwxy",15): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\n""stuvwxyz",16): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\ns""tuvwxyz",17): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nst""uvwxyz",18): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstu""vwxyz",19): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuv""wxyz",20): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvw""xyz\0",21): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwx""yz\0.",22): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxy""z\0..",23): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz""\0...",24): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz""\0....",25): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz""\0.....",26): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz""\0......",27): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz""\0.......",28): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz\0""........",29): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz\0.""........",30): succeeded
 Calling asmb(0x120001210="""ghijklm\n",0): succeeded
 Calling asmb(0x120001210="g""hijklm\nn",1): succeeded
 Calling asmb(0x120001210="gh""ijklm\nno",2): succeeded
 Calling asmb(0x120001210="ghi""jklm\nnop",3): succeeded
 Calling asmb(0x120001210="ghij""klm\nnopq",4): succeeded
 Calling asmb(0x120001210="ghijk""lm\nnopqr",5): succeeded
 Calling asmb(0x120001210="ghijkl""m\nnopqr\n",6): succeeded
 Calling asmb(0x120001210="ghijklm""\nnopqr\n\n",7): succeeded
 Calling asmb(0x120001210="ghijklm\n""nopqr\n\ns",8): succeeded
 Calling asmb(0x120001210="ghijklm\nn""opqr\n\nst",9): succeeded
 Calling asmb(0x120001210="ghijklm\nno""pqr\n\nstu",10): succeeded
 Calling asmb(0x120001210="ghijklm\nnop""qr\n\nstuv",11): succeeded
 Calling asmb(0x120001210="ghijklm\nnopq""r\n\nstuvw",12): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr""\n\nstuvwx",13): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n""\nstuvwxy",14): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\n""stuvwxyz",15): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\ns""tuvwxyz",16): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nst""uvwxyz",17): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstu""vwxyz",18): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuv""wxyz",19): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvw""xyz\0",20): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwx""yz\0.",21): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxy""z\0..",22): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz""\0...",23): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz""\0....",24): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz""\0.....",25): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz""\0......",26): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz""\0.......",27): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz\0""........",28): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz\0.""........",29): succeeded
 Calling asmb(0x120001211="""hijklm\nn",0): succeeded
 Calling asmb(0x120001211="h""ijklm\nno",1): succeeded
 Calling asmb(0x120001211="hi""jklm\nnop",2): succeeded
 Calling asmb(0x120001211="hij""klm\nnopq",3): succeeded
 Calling asmb(0x120001211="hijk""lm\nnopqr",4): succeeded
 Calling asmb(0x120001211="hijkl""m\nnopqr\n",5): succeeded
 Calling asmb(0x120001211="hijklm""\nnopqr\n\n",6): succeeded
 Calling asmb(0x120001211="hijklm\n""nopqr\n\ns",7): succeeded
 Calling asmb(0x120001211="hijklm\nn""opqr\n\nst",8): succeeded
 Calling asmb(0x120001211="hijklm\nno""pqr\n\nstu",9): succeeded
 Calling asmb(0x120001211="hijklm\nnop""qr\n\nstuv",10): succeeded
 Calling asmb(0x120001211="hijklm\nnopq""r\n\nstuvw",11): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr""\n\nstuvwx",12): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n""\nstuvwxy",13): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\n""stuvwxyz",14): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\ns""tuvwxyz",15): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nst""uvwxyz",16): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstu""vwxyz",17): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuv""wxyz",18): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvw""xyz\0",19): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwx""yz\0.",20): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxy""z\0..",21): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz""\0...",22): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz""\0....",23): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz""\0.....",24): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz""\0......",25): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz""\0.......",26): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz\0""........",27): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz\0.""........",28): succeeded
 Calling asmb(0x120001212="""ijklm\nno",0): succeeded
 Calling asmb(0x120001212="i""jklm\nnop",1): succeeded
 Calling asmb(0x120001212="ij""klm\nnopq",2): succeeded
 Calling asmb(0x120001212="ijk""lm\nnopqr",3): succeeded
 Calling asmb(0x120001212="ijkl""m\nnopqr\n",4): succeeded
 Calling asmb(0x120001212="ijklm""\nnopqr\n\n",5): succeeded
 Calling asmb(0x120001212="ijklm\n""nopqr\n\ns",6): succeeded
 Calling asmb(0x120001212="ijklm\nn""opqr\n\nst",7): succeeded
 Calling asmb(0x120001212="ijklm\nno""pqr\n\nstu",8): succeeded
 Calling asmb(0x120001212="ijklm\nnop""qr\n\nstuv",9): succeeded
 Calling asmb(0x120001212="ijklm\nnopq""r\n\nstuvw",10): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr""\n\nstuvwx",11): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n""\nstuvwxy",12): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\n""stuvwxyz",13): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\ns""tuvwxyz",14): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nst""uvwxyz",15): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstu""vwxyz",16): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuv""wxyz",17): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvw""xyz\0",18): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwx""yz\0.",19): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxy""z\0..",20): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz""\0...",21): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz""\0....",22): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz""\0.....",23): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz""\0......",24): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz""\0.......",25): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz\0""........",26): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz\0.""........",27): succeeded
 Calling asmb(0x120001213="""jklm\nnop",0): succeeded
 Calling asmb(0x120001213="j""klm\nnopq",1): succeeded
 Calling asmb(0x120001213="jk""lm\nnopqr",2): succeeded
 Calling asmb(0x120001213="jkl""m\nnopqr\n",3): succeeded
 Calling asmb(0x120001213="jklm""\nnopqr\n\n",4): succeeded
 Calling asmb(0x120001213="jklm\n""nopqr\n\ns",5): succeeded
 Calling asmb(0x120001213="jklm\nn""opqr\n\nst",6): succeeded
 Calling asmb(0x120001213="jklm\nno""pqr\n\nstu",7): succeeded
 Calling asmb(0x120001213="jklm\nnop""qr\n\nstuv",8): succeeded
 Calling asmb(0x120001213="jklm\nnopq""r\n\nstuvw",9): succeeded
 Calling asmb(0x120001213="jklm\nnopqr""\n\nstuvwx",10): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n""\nstuvwxy",11): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\n""stuvwxyz",12): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\ns""tuvwxyz",13): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nst""uvwxyz",14): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstu""vwxyz",15): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuv""wxyz",16): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvw""xyz\0",17): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwx""yz\0.",18): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxy""z\0..",19): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz""\0...",20): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz""\0....",21): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz""\0.....",22): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz""\0......",23): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz""\0.......",24): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz\0""........",25): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz\0.""........",26): succeeded
 Calling asmb(0x120001214="""klm\nnopq",0): succeeded
 Calling asmb(0x120001214="k""lm\nnopqr",1): succeeded
 Calling asmb(0x120001214="kl""m\nnopqr\n",2): succeeded
 Calling asmb(0x120001214="klm""\nnopqr\n\n",3): succeeded
 Calling asmb(0x120001214="klm\n""nopqr\n\ns",4): succeeded
 Calling asmb(0x120001214="klm\nn""opqr\n\nst",5): succeeded
 Calling asmb(0x120001214="klm\nno""pqr\n\nstu",6): succeeded
 Calling asmb(0x120001214="klm\nnop""qr\n\nstuv",7): succeeded
 Calling asmb(0x120001214="klm\nnopq""r\n\nstuvw",8): succeeded
 Calling asmb(0x120001214="klm\nnopqr""\n\nstuvwx",9): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n""\nstuvwxy",10): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\n""stuvwxyz",11): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\ns""tuvwxyz",12): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nst""uvwxyz",13): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstu""vwxyz",14): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuv""wxyz",15): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvw""xyz\0",16): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwx""yz\0.",17): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxy""z\0..",18): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz""\0...",19): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz""\0....",20): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz""\0.....",21): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz""\0......",22): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz""\0.......",23): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz\0""........",24): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz\0.""........",25): succeeded
 Calling asmb(0x120001215="""lm\nnopqr",0): succeeded
 Calling asmb(0x120001215="l""m\nnopqr\n",1): succeeded
 Calling asmb(0x120001215="lm""\nnopqr\n\n",2): succeeded
 Calling asmb(0x120001215="lm\n""nopqr\n\ns",3): succeeded
 Calling asmb(0x120001215="lm\nn""opqr\n\nst",4): succeeded
 Calling asmb(0x120001215="lm\nno""pqr\n\nstu",5): succeeded
 Calling asmb(0x120001215="lm\nnop""qr\n\nstuv",6): succeeded
 Calling asmb(0x120001215="lm\nnopq""r\n\nstuvw",7): succeeded
 Calling asmb(0x120001215="lm\nnopqr""\n\nstuvwx",8): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n""\nstuvwxy",9): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\n""stuvwxyz",10): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\ns""tuvwxyz",11): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nst""uvwxyz",12): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstu""vwxyz",13): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuv""wxyz",14): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvw""xyz\0",15): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwx""yz\0.",16): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxy""z\0..",17): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz""\0...",18): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz""\0....",19): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz""\0.....",20): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz""\0......",21): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz""\0.......",22): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz\0""........",23): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz\0.""........",24): succeeded
 Calling asmb(0x120001216="""m\nnopqr\n",0): succeeded
 Calling asmb(0x120001216="m""\nnopqr\n\n",1): succeeded
 Calling asmb(0x120001216="m\n""nopqr\n\ns",2): succeeded
 Calling asmb(0x120001216="m\nn""opqr\n\nst",3): succeeded
 Calling asmb(0x120001216="m\nno""pqr\n\nstu",4): succeeded
 Calling asmb(0x120001216="m\nnop""qr\n\nstuv",5): succeeded
 Calling asmb(0x120001216="m\nnopq""r\n\nstuvw",6): succeeded
 Calling asmb(0x120001216="m\nnopqr""\n\nstuvwx",7): succeeded
 Calling asmb(0x120001216="m\nnopqr\n""\nstuvwxy",8): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\n""stuvwxyz",9): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\ns""tuvwxyz",10): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nst""uvwxyz",11): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstu""vwxyz",12): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuv""wxyz",13): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvw""xyz\0",14): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwx""yz\0.",15): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxy""z\0..",16): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz""\0...",17): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz""\0....",18): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz""\0.....",19): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz""\0......",20): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz""\0.......",21): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz\0""........",22): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz\0.""........",23): succeeded
 Calling asmb(0x120001217="""\nnopqr\n\n",0): succeeded
 Calling asmb(0x120001217="\n""nopqr\n\ns",1): succeeded
 Calling asmb(0x120001217="\nn""opqr\n\nst",2): succeeded
 Calling asmb(0x120001217="\nno""pqr\n\nstu",3): succeeded
 Calling asmb(0x120001217="\nnop""qr\n\nstuv",4): succeeded
 Calling asmb(0x120001217="\nnopq""r\n\nstuvw",5): succeeded
 Calling asmb(0x120001217="\nnopqr""\n\nstuvwx",6): succeeded
 Calling asmb(0x120001217="\nnopqr\n""\nstuvwxy",7): succeeded
 Calling asmb(0x120001217="\nnopqr\n\n""stuvwxyz",8): succeeded
 Calling asmb(0x120001217="\nnopqr\n\ns""tuvwxyz",9): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nst""uvwxyz",10): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstu""vwxyz",11): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuv""wxyz",12): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvw""xyz\0",13): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwx""yz\0.",14): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxy""z\0..",15): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz""\0...",16): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz""\0....",17): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz""\0.....",18): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz""\0......",19): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz""\0.......",20): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz\0""........",21): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz\0.""........",22): succeeded
 Calling asmb(0x120001218="""nopqr\n\ns",0): succeeded
 Calling asmb(0x120001218="n""opqr\n\nst",1): succeeded
 Calling asmb(0x120001218="no""pqr\n\nstu",2): succeeded
 Calling asmb(0x120001218="nop""qr\n\nstuv",3): succeeded
 Calling asmb(0x120001218="nopq""r\n\nstuvw",4): succeeded
 Calling asmb(0x120001218="nopqr""\n\nstuvwx",5): succeeded
 Calling asmb(0x120001218="nopqr\n""\nstuvwxy",6): succeeded
 Calling asmb(0x120001218="nopqr\n\n""stuvwxyz",7): succeeded
 Calling asmb(0x120001218="nopqr\n\ns""tuvwxyz",8): succeeded
 Calling asmb(0x120001218="nopqr\n\nst""uvwxyz",9): succeeded
 Calling asmb(0x120001218="nopqr\n\nstu""vwxyz",10): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuv""wxyz",11): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvw""xyz\0",12): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwx""yz\0.",13): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxy""z\0..",14): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz""\0...",15): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz""\0....",16): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz""\0.....",17): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz""\0......",18): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz""\0.......",19): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz\0""........",20): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz\0.""........",21): succeeded
 Calling asmb(0x120001219="""opqr\n\nst",0): succeeded
 Calling asmb(0x120001219="o""pqr\n\nstu",1): succeeded
 Calling asmb(0x120001219="op""qr\n\nstuv",2): succeeded
 Calling asmb(0x120001219="opq""r\n\nstuvw",3): succeeded
 Calling asmb(0x120001219="opqr""\n\nstuvwx",4): succeeded
 Calling asmb(0x120001219="opqr\n""\nstuvwxy",5): succeeded
 Calling asmb(0x120001219="opqr\n\n""stuvwxyz",6): succeeded
 Calling asmb(0x120001219="opqr\n\ns""tuvwxyz",7): succeeded
 Calling asmb(0x120001219="opqr\n\nst""uvwxyz",8): succeeded
 Calling asmb(0x120001219="opqr\n\nstu""vwxyz",9): succeeded
 Calling asmb(0x120001219="opqr\n\nstuv""wxyz",10): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvw""xyz\0",11): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwx""yz\0.",12): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxy""z\0..",13): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz""\0...",14): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz""\0....",15): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz""\0.....",16): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz""\0......",17): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz""\0.......",18): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz\0""........",19): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz\0.""........",20): succeeded
 Calling asmb(0x12000121a="""pqr\n\nstu",0): succeeded
 Calling asmb(0x12000121a="p""qr\n\nstuv",1): succeeded
 Calling asmb(0x12000121a="pq""r\n\nstuvw",2): succeeded
 Calling asmb(0x12000121a="pqr""\n\nstuvwx",3): succeeded
 Calling asmb(0x12000121a="pqr\n""\nstuvwxy",4): succeeded
 Calling asmb(0x12000121a="pqr\n\n""stuvwxyz",5): succeeded
 Calling asmb(0x12000121a="pqr\n\ns""tuvwxyz",6): succeeded
 Calling asmb(0x12000121a="pqr\n\nst""uvwxyz",7): succeeded
 Calling asmb(0x12000121a="pqr\n\nstu""vwxyz",8): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuv""wxyz",9): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvw""xyz\0",10): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwx""yz\0.",11): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxy""z\0..",12): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz""\0...",13): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz""\0....",14): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz""\0.....",15): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz""\0......",16): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz""\0.......",17): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz\0""........",18): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz\0.""........",19): succeeded
 Calling asmb(0x12000121b="""qr\n\nstuv",0): succeeded
 Calling asmb(0x12000121b="q""r\n\nstuvw",1): succeeded
 Calling asmb(0x12000121b="qr""\n\nstuvwx",2): succeeded
 Calling asmb(0x12000121b="qr\n""\nstuvwxy",3): succeeded
 Calling asmb(0x12000121b="qr\n\n""stuvwxyz",4): succeeded
 Calling asmb(0x12000121b="qr\n\ns""tuvwxyz",5): succeeded
 Calling asmb(0x12000121b="qr\n\nst""uvwxyz",6): succeeded
 Calling asmb(0x12000121b="qr\n\nstu""vwxyz",7): succeeded
 Calling asmb(0x12000121b="qr\n\nstuv""wxyz",8): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvw""xyz\0",9): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwx""yz\0.",10): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxy""z\0..",11): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz""\0...",12): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz""\0....",13): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz""\0.....",14): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz""\0......",15): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz""\0.......",16): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz\0""........",17): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz\0.""........",18): succeeded
 Calling asmb(0x12000121c="""r\n\nstuvw",0): succeeded
 Calling asmb(0x12000121c="r""\n\nstuvwx",1): succeeded
 Calling asmb(0x12000121c="r\n""\nstuvwxy",2): succeeded
 Calling asmb(0x12000121c="r\n\n""stuvwxyz",3): succeeded
 Calling asmb(0x12000121c="r\n\ns""tuvwxyz",4): succeeded
 Calling asmb(0x12000121c="r\n\nst""uvwxyz",5): succeeded
 Calling asmb(0x12000121c="r\n\nstu""vwxyz",6): succeeded
 Calling asmb(0x12000121c="r\n\nstuv""wxyz",7): succeeded
 Calling asmb(0x12000121c="r\n\nstuvw""xyz\0",8): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwx""yz\0.",9): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxy""z\0..",10): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz""\0...",11): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz""\0....",12): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz""\0.....",13): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz""\0......",14): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz""\0.......",15): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz\0""........",16): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz\0.""........",17): succeeded
 Calling asmb(0x12000121d="""\n\nstuvwx",0): succeeded
 Calling asmb(0x12000121d="\n""\nstuvwxy",1): succeeded
 Calling asmb(0x12000121d="\n\n""stuvwxyz",2): succeeded
 Calling asmb(0x12000121d="\n\ns""tuvwxyz",3): succeeded
 Calling asmb(0x12000121d="\n\nst""uvwxyz",4): succeeded
 Calling asmb(0x12000121d="\n\nstu""vwxyz",5): succeeded
 Calling asmb(0x12000121d="\n\nstuv""wxyz",6): succeeded
 Calling asmb(0x12000121d="\n\nstuvw""xyz\0",7): succeeded
 Calling asmb(0x12000121d="\n\nstuvwx""yz\0.",8): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxy""z\0..",9): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz""\0...",10): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz""\0....",11): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz""\0.....",12): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz""\0......",13): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz""\0.......",14): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz\0""........",15): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz\0.""........",16): succeeded
 Calling asmb(0x12000121e="""\nstuvwxy",0): succeeded
 Calling asmb(0x12000121e="\n""stuvwxyz",1): succeeded
 Calling asmb(0x12000121e="\ns""tuvwxyz",2): succeeded
 Calling asmb(0x12000121e="\nst""uvwxyz",3): succeeded
 Calling asmb(0x12000121e="\nstu""vwxyz",4): succeeded
 Calling asmb(0x12000121e="\nstuv""wxyz",5): succeeded
 Calling asmb(0x12000121e="\nstuvw""xyz\0",6): succeeded
 Calling asmb(0x12000121e="\nstuvwx""yz\0.",7): succeeded
 Calling asmb(0x12000121e="\nstuvwxy""z\0..",8): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz""\0...",9): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz""\0....",10): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz""\0.....",11): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz""\0......",12): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz""\0.......",13): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz\0""........",14): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz\0.""........",15): succeeded
 Calling asmb(0x12000121f="""stuvwxyz",0): succeeded
 Calling asmb(0x12000121f="s""tuvwxyz",1): succeeded
 Calling asmb(0x12000121f="st""uvwxyz",2): succeeded
 Calling asmb(0x12000121f="stu""vwxyz",3): succeeded
 Calling asmb(0x12000121f="stuv""wxyz",4): succeeded
 Calling asmb(0x12000121f="stuvw""xyz\0",5): succeeded
 Calling asmb(0x12000121f="stuvwx""yz\0.",6): succeeded
 Calling asmb(0x12000121f="stuvwxy""z\0..",7): succeeded
 Calling asmb(0x12000121f="stuvwxyz""\0...",8): succeeded
 Calling asmb(0x12000121f="stuvwxyz""\0....",9): succeeded
 Calling asmb(0x12000121f="stuvwxyz""\0.....",10): succeeded
 Calling asmb(0x12000121f="stuvwxyz""\0......",11): succeeded
 Calling asmb(0x12000121f="stuvwxyz""\0.......",12): succeeded
 Calling asmb(0x12000121f="stuvwxyz\0""........",13): succeeded
 Calling asmb(0x12000121f="stuvwxyz\0.""........",14): succeeded
 Calling asmb(0x120001220="""tuvwxyz",0): succeeded
 Calling asmb(0x120001220="t""uvwxyz",1): succeeded
 Calling asmb(0x120001220="tu""vwxyz",2): succeeded
 Calling asmb(0x120001220="tuv""wxyz",3): succeeded
 Calling asmb(0x120001220="tuvw""xyz\0",4): succeeded
 Calling asmb(0x120001220="tuvwx""yz\0.",5): succeeded
 Calling asmb(0x120001220="tuvwxy""z\0..",6): succeeded
 Calling asmb(0x120001220="tuvwxyz""\0...",7): succeeded
 Calling asmb(0x120001220="tuvwxyz""\0....",8): succeeded
 Calling asmb(0x120001220="tuvwxyz""\0.....",9): succeeded
 Calling asmb(0x120001220="tuvwxyz""\0......",10): succeeded
 Calling asmb(0x120001220="tuvwxyz""\0.......",11): succeeded
 Calling asmb(0x120001220="tuvwxyz\0""........",12): succeeded
 Calling asmb(0x120001220="tuvwxyz\0.""........",13): succeeded
 Calling asmb(0x120001221="""uvwxyz",0): succeeded
 Calling asmb(0x120001221="u""vwxyz",1): succeeded
 Calling asmb(0x120001221="uv""wxyz",2): succeeded
 Calling asmb(0x120001221="uvw""xyz\0",3): succeeded
 Calling asmb(0x120001221="uvwx""yz\0.",4): succeeded
 Calling asmb(0x120001221="uvwxy""z\0..",5): succeeded
 Calling asmb(0x120001221="uvwxyz""\0...",6): succeeded
 Calling asmb(0x120001221="uvwxyz""\0....",7): succeeded
 Calling asmb(0x120001221="uvwxyz""\0.....",8): succeeded
 Calling asmb(0x120001221="uvwxyz""\0......",9): succeeded
 Calling asmb(0x120001221="uvwxyz""\0.......",10): succeeded
 Calling asmb(0x120001221="uvwxyz\0""........",11): succeeded
 Calling asmb(0x120001221="uvwxyz\0.""........",12): succeeded
 Calling asmb(0x120001222="""vwxyz",0): succeeded
 Calling asmb(0x120001222="v""wxyz",1): succeeded
 Calling asmb(0x120001222="vw""xyz\0",2): succeeded
 Calling asmb(0x120001222="vwx""yz\0.",3): succeeded
 Calling asmb(0x120001222="vwxy""z\0..",4): succeeded
 Calling asmb(0x120001222="vwxyz""\0...",5): succeeded
 Calling asmb(0x120001222="vwxyz""\0....",6): succeeded
 Calling asmb(0x120001222="vwxyz""\0.....",7): succeeded
 Calling asmb(0x120001222="vwxyz""\0......",8): succeeded
 Calling asmb(0x120001222="vwxyz""\0.......",9): succeeded
 Calling asmb(0x120001222="vwxyz\0""........",10): succeeded
 Calling asmb(0x120001222="vwxyz\0.""........",11): succeeded
 Calling asmb(0x120001223="""wxyz",0): succeeded
 Calling asmb(0x120001223="w""xyz\0",1): succeeded
 Calling asmb(0x120001223="wx""yz\0.",2): succeeded
 Calling asmb(0x120001223="wxy""z\0..",3): succeeded
 Calling asmb(0x120001223="wxyz""\0...",4): succeeded
 Calling asmb(0x120001223="wxyz""\0....",5): succeeded
 Calling asmb(0x120001223="wxyz""\0.....",6): succeeded
 Calling asmb(0x120001223="wxyz""\0......",7): succeeded
 Calling asmb(0x120001223="wxyz""\0.......",8): succeeded
 Calling asmb(0x120001223="wxyz\0""........",9): succeeded
 Calling asmb(0x120001223="wxyz\0.""........",10): succeeded
 Calling asmb(0x120001224="""xyz\0",0): succeeded
 Calling asmb(0x120001224="x""yz\0.",1): succeeded
 Calling asmb(0x120001224="xy""z\0..",2): succeeded
 Calling asmb(0x120001224="xyz""\0...",3): succeeded
 Calling asmb(0x120001224="xyz""\0....",4): succeeded
 Calling asmb(0x120001224="xyz""\0.....",5): succeeded
 Calling asmb(0x120001224="xyz""\0......",6): succeeded
 Calling asmb(0x120001224="xyz""\0.......",7): succeeded
 Calling asmb(0x120001224="xyz\0""........",8): succeeded
 Calling asmb(0x120001224="xyz\0.""........",9): succeeded
 Calling asmb(0x120001225="""yz\0.",0): succeeded
 Calling asmb(0x120001225="y""z\0..",1): succeeded
 Calling asmb(0x120001225="yz""\0...",2): succeeded
 Calling asmb(0x120001225="yz""\0....",3): succeeded
 Calling asmb(0x120001225="yz""\0.....",4): succeeded
 Calling asmb(0x120001225="yz""\0......",5): succeeded
 Calling asmb(0x120001225="yz""\0.......",6): succeeded
 Calling asmb(0x120001225="yz\0""........",7): succeeded
 Calling asmb(0x120001225="yz\0.""........",8): succeeded
 Calling asmb(0x120001226="""z\0..",0): succeeded
 Calling asmb(0x120001226="z""\0...",1): succeeded
 Calling asmb(0x120001226="z""\0....",2): succeeded
 Calling asmb(0x120001226="z""\0.....",3): succeeded
 Calling asmb(0x120001226="z""\0......",4): succeeded
 Calling asmb(0x120001226="z""\0.......",5): succeeded
 Calling asmb(0x120001226="z\0""........",6): succeeded
 Calling asmb(0x120001226="z\0.""........",7): succeeded
 Calling asmb(0x120001227="""\0...",0): succeeded
 Calling asmb(0x120001227="""\0....",1): succeeded
 Calling asmb(0x120001227="""\0.....",2): succeeded
 Calling asmb(0x120001227="""\0......",3): succeeded
 Calling asmb(0x120001227="""\0.......",4): succeeded
 Calling asmb(0x120001227="\0""........",5): succeeded
 Calling asmb(0x120001227="\0.""........",6): succeeded
 Calling asmb(0x120001228="""\0....",0): succeeded
 Calling asmb(0x120001228="""\0.....",1): succeeded
 Calling asmb(0x120001228="""\0......",2): succeeded
 Calling asmb(0x120001228="""\0.......",3): succeeded
 Calling asmb(0x120001228="\0""........",4): succeeded
 Calling asmb(0x120001228="\0.""........",5): succeeded
 Calling asmb(0x120001229="""\0.....",0): succeeded
 Calling asmb(0x120001229="""\0......",1): succeeded
 Calling asmb(0x120001229="""\0.......",2): succeeded
 Calling asmb(0x120001229="\0""........",3): succeeded
 Calling asmb(0x120001229="\0.""........",4): succeeded
 Calling asmb(0x12000122a="""\0......",0): succeeded
 Calling asmb(0x12000122a="""\0.......",1): succeeded
 Calling asmb(0x12000122a="\0""........",2): succeeded
 Calling asmb(0x12000122a="\0.""........",3): succeeded
 Calling asmb(0x12000122b="""\0.......",0): succeeded
 Calling asmb(0x12000122b="\0""........",1): succeeded
 Calling asmb(0x12000122b="\0.""........",2): succeeded
 Calling asmb(0x12000122c="""........",0): succeeded
 Calling asmb(0x12000122c=".""........",1): succeeded
 Calling asmb(0x12000122d="""........",0): succeeded

Test succeeded.
Erzeugter Code korrekt
Trace
0x120000820 <asmb>:	mov	0,v0
0x120000824 <asmb+4>:	beq	a1,0x120000874 <very_end>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x120000858 <start+48>:	br	0x120000828 <start>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x120000858 <start+48>:	br	0x120000828 <start>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x120000858 <start+48>:	br	0x120000828 <start>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x120000858 <start+48>:	br	0x120000828 <start>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x120000858 <start+48>:	br	0x120000828 <start>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000874 <very_end>:	ret
0x120000820 <asmb>:	mov	0,v0
0x120000824 <asmb+4>:	beq	a1,0x120000874 <very_end>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x120000858 <start+48>:	br	0x120000828 <start>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000874 <very_end>:	ret
0x120000820 <asmb>:	mov	0,v0
0x120000824 <asmb+4>:	beq	a1,0x120000874 <very_end>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000874 <very_end>:	ret

Referenzinstruktionen: 135, Abgabeinstruktionen: 246
Bonuspunkte: 0


Nach 'make clean' gab es folgendes Ergebnis:
rm -rf asmb.o


From ublu@b1.complang.tuwien.ac.at Wed Mar 29 22:32:40 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 29 Mar 2006 22:32:40 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FOhLM-0000WU-Ql
	for u0425426@b1.complang.tuwien.ac.at; Wed, 29 Mar 2006 22:32:40 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Assembler A, 3. Abgabe
Message-Id: <E1FOhLM-0000WU-Ql@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 29 Mar 2006 22:32:40 +0200


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Assembler-A-Beispiels: 30%.

Bitte speichern Sie im Abgabeverzeichnis NUR die noetigen Dateien,
also keine Testdaten, keine ausfuehrbaren Programme und keine
Unterverzeichnisse.

'make' hatte folgendes zu melden:
gcc -c asma.s


Die Ergebnisse der Tests:

Testfall: 0x0000000000000000; Resultat:    0; ok
Testfall: 0x0102040810204080; Resultat:  255; ok
Testfall: 0x8040201008040201; Resultat:  255; ok
Testfall: 0x0102030405060708; Resultat:   36; ok
Testfall: 0x8192a3b4c5d6e7f8; Resultat: 1508; ok
Testfall: 0x0123456789abcdef; Resultat:  960; ok
Testfall: 0xffffffffffffffff; Resultat: 2040; ok


Nach 'make clean' gab es folgendes Ergebnis:
rm -rf asma.o test asma-test.o


From ublu@b1.complang.tuwien.ac.at Wed Mar 29 22:53:34 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 29 Mar 2006 22:53:34 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FOhfa-00016r-Hx
	for u0425426@b1.complang.tuwien.ac.at; Wed, 29 Mar 2006 22:53:34 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Zwischenstand
Message-Id: <E1FOhfa-00016r-Hx@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 29 Mar 2006 22:53:34 +0200

Beispiel  1. Abgabe      2. Abgabe      3. Abgabe    Bestes    Gewichtet
         100%   100%    100%    70%    100%    30%
   asma 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
   asmb   0.00   0.00  100.00  70.00    0.00   0.00   70.00       7.000
scanner 100.00 100.00    0.00   0.00    0.00   0.00  100.00      10.000
 parser   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
     ag   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
   code   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
 gesamt   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
                                                     Summe:      27.000
Sie sind angemeldet: 
3 0425426 534 Staroch Paul

From ublu@b1.complang.tuwien.ac.at Wed Apr 05 22:26:38 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 05 Apr 2006 22:26:38 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FREaM-0007lA-KY
	for u0425426@b1.complang.tuwien.ac.at; Wed, 05 Apr 2006 22:26:38 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Parser, 1. Abgabe
Message-Id: <E1FREaM-0007lA-KY@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 05 Apr 2006 22:26:38 +0200


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Parserbeispiels: 100%.  Das
maximale Ergebnis ist 100%.  Das Programm lieferte fuer 0
Testfaelle das falsche Ergebnis (10% Abzug pro Fehler).

Nach 'make clean' gab es folgendes Ergebnis:
rm -rf scanner.c scanner.o scanner parser.c parser.h
parser is object or executable
parser.o is object or executable


'make' hatte folgendes zu melden:
yacc -d parser.y -o parser.c
flex -o scanner.c scanner.lex
gcc -g -ansi -c scanner.c
gcc -g -ansi -c parser.c
gcc -o parser scanner.o parser.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann ihre Ausgabe
(nach "Ausgabe:"), dann der Rueckgabewert (nach "Status:") und
danach entweder "korrekt" oder der erwartete Rueckgabewert.

----------------------------------
Eingabe:
func f(x)
 x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> repeat ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(a,b)
  1,2,3 -> start -> d,e,f;
    if a>b then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> 
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func f(x)
  1 -> start -> a;
    if a=2 then
      3 -> exit;
    2-> repeat
  -> b;
  b -> 
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
/* hhh /* ggg */
func f(x)
 x ->
end;

Ausgabe:
Line 1: Possibly nested comment (comment aleady started at line 1)
Status: korrekt
----------------------------------
Eingabe:
/* this is a
   multiline comment
*/
func f(x)
 x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
/* keine Funktionsdefinition */

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x ->
end;

func x(x)
  x ->
end;

func x(x)
  x ->
end;


Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x,x,x,x)
  x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x > x then
    x ->
  else
    x ->
  end ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x,x,x,x,x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->start->repeat->start->repeat->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->x; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->x,x,x,x; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x -> x; if x=x then x->exit; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->x; if x=x then x->exit; if x>x then x->exit; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->start->start->repeat->start->repeat->repeat->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->*x; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  -x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  *x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x+x+x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x*x*x*x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  (x)->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  0->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x(x,x,x) ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x>x and x>x and x>x then
    x->
  else
    x->
  end ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if not x>x then
    x->
  else
    x->
  end ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if ((x>x)) then
    x->
  else
    x->
  end ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x,x,x,x)
  x,x -> start -> x,*x;
    if not (x>x and (not x=x)) then
      *x,-x,x+x+(x*x) -> exit;
    if not (x>x and (not x=x)) then
      *x,-x,x+x+(x*x) -> exit;
    0,-1,(2)-> start -> *x; 
      if x+x+x > x*x*x then
        x(x(x,x)) ->
      else
        -x ->
      end ->
    repeat ->
  repeat ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func __(a_)
  a_5_a ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
@
Ausgabe:
Line 1: Illegal character
Status: korrekt
----------------------------------
Eingabe:
/* Kommentar *
Ausgabe:
Line 1: EOF inside comment started at line 1
Status: korrekt
----------------------------------
Eingabe:
func f(x)
 x -> #
end;

Ausgabe:
Line 2: Illegal character
Status: korrekt
----------------------------------
Eingabe:
func f(x)
 x ->
end;
/* starts like a comment but does not end like a comment and therefore it is not a comment (but '/' is a lexical error)

Ausgabe:
Line 5: EOF inside comment started at line 4
Status: korrekt
----------------------------------
Eingabe:
func f(x)
 x -->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x()
 x->
end;

Ausgabe:
Line 1: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x+x*x->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x-5 ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  --x ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x>x>x then
    x->
  else
    x->
  end ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  1*-2 ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x>x then x-> exit ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x>x then
    x->
  else
    x->
  exit ->
end;

Ausgabe:
Line 6: syntax error
Status: korrekt
----------------------------------
Eingabe:
func f(x)
  if x>x then
    if x>x then x-> exit; x->
  else
    x->
  end ->
end;

Ausgabe:
Line 3: syntax error
Status: korrekt


From ublu@b1.complang.tuwien.ac.at Wed Apr 05 22:44:15 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 05 Apr 2006 22:44:15 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FRErP-0007uL-K8
	for u0425426@b1.complang.tuwien.ac.at; Wed, 05 Apr 2006 22:44:15 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Assembler B, 3. Abgabe
Message-Id: <E1FRErP-0007uL-K8@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 05 Apr 2006 22:44:15 +0200


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Assembler-B-Beispiels: 30%.

Bitte speichern Sie im Abgabeverzeichnis NUR die noetigen Dateien,
also keine Testdaten, keine ausfuehrbaren Programme und keine
Unterverzeichnisse.

'make' hatte folgendes zu melden:
gcc -c asmb.s


Die Ergebnisse der Tests:

 Calling asmb(0x120001200="""01234567",0): succeeded
 Calling asmb(0x120001200="0""12345678",1): succeeded
 Calling asmb(0x120001200="01""23456789",2): succeeded
 Calling asmb(0x120001200="012""3456789a",3): succeeded
 Calling asmb(0x120001200="0123""456789ab",4): succeeded
 Calling asmb(0x120001200="01234""56789abc",5): succeeded
 Calling asmb(0x120001200="012345""6789abcd",6): succeeded
 Calling asmb(0x120001200="0123456""789abcde",7): succeeded
 Calling asmb(0x120001200="01234567""89abcdef",8): succeeded
 Calling asmb(0x120001200="012345678""9abcdefg",9): succeeded
 Calling asmb(0x120001200="0123456789""abcdefgh",10): succeeded
 Calling asmb(0x120001200="0123456789a""bcdefghi",11): succeeded
 Calling asmb(0x120001200="0123456789ab""cdefghij",12): succeeded
 Calling asmb(0x120001200="0123456789abc""defghijk",13): succeeded
 Calling asmb(0x120001200="0123456789abcd""efghijkl",14): succeeded
 Calling asmb(0x120001200="0123456789abcde""fghijklm",15): succeeded
 Calling asmb(0x120001200="0123456789abcdef""ghijklm\n",16): succeeded
 Calling asmb(0x120001200="0123456789abcdefg""hijklm\nn",17): succeeded
 Calling asmb(0x120001200="0123456789abcdefgh""ijklm\nno",18): succeeded
 Calling asmb(0x120001200="0123456789abcdefghi""jklm\nnop",19): succeeded
 Calling asmb(0x120001200="0123456789abcdefghij""klm\nnopq",20): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijk""lm\nnopqr",21): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijkl""m\nnopqr\n",22): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm""\nnopqr\n\n",23): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\n""nopqr\n\ns",24): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nn""opqr\n\nst",25): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nno""pqr\n\nstu",26): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnop""qr\n\nstuv",27): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopq""r\n\nstuvw",28): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr""\n\nstuvwx",29): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n""\nstuvwxy",30): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\n""stuvwxyz",31): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",32): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nst""uvwxyz",33): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstu""vwxyz",34): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuv""wxyz",35): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",36): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",37): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",38): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",39): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",40): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",41): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",42): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",43): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",44): succeeded
 Calling asmb(0x120001200="0123456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",45): succeeded
 Calling asmb(0x120001201="""12345678",0): succeeded
 Calling asmb(0x120001201="1""23456789",1): succeeded
 Calling asmb(0x120001201="12""3456789a",2): succeeded
 Calling asmb(0x120001201="123""456789ab",3): succeeded
 Calling asmb(0x120001201="1234""56789abc",4): succeeded
 Calling asmb(0x120001201="12345""6789abcd",5): succeeded
 Calling asmb(0x120001201="123456""789abcde",6): succeeded
 Calling asmb(0x120001201="1234567""89abcdef",7): succeeded
 Calling asmb(0x120001201="12345678""9abcdefg",8): succeeded
 Calling asmb(0x120001201="123456789""abcdefgh",9): succeeded
 Calling asmb(0x120001201="123456789a""bcdefghi",10): succeeded
 Calling asmb(0x120001201="123456789ab""cdefghij",11): succeeded
 Calling asmb(0x120001201="123456789abc""defghijk",12): succeeded
 Calling asmb(0x120001201="123456789abcd""efghijkl",13): succeeded
 Calling asmb(0x120001201="123456789abcde""fghijklm",14): succeeded
 Calling asmb(0x120001201="123456789abcdef""ghijklm\n",15): succeeded
 Calling asmb(0x120001201="123456789abcdefg""hijklm\nn",16): succeeded
 Calling asmb(0x120001201="123456789abcdefgh""ijklm\nno",17): succeeded
 Calling asmb(0x120001201="123456789abcdefghi""jklm\nnop",18): succeeded
 Calling asmb(0x120001201="123456789abcdefghij""klm\nnopq",19): succeeded
 Calling asmb(0x120001201="123456789abcdefghijk""lm\nnopqr",20): succeeded
 Calling asmb(0x120001201="123456789abcdefghijkl""m\nnopqr\n",21): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm""\nnopqr\n\n",22): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\n""nopqr\n\ns",23): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nn""opqr\n\nst",24): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nno""pqr\n\nstu",25): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnop""qr\n\nstuv",26): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopq""r\n\nstuvw",27): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr""\n\nstuvwx",28): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n""\nstuvwxy",29): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\n""stuvwxyz",30): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",31): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nst""uvwxyz",32): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstu""vwxyz",33): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuv""wxyz",34): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",35): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",36): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",37): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",38): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",39): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",40): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",41): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",42): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",43): succeeded
 Calling asmb(0x120001201="123456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",44): succeeded
 Calling asmb(0x120001202="""23456789",0): succeeded
 Calling asmb(0x120001202="2""3456789a",1): succeeded
 Calling asmb(0x120001202="23""456789ab",2): succeeded
 Calling asmb(0x120001202="234""56789abc",3): succeeded
 Calling asmb(0x120001202="2345""6789abcd",4): succeeded
 Calling asmb(0x120001202="23456""789abcde",5): succeeded
 Calling asmb(0x120001202="234567""89abcdef",6): succeeded
 Calling asmb(0x120001202="2345678""9abcdefg",7): succeeded
 Calling asmb(0x120001202="23456789""abcdefgh",8): succeeded
 Calling asmb(0x120001202="23456789a""bcdefghi",9): succeeded
 Calling asmb(0x120001202="23456789ab""cdefghij",10): succeeded
 Calling asmb(0x120001202="23456789abc""defghijk",11): succeeded
 Calling asmb(0x120001202="23456789abcd""efghijkl",12): succeeded
 Calling asmb(0x120001202="23456789abcde""fghijklm",13): succeeded
 Calling asmb(0x120001202="23456789abcdef""ghijklm\n",14): succeeded
 Calling asmb(0x120001202="23456789abcdefg""hijklm\nn",15): succeeded
 Calling asmb(0x120001202="23456789abcdefgh""ijklm\nno",16): succeeded
 Calling asmb(0x120001202="23456789abcdefghi""jklm\nnop",17): succeeded
 Calling asmb(0x120001202="23456789abcdefghij""klm\nnopq",18): succeeded
 Calling asmb(0x120001202="23456789abcdefghijk""lm\nnopqr",19): succeeded
 Calling asmb(0x120001202="23456789abcdefghijkl""m\nnopqr\n",20): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm""\nnopqr\n\n",21): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\n""nopqr\n\ns",22): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nn""opqr\n\nst",23): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nno""pqr\n\nstu",24): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnop""qr\n\nstuv",25): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopq""r\n\nstuvw",26): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr""\n\nstuvwx",27): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n""\nstuvwxy",28): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\n""stuvwxyz",29): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",30): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nst""uvwxyz",31): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstu""vwxyz",32): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuv""wxyz",33): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",34): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",35): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",36): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",37): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",38): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",39): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",40): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",41): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",42): succeeded
 Calling asmb(0x120001202="23456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",43): succeeded
 Calling asmb(0x120001203="""3456789a",0): succeeded
 Calling asmb(0x120001203="3""456789ab",1): succeeded
 Calling asmb(0x120001203="34""56789abc",2): succeeded
 Calling asmb(0x120001203="345""6789abcd",3): succeeded
 Calling asmb(0x120001203="3456""789abcde",4): succeeded
 Calling asmb(0x120001203="34567""89abcdef",5): succeeded
 Calling asmb(0x120001203="345678""9abcdefg",6): succeeded
 Calling asmb(0x120001203="3456789""abcdefgh",7): succeeded
 Calling asmb(0x120001203="3456789a""bcdefghi",8): succeeded
 Calling asmb(0x120001203="3456789ab""cdefghij",9): succeeded
 Calling asmb(0x120001203="3456789abc""defghijk",10): succeeded
 Calling asmb(0x120001203="3456789abcd""efghijkl",11): succeeded
 Calling asmb(0x120001203="3456789abcde""fghijklm",12): succeeded
 Calling asmb(0x120001203="3456789abcdef""ghijklm\n",13): succeeded
 Calling asmb(0x120001203="3456789abcdefg""hijklm\nn",14): succeeded
 Calling asmb(0x120001203="3456789abcdefgh""ijklm\nno",15): succeeded
 Calling asmb(0x120001203="3456789abcdefghi""jklm\nnop",16): succeeded
 Calling asmb(0x120001203="3456789abcdefghij""klm\nnopq",17): succeeded
 Calling asmb(0x120001203="3456789abcdefghijk""lm\nnopqr",18): succeeded
 Calling asmb(0x120001203="3456789abcdefghijkl""m\nnopqr\n",19): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm""\nnopqr\n\n",20): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\n""nopqr\n\ns",21): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nn""opqr\n\nst",22): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nno""pqr\n\nstu",23): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnop""qr\n\nstuv",24): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopq""r\n\nstuvw",25): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr""\n\nstuvwx",26): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n""\nstuvwxy",27): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\n""stuvwxyz",28): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",29): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nst""uvwxyz",30): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstu""vwxyz",31): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuv""wxyz",32): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",33): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",34): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",35): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",36): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",37): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",38): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",39): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",40): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",41): succeeded
 Calling asmb(0x120001203="3456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",42): succeeded
 Calling asmb(0x120001204="""456789ab",0): succeeded
 Calling asmb(0x120001204="4""56789abc",1): succeeded
 Calling asmb(0x120001204="45""6789abcd",2): succeeded
 Calling asmb(0x120001204="456""789abcde",3): succeeded
 Calling asmb(0x120001204="4567""89abcdef",4): succeeded
 Calling asmb(0x120001204="45678""9abcdefg",5): succeeded
 Calling asmb(0x120001204="456789""abcdefgh",6): succeeded
 Calling asmb(0x120001204="456789a""bcdefghi",7): succeeded
 Calling asmb(0x120001204="456789ab""cdefghij",8): succeeded
 Calling asmb(0x120001204="456789abc""defghijk",9): succeeded
 Calling asmb(0x120001204="456789abcd""efghijkl",10): succeeded
 Calling asmb(0x120001204="456789abcde""fghijklm",11): succeeded
 Calling asmb(0x120001204="456789abcdef""ghijklm\n",12): succeeded
 Calling asmb(0x120001204="456789abcdefg""hijklm\nn",13): succeeded
 Calling asmb(0x120001204="456789abcdefgh""ijklm\nno",14): succeeded
 Calling asmb(0x120001204="456789abcdefghi""jklm\nnop",15): succeeded
 Calling asmb(0x120001204="456789abcdefghij""klm\nnopq",16): succeeded
 Calling asmb(0x120001204="456789abcdefghijk""lm\nnopqr",17): succeeded
 Calling asmb(0x120001204="456789abcdefghijkl""m\nnopqr\n",18): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm""\nnopqr\n\n",19): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\n""nopqr\n\ns",20): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nn""opqr\n\nst",21): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nno""pqr\n\nstu",22): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnop""qr\n\nstuv",23): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopq""r\n\nstuvw",24): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr""\n\nstuvwx",25): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n""\nstuvwxy",26): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\n""stuvwxyz",27): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\ns""tuvwxyz",28): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nst""uvwxyz",29): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstu""vwxyz",30): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuv""wxyz",31): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",32): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",33): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",34): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",35): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",36): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",37): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",38): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",39): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",40): succeeded
 Calling asmb(0x120001204="456789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",41): succeeded
 Calling asmb(0x120001205="""56789abc",0): succeeded
 Calling asmb(0x120001205="5""6789abcd",1): succeeded
 Calling asmb(0x120001205="56""789abcde",2): succeeded
 Calling asmb(0x120001205="567""89abcdef",3): succeeded
 Calling asmb(0x120001205="5678""9abcdefg",4): succeeded
 Calling asmb(0x120001205="56789""abcdefgh",5): succeeded
 Calling asmb(0x120001205="56789a""bcdefghi",6): succeeded
 Calling asmb(0x120001205="56789ab""cdefghij",7): succeeded
 Calling asmb(0x120001205="56789abc""defghijk",8): succeeded
 Calling asmb(0x120001205="56789abcd""efghijkl",9): succeeded
 Calling asmb(0x120001205="56789abcde""fghijklm",10): succeeded
 Calling asmb(0x120001205="56789abcdef""ghijklm\n",11): succeeded
 Calling asmb(0x120001205="56789abcdefg""hijklm\nn",12): succeeded
 Calling asmb(0x120001205="56789abcdefgh""ijklm\nno",13): succeeded
 Calling asmb(0x120001205="56789abcdefghi""jklm\nnop",14): succeeded
 Calling asmb(0x120001205="56789abcdefghij""klm\nnopq",15): succeeded
 Calling asmb(0x120001205="56789abcdefghijk""lm\nnopqr",16): succeeded
 Calling asmb(0x120001205="56789abcdefghijkl""m\nnopqr\n",17): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm""\nnopqr\n\n",18): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\n""nopqr\n\ns",19): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nn""opqr\n\nst",20): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nno""pqr\n\nstu",21): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnop""qr\n\nstuv",22): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopq""r\n\nstuvw",23): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr""\n\nstuvwx",24): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n""\nstuvwxy",25): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\n""stuvwxyz",26): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\ns""tuvwxyz",27): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nst""uvwxyz",28): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstu""vwxyz",29): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuv""wxyz",30): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",31): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",32): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",33): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",34): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",35): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",36): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",37): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",38): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",39): succeeded
 Calling asmb(0x120001205="56789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",40): succeeded
 Calling asmb(0x120001206="""6789abcd",0): succeeded
 Calling asmb(0x120001206="6""789abcde",1): succeeded
 Calling asmb(0x120001206="67""89abcdef",2): succeeded
 Calling asmb(0x120001206="678""9abcdefg",3): succeeded
 Calling asmb(0x120001206="6789""abcdefgh",4): succeeded
 Calling asmb(0x120001206="6789a""bcdefghi",5): succeeded
 Calling asmb(0x120001206="6789ab""cdefghij",6): succeeded
 Calling asmb(0x120001206="6789abc""defghijk",7): succeeded
 Calling asmb(0x120001206="6789abcd""efghijkl",8): succeeded
 Calling asmb(0x120001206="6789abcde""fghijklm",9): succeeded
 Calling asmb(0x120001206="6789abcdef""ghijklm\n",10): succeeded
 Calling asmb(0x120001206="6789abcdefg""hijklm\nn",11): succeeded
 Calling asmb(0x120001206="6789abcdefgh""ijklm\nno",12): succeeded
 Calling asmb(0x120001206="6789abcdefghi""jklm\nnop",13): succeeded
 Calling asmb(0x120001206="6789abcdefghij""klm\nnopq",14): succeeded
 Calling asmb(0x120001206="6789abcdefghijk""lm\nnopqr",15): succeeded
 Calling asmb(0x120001206="6789abcdefghijkl""m\nnopqr\n",16): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm""\nnopqr\n\n",17): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\n""nopqr\n\ns",18): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nn""opqr\n\nst",19): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nno""pqr\n\nstu",20): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnop""qr\n\nstuv",21): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopq""r\n\nstuvw",22): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr""\n\nstuvwx",23): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n""\nstuvwxy",24): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\n""stuvwxyz",25): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\ns""tuvwxyz",26): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nst""uvwxyz",27): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstu""vwxyz",28): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuv""wxyz",29): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",30): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",31): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",32): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",33): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",34): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",35): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",36): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",37): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",38): succeeded
 Calling asmb(0x120001206="6789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",39): succeeded
 Calling asmb(0x120001207="""789abcde",0): succeeded
 Calling asmb(0x120001207="7""89abcdef",1): succeeded
 Calling asmb(0x120001207="78""9abcdefg",2): succeeded
 Calling asmb(0x120001207="789""abcdefgh",3): succeeded
 Calling asmb(0x120001207="789a""bcdefghi",4): succeeded
 Calling asmb(0x120001207="789ab""cdefghij",5): succeeded
 Calling asmb(0x120001207="789abc""defghijk",6): succeeded
 Calling asmb(0x120001207="789abcd""efghijkl",7): succeeded
 Calling asmb(0x120001207="789abcde""fghijklm",8): succeeded
 Calling asmb(0x120001207="789abcdef""ghijklm\n",9): succeeded
 Calling asmb(0x120001207="789abcdefg""hijklm\nn",10): succeeded
 Calling asmb(0x120001207="789abcdefgh""ijklm\nno",11): succeeded
 Calling asmb(0x120001207="789abcdefghi""jklm\nnop",12): succeeded
 Calling asmb(0x120001207="789abcdefghij""klm\nnopq",13): succeeded
 Calling asmb(0x120001207="789abcdefghijk""lm\nnopqr",14): succeeded
 Calling asmb(0x120001207="789abcdefghijkl""m\nnopqr\n",15): succeeded
 Calling asmb(0x120001207="789abcdefghijklm""\nnopqr\n\n",16): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\n""nopqr\n\ns",17): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nn""opqr\n\nst",18): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nno""pqr\n\nstu",19): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnop""qr\n\nstuv",20): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopq""r\n\nstuvw",21): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr""\n\nstuvwx",22): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n""\nstuvwxy",23): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\n""stuvwxyz",24): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\ns""tuvwxyz",25): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nst""uvwxyz",26): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstu""vwxyz",27): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuv""wxyz",28): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvw""xyz\0",29): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",30): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",31): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",32): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",33): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",34): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",35): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",36): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",37): succeeded
 Calling asmb(0x120001207="789abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",38): succeeded
 Calling asmb(0x120001208="""89abcdef",0): succeeded
 Calling asmb(0x120001208="8""9abcdefg",1): succeeded
 Calling asmb(0x120001208="89""abcdefgh",2): succeeded
 Calling asmb(0x120001208="89a""bcdefghi",3): succeeded
 Calling asmb(0x120001208="89ab""cdefghij",4): succeeded
 Calling asmb(0x120001208="89abc""defghijk",5): succeeded
 Calling asmb(0x120001208="89abcd""efghijkl",6): succeeded
 Calling asmb(0x120001208="89abcde""fghijklm",7): succeeded
 Calling asmb(0x120001208="89abcdef""ghijklm\n",8): succeeded
 Calling asmb(0x120001208="89abcdefg""hijklm\nn",9): succeeded
 Calling asmb(0x120001208="89abcdefgh""ijklm\nno",10): succeeded
 Calling asmb(0x120001208="89abcdefghi""jklm\nnop",11): succeeded
 Calling asmb(0x120001208="89abcdefghij""klm\nnopq",12): succeeded
 Calling asmb(0x120001208="89abcdefghijk""lm\nnopqr",13): succeeded
 Calling asmb(0x120001208="89abcdefghijkl""m\nnopqr\n",14): succeeded
 Calling asmb(0x120001208="89abcdefghijklm""\nnopqr\n\n",15): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\n""nopqr\n\ns",16): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nn""opqr\n\nst",17): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nno""pqr\n\nstu",18): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnop""qr\n\nstuv",19): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopq""r\n\nstuvw",20): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr""\n\nstuvwx",21): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n""\nstuvwxy",22): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\n""stuvwxyz",23): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\ns""tuvwxyz",24): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nst""uvwxyz",25): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstu""vwxyz",26): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuv""wxyz",27): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvw""xyz\0",28): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",29): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",30): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",31): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",32): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",33): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",34): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",35): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",36): succeeded
 Calling asmb(0x120001208="89abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",37): succeeded
 Calling asmb(0x120001209="""9abcdefg",0): succeeded
 Calling asmb(0x120001209="9""abcdefgh",1): succeeded
 Calling asmb(0x120001209="9a""bcdefghi",2): succeeded
 Calling asmb(0x120001209="9ab""cdefghij",3): succeeded
 Calling asmb(0x120001209="9abc""defghijk",4): succeeded
 Calling asmb(0x120001209="9abcd""efghijkl",5): succeeded
 Calling asmb(0x120001209="9abcde""fghijklm",6): succeeded
 Calling asmb(0x120001209="9abcdef""ghijklm\n",7): succeeded
 Calling asmb(0x120001209="9abcdefg""hijklm\nn",8): succeeded
 Calling asmb(0x120001209="9abcdefgh""ijklm\nno",9): succeeded
 Calling asmb(0x120001209="9abcdefghi""jklm\nnop",10): succeeded
 Calling asmb(0x120001209="9abcdefghij""klm\nnopq",11): succeeded
 Calling asmb(0x120001209="9abcdefghijk""lm\nnopqr",12): succeeded
 Calling asmb(0x120001209="9abcdefghijkl""m\nnopqr\n",13): succeeded
 Calling asmb(0x120001209="9abcdefghijklm""\nnopqr\n\n",14): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\n""nopqr\n\ns",15): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nn""opqr\n\nst",16): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nno""pqr\n\nstu",17): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnop""qr\n\nstuv",18): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopq""r\n\nstuvw",19): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr""\n\nstuvwx",20): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n""\nstuvwxy",21): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\n""stuvwxyz",22): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\ns""tuvwxyz",23): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nst""uvwxyz",24): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstu""vwxyz",25): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuv""wxyz",26): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvw""xyz\0",27): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",28): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",29): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",30): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",31): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",32): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",33): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",34): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",35): succeeded
 Calling asmb(0x120001209="9abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",36): succeeded
 Calling asmb(0x12000120a="""abcdefgh",0): succeeded
 Calling asmb(0x12000120a="a""bcdefghi",1): succeeded
 Calling asmb(0x12000120a="ab""cdefghij",2): succeeded
 Calling asmb(0x12000120a="abc""defghijk",3): succeeded
 Calling asmb(0x12000120a="abcd""efghijkl",4): succeeded
 Calling asmb(0x12000120a="abcde""fghijklm",5): succeeded
 Calling asmb(0x12000120a="abcdef""ghijklm\n",6): succeeded
 Calling asmb(0x12000120a="abcdefg""hijklm\nn",7): succeeded
 Calling asmb(0x12000120a="abcdefgh""ijklm\nno",8): succeeded
 Calling asmb(0x12000120a="abcdefghi""jklm\nnop",9): succeeded
 Calling asmb(0x12000120a="abcdefghij""klm\nnopq",10): succeeded
 Calling asmb(0x12000120a="abcdefghijk""lm\nnopqr",11): succeeded
 Calling asmb(0x12000120a="abcdefghijkl""m\nnopqr\n",12): succeeded
 Calling asmb(0x12000120a="abcdefghijklm""\nnopqr\n\n",13): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\n""nopqr\n\ns",14): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nn""opqr\n\nst",15): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nno""pqr\n\nstu",16): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnop""qr\n\nstuv",17): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopq""r\n\nstuvw",18): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr""\n\nstuvwx",19): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n""\nstuvwxy",20): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\n""stuvwxyz",21): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\ns""tuvwxyz",22): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nst""uvwxyz",23): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstu""vwxyz",24): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuv""wxyz",25): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvw""xyz\0",26): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwx""yz\0.",27): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxy""z\0..",28): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz""\0...",29): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz""\0....",30): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",31): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz""\0......",32): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",33): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz\0""........",34): succeeded
 Calling asmb(0x12000120a="abcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",35): succeeded
 Calling asmb(0x12000120b="""bcdefghi",0): succeeded
 Calling asmb(0x12000120b="b""cdefghij",1): succeeded
 Calling asmb(0x12000120b="bc""defghijk",2): succeeded
 Calling asmb(0x12000120b="bcd""efghijkl",3): succeeded
 Calling asmb(0x12000120b="bcde""fghijklm",4): succeeded
 Calling asmb(0x12000120b="bcdef""ghijklm\n",5): succeeded
 Calling asmb(0x12000120b="bcdefg""hijklm\nn",6): succeeded
 Calling asmb(0x12000120b="bcdefgh""ijklm\nno",7): succeeded
 Calling asmb(0x12000120b="bcdefghi""jklm\nnop",8): succeeded
 Calling asmb(0x12000120b="bcdefghij""klm\nnopq",9): succeeded
 Calling asmb(0x12000120b="bcdefghijk""lm\nnopqr",10): succeeded
 Calling asmb(0x12000120b="bcdefghijkl""m\nnopqr\n",11): succeeded
 Calling asmb(0x12000120b="bcdefghijklm""\nnopqr\n\n",12): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\n""nopqr\n\ns",13): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nn""opqr\n\nst",14): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nno""pqr\n\nstu",15): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnop""qr\n\nstuv",16): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopq""r\n\nstuvw",17): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr""\n\nstuvwx",18): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n""\nstuvwxy",19): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\n""stuvwxyz",20): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\ns""tuvwxyz",21): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nst""uvwxyz",22): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstu""vwxyz",23): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuv""wxyz",24): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvw""xyz\0",25): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwx""yz\0.",26): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxy""z\0..",27): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz""\0...",28): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz""\0....",29): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz""\0.....",30): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz""\0......",31): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz""\0.......",32): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz\0""........",33): succeeded
 Calling asmb(0x12000120b="bcdefghijklm\nnopqr\n\nstuvwxyz\0.""........",34): succeeded
 Calling asmb(0x12000120c="""cdefghij",0): succeeded
 Calling asmb(0x12000120c="c""defghijk",1): succeeded
 Calling asmb(0x12000120c="cd""efghijkl",2): succeeded
 Calling asmb(0x12000120c="cde""fghijklm",3): succeeded
 Calling asmb(0x12000120c="cdef""ghijklm\n",4): succeeded
 Calling asmb(0x12000120c="cdefg""hijklm\nn",5): succeeded
 Calling asmb(0x12000120c="cdefgh""ijklm\nno",6): succeeded
 Calling asmb(0x12000120c="cdefghi""jklm\nnop",7): succeeded
 Calling asmb(0x12000120c="cdefghij""klm\nnopq",8): succeeded
 Calling asmb(0x12000120c="cdefghijk""lm\nnopqr",9): succeeded
 Calling asmb(0x12000120c="cdefghijkl""m\nnopqr\n",10): succeeded
 Calling asmb(0x12000120c="cdefghijklm""\nnopqr\n\n",11): succeeded
 Calling asmb(0x12000120c="cdefghijklm\n""nopqr\n\ns",12): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nn""opqr\n\nst",13): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nno""pqr\n\nstu",14): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnop""qr\n\nstuv",15): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopq""r\n\nstuvw",16): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr""\n\nstuvwx",17): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n""\nstuvwxy",18): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\n""stuvwxyz",19): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\ns""tuvwxyz",20): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nst""uvwxyz",21): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstu""vwxyz",22): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuv""wxyz",23): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvw""xyz\0",24): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwx""yz\0.",25): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxy""z\0..",26): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz""\0...",27): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz""\0....",28): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz""\0.....",29): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz""\0......",30): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz""\0.......",31): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz\0""........",32): succeeded
 Calling asmb(0x12000120c="cdefghijklm\nnopqr\n\nstuvwxyz\0.""........",33): succeeded
 Calling asmb(0x12000120d="""defghijk",0): succeeded
 Calling asmb(0x12000120d="d""efghijkl",1): succeeded
 Calling asmb(0x12000120d="de""fghijklm",2): succeeded
 Calling asmb(0x12000120d="def""ghijklm\n",3): succeeded
 Calling asmb(0x12000120d="defg""hijklm\nn",4): succeeded
 Calling asmb(0x12000120d="defgh""ijklm\nno",5): succeeded
 Calling asmb(0x12000120d="defghi""jklm\nnop",6): succeeded
 Calling asmb(0x12000120d="defghij""klm\nnopq",7): succeeded
 Calling asmb(0x12000120d="defghijk""lm\nnopqr",8): succeeded
 Calling asmb(0x12000120d="defghijkl""m\nnopqr\n",9): succeeded
 Calling asmb(0x12000120d="defghijklm""\nnopqr\n\n",10): succeeded
 Calling asmb(0x12000120d="defghijklm\n""nopqr\n\ns",11): succeeded
 Calling asmb(0x12000120d="defghijklm\nn""opqr\n\nst",12): succeeded
 Calling asmb(0x12000120d="defghijklm\nno""pqr\n\nstu",13): succeeded
 Calling asmb(0x12000120d="defghijklm\nnop""qr\n\nstuv",14): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopq""r\n\nstuvw",15): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr""\n\nstuvwx",16): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n""\nstuvwxy",17): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\n""stuvwxyz",18): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\ns""tuvwxyz",19): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nst""uvwxyz",20): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstu""vwxyz",21): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuv""wxyz",22): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvw""xyz\0",23): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwx""yz\0.",24): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxy""z\0..",25): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz""\0...",26): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz""\0....",27): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz""\0.....",28): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz""\0......",29): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz""\0.......",30): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz\0""........",31): succeeded
 Calling asmb(0x12000120d="defghijklm\nnopqr\n\nstuvwxyz\0.""........",32): succeeded
 Calling asmb(0x12000120e="""efghijkl",0): succeeded
 Calling asmb(0x12000120e="e""fghijklm",1): succeeded
 Calling asmb(0x12000120e="ef""ghijklm\n",2): succeeded
 Calling asmb(0x12000120e="efg""hijklm\nn",3): succeeded
 Calling asmb(0x12000120e="efgh""ijklm\nno",4): succeeded
 Calling asmb(0x12000120e="efghi""jklm\nnop",5): succeeded
 Calling asmb(0x12000120e="efghij""klm\nnopq",6): succeeded
 Calling asmb(0x12000120e="efghijk""lm\nnopqr",7): succeeded
 Calling asmb(0x12000120e="efghijkl""m\nnopqr\n",8): succeeded
 Calling asmb(0x12000120e="efghijklm""\nnopqr\n\n",9): succeeded
 Calling asmb(0x12000120e="efghijklm\n""nopqr\n\ns",10): succeeded
 Calling asmb(0x12000120e="efghijklm\nn""opqr\n\nst",11): succeeded
 Calling asmb(0x12000120e="efghijklm\nno""pqr\n\nstu",12): succeeded
 Calling asmb(0x12000120e="efghijklm\nnop""qr\n\nstuv",13): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopq""r\n\nstuvw",14): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr""\n\nstuvwx",15): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n""\nstuvwxy",16): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\n""stuvwxyz",17): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\ns""tuvwxyz",18): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nst""uvwxyz",19): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstu""vwxyz",20): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuv""wxyz",21): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvw""xyz\0",22): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwx""yz\0.",23): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxy""z\0..",24): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz""\0...",25): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz""\0....",26): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz""\0.....",27): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz""\0......",28): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz""\0.......",29): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz\0""........",30): succeeded
 Calling asmb(0x12000120e="efghijklm\nnopqr\n\nstuvwxyz\0.""........",31): succeeded
 Calling asmb(0x12000120f="""fghijklm",0): succeeded
 Calling asmb(0x12000120f="f""ghijklm\n",1): succeeded
 Calling asmb(0x12000120f="fg""hijklm\nn",2): succeeded
 Calling asmb(0x12000120f="fgh""ijklm\nno",3): succeeded
 Calling asmb(0x12000120f="fghi""jklm\nnop",4): succeeded
 Calling asmb(0x12000120f="fghij""klm\nnopq",5): succeeded
 Calling asmb(0x12000120f="fghijk""lm\nnopqr",6): succeeded
 Calling asmb(0x12000120f="fghijkl""m\nnopqr\n",7): succeeded
 Calling asmb(0x12000120f="fghijklm""\nnopqr\n\n",8): succeeded
 Calling asmb(0x12000120f="fghijklm\n""nopqr\n\ns",9): succeeded
 Calling asmb(0x12000120f="fghijklm\nn""opqr\n\nst",10): succeeded
 Calling asmb(0x12000120f="fghijklm\nno""pqr\n\nstu",11): succeeded
 Calling asmb(0x12000120f="fghijklm\nnop""qr\n\nstuv",12): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopq""r\n\nstuvw",13): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr""\n\nstuvwx",14): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n""\nstuvwxy",15): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\n""stuvwxyz",16): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\ns""tuvwxyz",17): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nst""uvwxyz",18): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstu""vwxyz",19): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuv""wxyz",20): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvw""xyz\0",21): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwx""yz\0.",22): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxy""z\0..",23): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz""\0...",24): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz""\0....",25): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz""\0.....",26): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz""\0......",27): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz""\0.......",28): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz\0""........",29): succeeded
 Calling asmb(0x12000120f="fghijklm\nnopqr\n\nstuvwxyz\0.""........",30): succeeded
 Calling asmb(0x120001210="""ghijklm\n",0): succeeded
 Calling asmb(0x120001210="g""hijklm\nn",1): succeeded
 Calling asmb(0x120001210="gh""ijklm\nno",2): succeeded
 Calling asmb(0x120001210="ghi""jklm\nnop",3): succeeded
 Calling asmb(0x120001210="ghij""klm\nnopq",4): succeeded
 Calling asmb(0x120001210="ghijk""lm\nnopqr",5): succeeded
 Calling asmb(0x120001210="ghijkl""m\nnopqr\n",6): succeeded
 Calling asmb(0x120001210="ghijklm""\nnopqr\n\n",7): succeeded
 Calling asmb(0x120001210="ghijklm\n""nopqr\n\ns",8): succeeded
 Calling asmb(0x120001210="ghijklm\nn""opqr\n\nst",9): succeeded
 Calling asmb(0x120001210="ghijklm\nno""pqr\n\nstu",10): succeeded
 Calling asmb(0x120001210="ghijklm\nnop""qr\n\nstuv",11): succeeded
 Calling asmb(0x120001210="ghijklm\nnopq""r\n\nstuvw",12): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr""\n\nstuvwx",13): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n""\nstuvwxy",14): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\n""stuvwxyz",15): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\ns""tuvwxyz",16): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nst""uvwxyz",17): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstu""vwxyz",18): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuv""wxyz",19): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvw""xyz\0",20): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwx""yz\0.",21): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxy""z\0..",22): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz""\0...",23): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz""\0....",24): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz""\0.....",25): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz""\0......",26): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz""\0.......",27): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz\0""........",28): succeeded
 Calling asmb(0x120001210="ghijklm\nnopqr\n\nstuvwxyz\0.""........",29): succeeded
 Calling asmb(0x120001211="""hijklm\nn",0): succeeded
 Calling asmb(0x120001211="h""ijklm\nno",1): succeeded
 Calling asmb(0x120001211="hi""jklm\nnop",2): succeeded
 Calling asmb(0x120001211="hij""klm\nnopq",3): succeeded
 Calling asmb(0x120001211="hijk""lm\nnopqr",4): succeeded
 Calling asmb(0x120001211="hijkl""m\nnopqr\n",5): succeeded
 Calling asmb(0x120001211="hijklm""\nnopqr\n\n",6): succeeded
 Calling asmb(0x120001211="hijklm\n""nopqr\n\ns",7): succeeded
 Calling asmb(0x120001211="hijklm\nn""opqr\n\nst",8): succeeded
 Calling asmb(0x120001211="hijklm\nno""pqr\n\nstu",9): succeeded
 Calling asmb(0x120001211="hijklm\nnop""qr\n\nstuv",10): succeeded
 Calling asmb(0x120001211="hijklm\nnopq""r\n\nstuvw",11): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr""\n\nstuvwx",12): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n""\nstuvwxy",13): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\n""stuvwxyz",14): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\ns""tuvwxyz",15): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nst""uvwxyz",16): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstu""vwxyz",17): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuv""wxyz",18): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvw""xyz\0",19): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwx""yz\0.",20): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxy""z\0..",21): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz""\0...",22): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz""\0....",23): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz""\0.....",24): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz""\0......",25): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz""\0.......",26): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz\0""........",27): succeeded
 Calling asmb(0x120001211="hijklm\nnopqr\n\nstuvwxyz\0.""........",28): succeeded
 Calling asmb(0x120001212="""ijklm\nno",0): succeeded
 Calling asmb(0x120001212="i""jklm\nnop",1): succeeded
 Calling asmb(0x120001212="ij""klm\nnopq",2): succeeded
 Calling asmb(0x120001212="ijk""lm\nnopqr",3): succeeded
 Calling asmb(0x120001212="ijkl""m\nnopqr\n",4): succeeded
 Calling asmb(0x120001212="ijklm""\nnopqr\n\n",5): succeeded
 Calling asmb(0x120001212="ijklm\n""nopqr\n\ns",6): succeeded
 Calling asmb(0x120001212="ijklm\nn""opqr\n\nst",7): succeeded
 Calling asmb(0x120001212="ijklm\nno""pqr\n\nstu",8): succeeded
 Calling asmb(0x120001212="ijklm\nnop""qr\n\nstuv",9): succeeded
 Calling asmb(0x120001212="ijklm\nnopq""r\n\nstuvw",10): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr""\n\nstuvwx",11): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n""\nstuvwxy",12): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\n""stuvwxyz",13): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\ns""tuvwxyz",14): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nst""uvwxyz",15): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstu""vwxyz",16): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuv""wxyz",17): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvw""xyz\0",18): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwx""yz\0.",19): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxy""z\0..",20): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz""\0...",21): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz""\0....",22): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz""\0.....",23): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz""\0......",24): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz""\0.......",25): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz\0""........",26): succeeded
 Calling asmb(0x120001212="ijklm\nnopqr\n\nstuvwxyz\0.""........",27): succeeded
 Calling asmb(0x120001213="""jklm\nnop",0): succeeded
 Calling asmb(0x120001213="j""klm\nnopq",1): succeeded
 Calling asmb(0x120001213="jk""lm\nnopqr",2): succeeded
 Calling asmb(0x120001213="jkl""m\nnopqr\n",3): succeeded
 Calling asmb(0x120001213="jklm""\nnopqr\n\n",4): succeeded
 Calling asmb(0x120001213="jklm\n""nopqr\n\ns",5): succeeded
 Calling asmb(0x120001213="jklm\nn""opqr\n\nst",6): succeeded
 Calling asmb(0x120001213="jklm\nno""pqr\n\nstu",7): succeeded
 Calling asmb(0x120001213="jklm\nnop""qr\n\nstuv",8): succeeded
 Calling asmb(0x120001213="jklm\nnopq""r\n\nstuvw",9): succeeded
 Calling asmb(0x120001213="jklm\nnopqr""\n\nstuvwx",10): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n""\nstuvwxy",11): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\n""stuvwxyz",12): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\ns""tuvwxyz",13): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nst""uvwxyz",14): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstu""vwxyz",15): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuv""wxyz",16): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvw""xyz\0",17): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwx""yz\0.",18): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxy""z\0..",19): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz""\0...",20): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz""\0....",21): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz""\0.....",22): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz""\0......",23): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz""\0.......",24): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz\0""........",25): succeeded
 Calling asmb(0x120001213="jklm\nnopqr\n\nstuvwxyz\0.""........",26): succeeded
 Calling asmb(0x120001214="""klm\nnopq",0): succeeded
 Calling asmb(0x120001214="k""lm\nnopqr",1): succeeded
 Calling asmb(0x120001214="kl""m\nnopqr\n",2): succeeded
 Calling asmb(0x120001214="klm""\nnopqr\n\n",3): succeeded
 Calling asmb(0x120001214="klm\n""nopqr\n\ns",4): succeeded
 Calling asmb(0x120001214="klm\nn""opqr\n\nst",5): succeeded
 Calling asmb(0x120001214="klm\nno""pqr\n\nstu",6): succeeded
 Calling asmb(0x120001214="klm\nnop""qr\n\nstuv",7): succeeded
 Calling asmb(0x120001214="klm\nnopq""r\n\nstuvw",8): succeeded
 Calling asmb(0x120001214="klm\nnopqr""\n\nstuvwx",9): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n""\nstuvwxy",10): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\n""stuvwxyz",11): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\ns""tuvwxyz",12): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nst""uvwxyz",13): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstu""vwxyz",14): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuv""wxyz",15): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvw""xyz\0",16): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwx""yz\0.",17): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxy""z\0..",18): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz""\0...",19): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz""\0....",20): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz""\0.....",21): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz""\0......",22): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz""\0.......",23): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz\0""........",24): succeeded
 Calling asmb(0x120001214="klm\nnopqr\n\nstuvwxyz\0.""........",25): succeeded
 Calling asmb(0x120001215="""lm\nnopqr",0): succeeded
 Calling asmb(0x120001215="l""m\nnopqr\n",1): succeeded
 Calling asmb(0x120001215="lm""\nnopqr\n\n",2): succeeded
 Calling asmb(0x120001215="lm\n""nopqr\n\ns",3): succeeded
 Calling asmb(0x120001215="lm\nn""opqr\n\nst",4): succeeded
 Calling asmb(0x120001215="lm\nno""pqr\n\nstu",5): succeeded
 Calling asmb(0x120001215="lm\nnop""qr\n\nstuv",6): succeeded
 Calling asmb(0x120001215="lm\nnopq""r\n\nstuvw",7): succeeded
 Calling asmb(0x120001215="lm\nnopqr""\n\nstuvwx",8): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n""\nstuvwxy",9): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\n""stuvwxyz",10): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\ns""tuvwxyz",11): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nst""uvwxyz",12): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstu""vwxyz",13): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuv""wxyz",14): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvw""xyz\0",15): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwx""yz\0.",16): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxy""z\0..",17): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz""\0...",18): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz""\0....",19): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz""\0.....",20): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz""\0......",21): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz""\0.......",22): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz\0""........",23): succeeded
 Calling asmb(0x120001215="lm\nnopqr\n\nstuvwxyz\0.""........",24): succeeded
 Calling asmb(0x120001216="""m\nnopqr\n",0): succeeded
 Calling asmb(0x120001216="m""\nnopqr\n\n",1): succeeded
 Calling asmb(0x120001216="m\n""nopqr\n\ns",2): succeeded
 Calling asmb(0x120001216="m\nn""opqr\n\nst",3): succeeded
 Calling asmb(0x120001216="m\nno""pqr\n\nstu",4): succeeded
 Calling asmb(0x120001216="m\nnop""qr\n\nstuv",5): succeeded
 Calling asmb(0x120001216="m\nnopq""r\n\nstuvw",6): succeeded
 Calling asmb(0x120001216="m\nnopqr""\n\nstuvwx",7): succeeded
 Calling asmb(0x120001216="m\nnopqr\n""\nstuvwxy",8): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\n""stuvwxyz",9): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\ns""tuvwxyz",10): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nst""uvwxyz",11): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstu""vwxyz",12): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuv""wxyz",13): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvw""xyz\0",14): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwx""yz\0.",15): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxy""z\0..",16): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz""\0...",17): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz""\0....",18): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz""\0.....",19): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz""\0......",20): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz""\0.......",21): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz\0""........",22): succeeded
 Calling asmb(0x120001216="m\nnopqr\n\nstuvwxyz\0.""........",23): succeeded
 Calling asmb(0x120001217="""\nnopqr\n\n",0): succeeded
 Calling asmb(0x120001217="\n""nopqr\n\ns",1): succeeded
 Calling asmb(0x120001217="\nn""opqr\n\nst",2): succeeded
 Calling asmb(0x120001217="\nno""pqr\n\nstu",3): succeeded
 Calling asmb(0x120001217="\nnop""qr\n\nstuv",4): succeeded
 Calling asmb(0x120001217="\nnopq""r\n\nstuvw",5): succeeded
 Calling asmb(0x120001217="\nnopqr""\n\nstuvwx",6): succeeded
 Calling asmb(0x120001217="\nnopqr\n""\nstuvwxy",7): succeeded
 Calling asmb(0x120001217="\nnopqr\n\n""stuvwxyz",8): succeeded
 Calling asmb(0x120001217="\nnopqr\n\ns""tuvwxyz",9): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nst""uvwxyz",10): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstu""vwxyz",11): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuv""wxyz",12): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvw""xyz\0",13): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwx""yz\0.",14): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxy""z\0..",15): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz""\0...",16): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz""\0....",17): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz""\0.....",18): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz""\0......",19): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz""\0.......",20): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz\0""........",21): succeeded
 Calling asmb(0x120001217="\nnopqr\n\nstuvwxyz\0.""........",22): succeeded
 Calling asmb(0x120001218="""nopqr\n\ns",0): succeeded
 Calling asmb(0x120001218="n""opqr\n\nst",1): succeeded
 Calling asmb(0x120001218="no""pqr\n\nstu",2): succeeded
 Calling asmb(0x120001218="nop""qr\n\nstuv",3): succeeded
 Calling asmb(0x120001218="nopq""r\n\nstuvw",4): succeeded
 Calling asmb(0x120001218="nopqr""\n\nstuvwx",5): succeeded
 Calling asmb(0x120001218="nopqr\n""\nstuvwxy",6): succeeded
 Calling asmb(0x120001218="nopqr\n\n""stuvwxyz",7): succeeded
 Calling asmb(0x120001218="nopqr\n\ns""tuvwxyz",8): succeeded
 Calling asmb(0x120001218="nopqr\n\nst""uvwxyz",9): succeeded
 Calling asmb(0x120001218="nopqr\n\nstu""vwxyz",10): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuv""wxyz",11): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvw""xyz\0",12): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwx""yz\0.",13): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxy""z\0..",14): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz""\0...",15): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz""\0....",16): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz""\0.....",17): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz""\0......",18): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz""\0.......",19): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz\0""........",20): succeeded
 Calling asmb(0x120001218="nopqr\n\nstuvwxyz\0.""........",21): succeeded
 Calling asmb(0x120001219="""opqr\n\nst",0): succeeded
 Calling asmb(0x120001219="o""pqr\n\nstu",1): succeeded
 Calling asmb(0x120001219="op""qr\n\nstuv",2): succeeded
 Calling asmb(0x120001219="opq""r\n\nstuvw",3): succeeded
 Calling asmb(0x120001219="opqr""\n\nstuvwx",4): succeeded
 Calling asmb(0x120001219="opqr\n""\nstuvwxy",5): succeeded
 Calling asmb(0x120001219="opqr\n\n""stuvwxyz",6): succeeded
 Calling asmb(0x120001219="opqr\n\ns""tuvwxyz",7): succeeded
 Calling asmb(0x120001219="opqr\n\nst""uvwxyz",8): succeeded
 Calling asmb(0x120001219="opqr\n\nstu""vwxyz",9): succeeded
 Calling asmb(0x120001219="opqr\n\nstuv""wxyz",10): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvw""xyz\0",11): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwx""yz\0.",12): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxy""z\0..",13): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz""\0...",14): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz""\0....",15): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz""\0.....",16): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz""\0......",17): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz""\0.......",18): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz\0""........",19): succeeded
 Calling asmb(0x120001219="opqr\n\nstuvwxyz\0.""........",20): succeeded
 Calling asmb(0x12000121a="""pqr\n\nstu",0): succeeded
 Calling asmb(0x12000121a="p""qr\n\nstuv",1): succeeded
 Calling asmb(0x12000121a="pq""r\n\nstuvw",2): succeeded
 Calling asmb(0x12000121a="pqr""\n\nstuvwx",3): succeeded
 Calling asmb(0x12000121a="pqr\n""\nstuvwxy",4): succeeded
 Calling asmb(0x12000121a="pqr\n\n""stuvwxyz",5): succeeded
 Calling asmb(0x12000121a="pqr\n\ns""tuvwxyz",6): succeeded
 Calling asmb(0x12000121a="pqr\n\nst""uvwxyz",7): succeeded
 Calling asmb(0x12000121a="pqr\n\nstu""vwxyz",8): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuv""wxyz",9): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvw""xyz\0",10): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwx""yz\0.",11): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxy""z\0..",12): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz""\0...",13): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz""\0....",14): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz""\0.....",15): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz""\0......",16): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz""\0.......",17): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz\0""........",18): succeeded
 Calling asmb(0x12000121a="pqr\n\nstuvwxyz\0.""........",19): succeeded
 Calling asmb(0x12000121b="""qr\n\nstuv",0): succeeded
 Calling asmb(0x12000121b="q""r\n\nstuvw",1): succeeded
 Calling asmb(0x12000121b="qr""\n\nstuvwx",2): succeeded
 Calling asmb(0x12000121b="qr\n""\nstuvwxy",3): succeeded
 Calling asmb(0x12000121b="qr\n\n""stuvwxyz",4): succeeded
 Calling asmb(0x12000121b="qr\n\ns""tuvwxyz",5): succeeded
 Calling asmb(0x12000121b="qr\n\nst""uvwxyz",6): succeeded
 Calling asmb(0x12000121b="qr\n\nstu""vwxyz",7): succeeded
 Calling asmb(0x12000121b="qr\n\nstuv""wxyz",8): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvw""xyz\0",9): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwx""yz\0.",10): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxy""z\0..",11): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz""\0...",12): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz""\0....",13): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz""\0.....",14): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz""\0......",15): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz""\0.......",16): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz\0""........",17): succeeded
 Calling asmb(0x12000121b="qr\n\nstuvwxyz\0.""........",18): succeeded
 Calling asmb(0x12000121c="""r\n\nstuvw",0): succeeded
 Calling asmb(0x12000121c="r""\n\nstuvwx",1): succeeded
 Calling asmb(0x12000121c="r\n""\nstuvwxy",2): succeeded
 Calling asmb(0x12000121c="r\n\n""stuvwxyz",3): succeeded
 Calling asmb(0x12000121c="r\n\ns""tuvwxyz",4): succeeded
 Calling asmb(0x12000121c="r\n\nst""uvwxyz",5): succeeded
 Calling asmb(0x12000121c="r\n\nstu""vwxyz",6): succeeded
 Calling asmb(0x12000121c="r\n\nstuv""wxyz",7): succeeded
 Calling asmb(0x12000121c="r\n\nstuvw""xyz\0",8): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwx""yz\0.",9): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxy""z\0..",10): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz""\0...",11): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz""\0....",12): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz""\0.....",13): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz""\0......",14): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz""\0.......",15): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz\0""........",16): succeeded
 Calling asmb(0x12000121c="r\n\nstuvwxyz\0.""........",17): succeeded
 Calling asmb(0x12000121d="""\n\nstuvwx",0): succeeded
 Calling asmb(0x12000121d="\n""\nstuvwxy",1): succeeded
 Calling asmb(0x12000121d="\n\n""stuvwxyz",2): succeeded
 Calling asmb(0x12000121d="\n\ns""tuvwxyz",3): succeeded
 Calling asmb(0x12000121d="\n\nst""uvwxyz",4): succeeded
 Calling asmb(0x12000121d="\n\nstu""vwxyz",5): succeeded
 Calling asmb(0x12000121d="\n\nstuv""wxyz",6): succeeded
 Calling asmb(0x12000121d="\n\nstuvw""xyz\0",7): succeeded
 Calling asmb(0x12000121d="\n\nstuvwx""yz\0.",8): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxy""z\0..",9): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz""\0...",10): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz""\0....",11): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz""\0.....",12): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz""\0......",13): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz""\0.......",14): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz\0""........",15): succeeded
 Calling asmb(0x12000121d="\n\nstuvwxyz\0.""........",16): succeeded
 Calling asmb(0x12000121e="""\nstuvwxy",0): succeeded
 Calling asmb(0x12000121e="\n""stuvwxyz",1): succeeded
 Calling asmb(0x12000121e="\ns""tuvwxyz",2): succeeded
 Calling asmb(0x12000121e="\nst""uvwxyz",3): succeeded
 Calling asmb(0x12000121e="\nstu""vwxyz",4): succeeded
 Calling asmb(0x12000121e="\nstuv""wxyz",5): succeeded
 Calling asmb(0x12000121e="\nstuvw""xyz\0",6): succeeded
 Calling asmb(0x12000121e="\nstuvwx""yz\0.",7): succeeded
 Calling asmb(0x12000121e="\nstuvwxy""z\0..",8): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz""\0...",9): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz""\0....",10): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz""\0.....",11): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz""\0......",12): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz""\0.......",13): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz\0""........",14): succeeded
 Calling asmb(0x12000121e="\nstuvwxyz\0.""........",15): succeeded
 Calling asmb(0x12000121f="""stuvwxyz",0): succeeded
 Calling asmb(0x12000121f="s""tuvwxyz",1): succeeded
 Calling asmb(0x12000121f="st""uvwxyz",2): succeeded
 Calling asmb(0x12000121f="stu""vwxyz",3): succeeded
 Calling asmb(0x12000121f="stuv""wxyz",4): succeeded
 Calling asmb(0x12000121f="stuvw""xyz\0",5): succeeded
 Calling asmb(0x12000121f="stuvwx""yz\0.",6): succeeded
 Calling asmb(0x12000121f="stuvwxy""z\0..",7): succeeded
 Calling asmb(0x12000121f="stuvwxyz""\0...",8): succeeded
 Calling asmb(0x12000121f="stuvwxyz""\0....",9): succeeded
 Calling asmb(0x12000121f="stuvwxyz""\0.....",10): succeeded
 Calling asmb(0x12000121f="stuvwxyz""\0......",11): succeeded
 Calling asmb(0x12000121f="stuvwxyz""\0.......",12): succeeded
 Calling asmb(0x12000121f="stuvwxyz\0""........",13): succeeded
 Calling asmb(0x12000121f="stuvwxyz\0.""........",14): succeeded
 Calling asmb(0x120001220="""tuvwxyz",0): succeeded
 Calling asmb(0x120001220="t""uvwxyz",1): succeeded
 Calling asmb(0x120001220="tu""vwxyz",2): succeeded
 Calling asmb(0x120001220="tuv""wxyz",3): succeeded
 Calling asmb(0x120001220="tuvw""xyz\0",4): succeeded
 Calling asmb(0x120001220="tuvwx""yz\0.",5): succeeded
 Calling asmb(0x120001220="tuvwxy""z\0..",6): succeeded
 Calling asmb(0x120001220="tuvwxyz""\0...",7): succeeded
 Calling asmb(0x120001220="tuvwxyz""\0....",8): succeeded
 Calling asmb(0x120001220="tuvwxyz""\0.....",9): succeeded
 Calling asmb(0x120001220="tuvwxyz""\0......",10): succeeded
 Calling asmb(0x120001220="tuvwxyz""\0.......",11): succeeded
 Calling asmb(0x120001220="tuvwxyz\0""........",12): succeeded
 Calling asmb(0x120001220="tuvwxyz\0.""........",13): succeeded
 Calling asmb(0x120001221="""uvwxyz",0): succeeded
 Calling asmb(0x120001221="u""vwxyz",1): succeeded
 Calling asmb(0x120001221="uv""wxyz",2): succeeded
 Calling asmb(0x120001221="uvw""xyz\0",3): succeeded
 Calling asmb(0x120001221="uvwx""yz\0.",4): succeeded
 Calling asmb(0x120001221="uvwxy""z\0..",5): succeeded
 Calling asmb(0x120001221="uvwxyz""\0...",6): succeeded
 Calling asmb(0x120001221="uvwxyz""\0....",7): succeeded
 Calling asmb(0x120001221="uvwxyz""\0.....",8): succeeded
 Calling asmb(0x120001221="uvwxyz""\0......",9): succeeded
 Calling asmb(0x120001221="uvwxyz""\0.......",10): succeeded
 Calling asmb(0x120001221="uvwxyz\0""........",11): succeeded
 Calling asmb(0x120001221="uvwxyz\0.""........",12): succeeded
 Calling asmb(0x120001222="""vwxyz",0): succeeded
 Calling asmb(0x120001222="v""wxyz",1): succeeded
 Calling asmb(0x120001222="vw""xyz\0",2): succeeded
 Calling asmb(0x120001222="vwx""yz\0.",3): succeeded
 Calling asmb(0x120001222="vwxy""z\0..",4): succeeded
 Calling asmb(0x120001222="vwxyz""\0...",5): succeeded
 Calling asmb(0x120001222="vwxyz""\0....",6): succeeded
 Calling asmb(0x120001222="vwxyz""\0.....",7): succeeded
 Calling asmb(0x120001222="vwxyz""\0......",8): succeeded
 Calling asmb(0x120001222="vwxyz""\0.......",9): succeeded
 Calling asmb(0x120001222="vwxyz\0""........",10): succeeded
 Calling asmb(0x120001222="vwxyz\0.""........",11): succeeded
 Calling asmb(0x120001223="""wxyz",0): succeeded
 Calling asmb(0x120001223="w""xyz\0",1): succeeded
 Calling asmb(0x120001223="wx""yz\0.",2): succeeded
 Calling asmb(0x120001223="wxy""z\0..",3): succeeded
 Calling asmb(0x120001223="wxyz""\0...",4): succeeded
 Calling asmb(0x120001223="wxyz""\0....",5): succeeded
 Calling asmb(0x120001223="wxyz""\0.....",6): succeeded
 Calling asmb(0x120001223="wxyz""\0......",7): succeeded
 Calling asmb(0x120001223="wxyz""\0.......",8): succeeded
 Calling asmb(0x120001223="wxyz\0""........",9): succeeded
 Calling asmb(0x120001223="wxyz\0.""........",10): succeeded
 Calling asmb(0x120001224="""xyz\0",0): succeeded
 Calling asmb(0x120001224="x""yz\0.",1): succeeded
 Calling asmb(0x120001224="xy""z\0..",2): succeeded
 Calling asmb(0x120001224="xyz""\0...",3): succeeded
 Calling asmb(0x120001224="xyz""\0....",4): succeeded
 Calling asmb(0x120001224="xyz""\0.....",5): succeeded
 Calling asmb(0x120001224="xyz""\0......",6): succeeded
 Calling asmb(0x120001224="xyz""\0.......",7): succeeded
 Calling asmb(0x120001224="xyz\0""........",8): succeeded
 Calling asmb(0x120001224="xyz\0.""........",9): succeeded
 Calling asmb(0x120001225="""yz\0.",0): succeeded
 Calling asmb(0x120001225="y""z\0..",1): succeeded
 Calling asmb(0x120001225="yz""\0...",2): succeeded
 Calling asmb(0x120001225="yz""\0....",3): succeeded
 Calling asmb(0x120001225="yz""\0.....",4): succeeded
 Calling asmb(0x120001225="yz""\0......",5): succeeded
 Calling asmb(0x120001225="yz""\0.......",6): succeeded
 Calling asmb(0x120001225="yz\0""........",7): succeeded
 Calling asmb(0x120001225="yz\0.""........",8): succeeded
 Calling asmb(0x120001226="""z\0..",0): succeeded
 Calling asmb(0x120001226="z""\0...",1): succeeded
 Calling asmb(0x120001226="z""\0....",2): succeeded
 Calling asmb(0x120001226="z""\0.....",3): succeeded
 Calling asmb(0x120001226="z""\0......",4): succeeded
 Calling asmb(0x120001226="z""\0.......",5): succeeded
 Calling asmb(0x120001226="z\0""........",6): succeeded
 Calling asmb(0x120001226="z\0.""........",7): succeeded
 Calling asmb(0x120001227="""\0...",0): succeeded
 Calling asmb(0x120001227="""\0....",1): succeeded
 Calling asmb(0x120001227="""\0.....",2): succeeded
 Calling asmb(0x120001227="""\0......",3): succeeded
 Calling asmb(0x120001227="""\0.......",4): succeeded
 Calling asmb(0x120001227="\0""........",5): succeeded
 Calling asmb(0x120001227="\0.""........",6): succeeded
 Calling asmb(0x120001228="""\0....",0): succeeded
 Calling asmb(0x120001228="""\0.....",1): succeeded
 Calling asmb(0x120001228="""\0......",2): succeeded
 Calling asmb(0x120001228="""\0.......",3): succeeded
 Calling asmb(0x120001228="\0""........",4): succeeded
 Calling asmb(0x120001228="\0.""........",5): succeeded
 Calling asmb(0x120001229="""\0.....",0): succeeded
 Calling asmb(0x120001229="""\0......",1): succeeded
 Calling asmb(0x120001229="""\0.......",2): succeeded
 Calling asmb(0x120001229="\0""........",3): succeeded
 Calling asmb(0x120001229="\0.""........",4): succeeded
 Calling asmb(0x12000122a="""\0......",0): succeeded
 Calling asmb(0x12000122a="""\0.......",1): succeeded
 Calling asmb(0x12000122a="\0""........",2): succeeded
 Calling asmb(0x12000122a="\0.""........",3): succeeded
 Calling asmb(0x12000122b="""\0.......",0): succeeded
 Calling asmb(0x12000122b="\0""........",1): succeeded
 Calling asmb(0x12000122b="\0.""........",2): succeeded
 Calling asmb(0x12000122c="""........",0): succeeded
 Calling asmb(0x12000122c=".""........",1): succeeded
 Calling asmb(0x12000122d="""........",0): succeeded

Test succeeded.
Erzeugter Code korrekt
Trace
0x120000820 <asmb>:	mov	0,v0
0x120000824 <asmb+4>:	beq	a1,0x120000874 <very_end>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x120000858 <start+48>:	br	0x120000828 <start>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x120000858 <start+48>:	br	0x120000828 <start>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x120000858 <start+48>:	br	0x120000828 <start>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x120000858 <start+48>:	br	0x120000828 <start>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x120000858 <start+48>:	br	0x120000828 <start>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000874 <very_end>:	ret
0x120000820 <asmb>:	mov	0,v0
0x120000824 <asmb+4>:	beq	a1,0x120000874 <very_end>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x120000858 <start+48>:	br	0x120000828 <start>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000874 <very_end>:	ret
0x120000820 <asmb>:	mov	0,v0
0x120000824 <asmb+4>:	beq	a1,0x120000874 <very_end>
0x120000828 <start>:	lda	at,0(a0)
0x12000082c <start+4>:	ldq_u	t9,0(at)
0x120000830 <start+8>:	ldq_u	t10,7(at)
0x120000834 <start+12>:	extql	t9,at,t9
0x120000838 <start+16>:	extqh	t10,at,t10
0x12000083c <start+20>:	or	t9,t10,t1
0x120000840 <start+24>:	mov	0,t0
0x120000844 <start+28>:	perr	t0,t1,t1
0x120000848 <start+32>:	addq	v0,t1,v0
0x12000084c <start+36>:	addq	a0,0x8,a0
0x120000850 <start+40>:	subq	a1,0x8,a1
0x120000854 <start+44>:	ble	a1,0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000860 <end+4>:	addq	a1,0x1,a1
0x120000864 <end+8>:	subq	a0,0x1,a0
0x120000868 <end+12>:	ldbu	t1,0(a0)
0x12000086c <end+16>:	subq	v0,t1,v0
0x120000870 <end+20>:	br	0x12000085c <end>
0x12000085c <end>:	beq	a1,0x120000874 <very_end>
0x120000874 <very_end>:	ret

Referenzinstruktionen: 135, Abgabeinstruktionen: 246
Bonuspunkte: 0


Nach 'make clean' gab es folgendes Ergebnis:
rm -rf asmb.o


From ublu@b1.complang.tuwien.ac.at Wed Apr 05 22:44:32 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 05 Apr 2006 22:44:32 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FRErg-0007uS-Mq
	for u0425426@b1.complang.tuwien.ac.at; Wed, 05 Apr 2006 22:44:32 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Scanner, 2. Abgabe
Message-Id: <E1FRErg-0007uS-Mq@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 05 Apr 2006 22:44:32 +0200


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Scannerbeispiels: 70%.  Das
maximale Ergebnis ist 70%.  Das Programm lieferte fuer 0
Testfaelle das falsche Ergebnis (7% Abzug pro Fehler). 

Bitte speichern Sie im Abgabeverzeichnis NUR die noetigen Dateien,
also keine Testdaten, keine ausfuehrbaren Programme und keine
Unterverzeichnisse.

'make' hatte folgendes zu melden:
flex -o scanner.c scanner.fl
gcc -g -ansi -c scanner.c
gcc -o scanner scanner.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann erwartete Ausgabe
(nach "Erwartete Ausgabe:"), dann die Abweichungen vom erwarteten
Ergebnis (als context-diff).

Eingabe:
func f(x)
 x ->
end;

Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
id x
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> repeat ->
end;

Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
if
id x
>
num a
then
id x
->
else
id x
+
num a
->
end
->
start
->
repeat
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
func x(a,b)
  1,2,3 -> start -> d,e,f;
    if a>b then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> 
end;

Status: korrekt

Erwartete Ausgabe:
func
id x
(
id a
,
id b
)
num 1
,
num 2
,
num 3
->
start
->
id d
,
id e
,
id f
;
if
id a
>
id b
then
id d
,
id e
->
else
id e
,
id d
->
end
->
id g
,
id h
;
if
id g
>
id h
then
id f
->
exit
;
id e
,
id f
,
id d
->
repeat
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
func f(x)
  1 -> start -> a;
    if a=2 then
      3 -> exit;
    2-> repeat
  -> b;
  b -> 
end;

Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
num 1
->
start
->
id a
;
if
id a
=
num 2
then
num 3
->
exit
;
num 2
->
repeat
->
id b
;
id b
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
/* hhh /* ggg */
func f(x)
 x ->
end;

Line 1: Possibly nested comment (comment aleady started at line 1)
Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
id x
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
Line 1: Possibly nested comment (comment aleady started at line 1)
kein Unterschied
----------
Eingabe:
/* this is a
   multiline comment
*/
func f(x)
 x ->
end;

Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
id x
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
func end if then else exit start repeat not and

Status: korrekt

Erwartete Ausgabe:
func
end
if
then
else
exit
start
repeat
not
and

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
; ( ) , * + -> - > =
Status: korrekt

Erwartete Ausgabe:
;
(
)
,
*
+
->
-
>
=

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
;(),*+->>-=
Status: korrekt

Erwartete Ausgabe:
;
(
)
,
*
+
->
>
-
=

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
_

Status: korrekt

Erwartete Ausgabe:
id _

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
a

Status: korrekt

Erwartete Ausgabe:
id a

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
a_0_z
Status: korrekt

Erwartete Ausgabe:
id a_0_z

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
0
Status: korrekt

Erwartete Ausgabe:
num 0

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
1_

Status: korrekt

Erwartete Ausgabe:
num 1
id _

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
123
Status: korrekt

Erwartete Ausgabe:
num 7b

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
/**/
Status: korrekt

Erwartete Ausgabe:

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
@
Line 1: Illegal character
Scanning not successful: 1 error, 0 warnings
Status: korrekt
----------
Eingabe:
/* Kommentar *
Line 1: EOF inside comment started at line 1
Status: korrekt
----------
Eingabe:
func f(x)
 x -> #
end;

Line 2: Illegal character
Scanning not successful: 1 error, 0 warnings
Status: korrekt
----------
Eingabe:
func f(x)
 x ->
end;
/* starts like a comment but does not end like a comment and therefore it is not a comment (but '/' is a lexical error)

Line 5: EOF inside comment started at line 4
Status: korrekt
----------


Nach 'make clean' gab es folgendes Ergebnis:
rm -rf scanner.c scanner.o scanner








From ublu@b1.complang.tuwien.ac.at Wed Apr 05 23:07:13 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 05 Apr 2006 23:07:13 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FRFDd-00088M-9U
	for u0425426@b1.complang.tuwien.ac.at; Wed, 05 Apr 2006 23:07:13 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Zwischenstand
Message-Id: <E1FRFDd-00088M-9U@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 05 Apr 2006 23:07:13 +0200

Beispiel  1. Abgabe      2. Abgabe      3. Abgabe    Bestes    Gewichtet
         100%   100%    100%    70%    100%    30%
   asma 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
   asmb   0.00   0.00  100.00  70.00  100.00  30.00   70.00       7.000
scanner 100.00 100.00  100.00  70.00    0.00   0.00  100.00      10.000
 parser 100.00 100.00    0.00   0.00    0.00   0.00  100.00      10.000
     ag   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
 gesamt   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
   code   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
                                                     Summe:      37.000
Sie sind angemeldet: 
3 0425426 534 Staroch Paul

From ublu@b1.complang.tuwien.ac.at Wed Apr 26 21:03:12 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 26 Apr 2006 21:03:12 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FYpI8-00019g-L4
	for u0425426@b1.complang.tuwien.ac.at; Wed, 26 Apr 2006 21:03:12 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Parser, 2. Abgabe
Message-Id: <E1FYpI8-00019g-L4@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 26 Apr 2006 21:03:12 +0200


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Parserbeispiels: 70%.  Das
maximale Ergebnis ist 70%.  Das Programm lieferte fuer 0
Testfaelle das falsche Ergebnis (7% Abzug pro Fehler).

Nach 'make clean' gab es folgendes Ergebnis:
rm -rf scanner.c scanner.o scanner parser.c parser.h parser parser.o


'make' hatte folgendes zu melden:
yacc -d parser.y -o parser.c
flex -o scanner.c scanner.lex
gcc -g -ansi -c scanner.c
gcc -g -ansi -c parser.c
gcc -o parser scanner.o parser.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann ihre Ausgabe
(nach "Ausgabe:"), dann der Rueckgabewert (nach "Status:") und
danach entweder "korrekt" oder der erwartete Rueckgabewert.

----------------------------------
Eingabe:
func f(x)
 x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> repeat ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(a,b)
  1,2,3 -> start -> d,e,f;
    if a>b then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> 
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func f(x)
  1 -> start -> a;
    if a=2 then
      3 -> exit;
    2-> repeat
  -> b;
  b -> 
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
/* hhh /* ggg */
func f(x)
 x ->
end;

Ausgabe:
Line 1: Possibly nested comment (comment aleady started at line 1)
Status: korrekt
----------------------------------
Eingabe:
/* this is a
   multiline comment
*/
func f(x)
 x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
/* keine Funktionsdefinition */

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x ->
end;

func x(x)
  x ->
end;

func x(x)
  x ->
end;


Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x,x,x,x)
  x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x > x then
    x ->
  else
    x ->
  end ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x,x,x,x,x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->start->repeat->start->repeat->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->x; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->x,x,x,x; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x -> x; if x=x then x->exit; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->x; if x=x then x->exit; if x>x then x->exit; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->start->start->repeat->start->repeat->repeat->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->*x; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  -x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  *x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x+x+x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x*x*x*x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  (x)->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  0->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x(x,x,x) ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x>x and x>x and x>x then
    x->
  else
    x->
  end ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if not x>x then
    x->
  else
    x->
  end ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if ((x>x)) then
    x->
  else
    x->
  end ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x,x,x,x)
  x,x -> start -> x,*x;
    if not (x>x and (not x=x)) then
      *x,-x,x+x+(x*x) -> exit;
    if not (x>x and (not x=x)) then
      *x,-x,x+x+(x*x) -> exit;
    0,-1,(2)-> start -> *x; 
      if x+x+x > x*x*x then
        x(x(x,x)) ->
      else
        -x ->
      end ->
    repeat ->
  repeat ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func __(a_)
  a_5_a ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
@
Ausgabe:
Line 1: Illegal character
Status: korrekt
----------------------------------
Eingabe:
/* Kommentar *
Ausgabe:
Line 1: EOF inside comment started at line 1
Status: korrekt
----------------------------------
Eingabe:
func f(x)
 x -> #
end;

Ausgabe:
Line 2: Illegal character
Status: korrekt
----------------------------------
Eingabe:
func f(x)
 x ->
end;
/* starts like a comment but does not end like a comment and therefore it is not a comment (but '/' is a lexical error)

Ausgabe:
Line 5: EOF inside comment started at line 4
Status: korrekt
----------------------------------
Eingabe:
func f(x)
 x -->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x()
 x->
end;

Ausgabe:
Line 1: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x+x*x->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x-5 ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  --x ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x>x>x then
    x->
  else
    x->
  end ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  1*-2 ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x>x then x-> exit ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x>x then
    x->
  else
    x->
  exit ->
end;

Ausgabe:
Line 6: syntax error
Status: korrekt
----------------------------------
Eingabe:
func f(x)
  if x>x then
    if x>x then x-> exit; x->
  else
    x->
  end ->
end;

Ausgabe:
Line 3: syntax error
Status: korrekt


From ublu@b1.complang.tuwien.ac.at Wed Apr 26 21:12:41 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 26 Apr 2006 21:12:41 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FYpRJ-0001Fv-2f
	for u0425426@b1.complang.tuwien.ac.at; Wed, 26 Apr 2006 21:12:41 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Scanner, 3. Abgabe
Message-Id: <E1FYpRJ-0001Fv-2f@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 26 Apr 2006 21:12:41 +0200


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Scannerbeispiels: 30%.  Das
maximale Ergebnis ist 30%.  Das Programm lieferte fuer 0
Testfaelle das falsche Ergebnis (3% Abzug pro Fehler). 

Bitte speichern Sie im Abgabeverzeichnis NUR die noetigen Dateien,
also keine Testdaten, keine ausfuehrbaren Programme und keine
Unterverzeichnisse.

'make' hatte folgendes zu melden:
flex -o scanner.c scanner.fl
gcc -g -ansi -c scanner.c
gcc -o scanner scanner.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann erwartete Ausgabe
(nach "Erwartete Ausgabe:"), dann die Abweichungen vom erwarteten
Ergebnis (als context-diff).

Eingabe:
func f(x)
 x ->
end;

Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
id x
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> repeat ->
end;

Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
if
id x
>
num a
then
id x
->
else
id x
+
num a
->
end
->
start
->
repeat
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
func x(a,b)
  1,2,3 -> start -> d,e,f;
    if a>b then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> 
end;

Status: korrekt

Erwartete Ausgabe:
func
id x
(
id a
,
id b
)
num 1
,
num 2
,
num 3
->
start
->
id d
,
id e
,
id f
;
if
id a
>
id b
then
id d
,
id e
->
else
id e
,
id d
->
end
->
id g
,
id h
;
if
id g
>
id h
then
id f
->
exit
;
id e
,
id f
,
id d
->
repeat
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
func f(x)
  1 -> start -> a;
    if a=2 then
      3 -> exit;
    2-> repeat
  -> b;
  b -> 
end;

Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
num 1
->
start
->
id a
;
if
id a
=
num 2
then
num 3
->
exit
;
num 2
->
repeat
->
id b
;
id b
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
/* hhh /* ggg */
func f(x)
 x ->
end;

Line 1: Possibly nested comment (comment aleady started at line 1)
Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
id x
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
Line 1: Possibly nested comment (comment aleady started at line 1)
kein Unterschied
----------
Eingabe:
/* this is a
   multiline comment
*/
func f(x)
 x ->
end;

Status: korrekt

Erwartete Ausgabe:
func
id f
(
id x
)
id x
->
end
;

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
func end if then else exit start repeat not and

Status: korrekt

Erwartete Ausgabe:
func
end
if
then
else
exit
start
repeat
not
and

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
; ( ) , * + -> - > =
Status: korrekt

Erwartete Ausgabe:
;
(
)
,
*
+
->
-
>
=

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
;(),*+->>-=
Status: korrekt

Erwartete Ausgabe:
;
(
)
,
*
+
->
>
-
=

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
_

Status: korrekt

Erwartete Ausgabe:
id _

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
a

Status: korrekt

Erwartete Ausgabe:
id a

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
a_0_z
Status: korrekt

Erwartete Ausgabe:
id a_0_z

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
0
Status: korrekt

Erwartete Ausgabe:
num 0

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
1_

Status: korrekt

Erwartete Ausgabe:
num 1
id _

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
123
Status: korrekt

Erwartete Ausgabe:
num 7b

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
/**/
Status: korrekt

Erwartete Ausgabe:

Unterschied zwischen erwarteter und tatsaechlicher Ausgabe:
kein Unterschied
----------
Eingabe:
@
Line 1: Illegal character
Scanning not successful: 1 error, 0 warnings
Status: korrekt
----------
Eingabe:
/* Kommentar *
Line 1: EOF inside comment started at line 1
Status: korrekt
----------
Eingabe:
func f(x)
 x -> #
end;

Line 2: Illegal character
Scanning not successful: 1 error, 0 warnings
Status: korrekt
----------
Eingabe:
func f(x)
 x ->
end;
/* starts like a comment but does not end like a comment and therefore it is not a comment (but '/' is a lexical error)

Line 5: EOF inside comment started at line 4
Status: korrekt
----------


Nach 'make clean' gab es folgendes Ergebnis:
rm -rf scanner.c scanner.o scanner








From ublu@b1.complang.tuwien.ac.at Wed Apr 26 21:38:40 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 26 Apr 2006 21:38:40 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FYpqS-0001Zu-JD
	for u0425426@b1.complang.tuwien.ac.at; Wed, 26 Apr 2006 21:38:40 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Zwischenstand
Message-Id: <E1FYpqS-0001Zu-JD@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 26 Apr 2006 21:38:40 +0200

Beispiel  1. Abgabe      2. Abgabe      3. Abgabe    Bestes    Gewichtet
         100%   100%    100%    70%    100%    30%
   asma 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
   asmb   0.00   0.00  100.00  70.00  100.00  30.00   70.00       7.000
scanner 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
 parser 100.00 100.00  100.00  70.00    0.00   0.00  100.00      10.000
     ag   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
 gesamt   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
   code   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
                                                     Summe:      37.000
Sie sind angemeldet: 
3 0425426 534 Staroch Paul

From ublu@b1.complang.tuwien.ac.at Wed May 03 18:29:01 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 03 May 2006 18:29:01 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FbKDl-0007eK-DU
	for u0425426@b1.complang.tuwien.ac.at; Wed, 03 May 2006 18:29:01 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Parser, 3. Abgabe
Message-Id: <E1FbKDl-0007eK-DU@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 03 May 2006 18:29:01 +0200


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Parserbeispiels: 30%.  Das
maximale Ergebnis ist 30%.  Das Programm lieferte fuer 0
Testfaelle das falsche Ergebnis (3% Abzug pro Fehler).

Nach 'make clean' gab es folgendes Ergebnis:
rm -rf scanner.c scanner.o scanner parser.c parser.h parser parser.o


'make' hatte folgendes zu melden:
yacc -d parser.y -o parser.c
flex -o scanner.c scanner.lex
gcc -g -ansi -c scanner.c
gcc -g -ansi -c parser.c
gcc -o parser scanner.o parser.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann ihre Ausgabe
(nach "Ausgabe:"), dann der Rueckgabewert (nach "Status:") und
danach entweder "korrekt" oder der erwartete Rueckgabewert.

----------------------------------
Eingabe:
func f(x)
 x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> repeat ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(a,b)
  1,2,3 -> start -> d,e,f;
    if a>b then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> 
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func f(x)
  1 -> start -> a;
    if a=2 then
      3 -> exit;
    2-> repeat
  -> b;
  b -> 
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
/* hhh /* ggg */
func f(x)
 x ->
end;

Ausgabe:
Line 1: Possibly nested comment (comment aleady started at line 1)
Status: korrekt
----------------------------------
Eingabe:
/* this is a
   multiline comment
*/
func f(x)
 x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
/* keine Funktionsdefinition */

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x ->
end;

func x(x)
  x ->
end;

func x(x)
  x ->
end;


Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x,x,x,x)
  x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x > x then
    x ->
  else
    x ->
  end ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x,x,x,x,x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->start->repeat->start->repeat->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->x; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->x,x,x,x; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x -> x; if x=x then x->exit; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->x; if x=x then x->exit; if x>x then x->exit; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->start->start->repeat->start->repeat->repeat->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x->*x; x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  -x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  *x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x+x+x ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x*x*x*x->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  (x)->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  0->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x(x,x,x) ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x>x and x>x and x>x then
    x->
  else
    x->
  end ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if not x>x then
    x->
  else
    x->
  end ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if ((x>x)) then
    x->
  else
    x->
  end ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func x(x,x,x,x)
  x,x -> start -> x,*x;
    if not (x>x and (not x=x)) then
      *x,-x,x+x+(x*x) -> exit;
    if not (x>x and (not x=x)) then
      *x,-x,x+x+(x*x) -> exit;
    0,-1,(2)-> start -> *x; 
      if x+x+x > x*x*x then
        x(x(x,x)) ->
      else
        -x ->
      end ->
    repeat ->
  repeat ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
func __(a_)
  a_5_a ->
end;

Ausgabe:
Status: korrekt
----------------------------------
Eingabe:
@
Ausgabe:
Line 1: Illegal character
Status: korrekt
----------------------------------
Eingabe:
/* Kommentar *
Ausgabe:
Line 1: EOF inside comment started at line 1
Status: korrekt
----------------------------------
Eingabe:
func f(x)
 x -> #
end;

Ausgabe:
Line 2: Illegal character
Status: korrekt
----------------------------------
Eingabe:
func f(x)
 x ->
end;
/* starts like a comment but does not end like a comment and therefore it is not a comment (but '/' is a lexical error)

Ausgabe:
Line 5: EOF inside comment started at line 4
Status: korrekt
----------------------------------
Eingabe:
func f(x)
 x -->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x()
 x->
end;

Ausgabe:
Line 1: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x+x*x->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  x-5 ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  --x ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x>x>x then
    x->
  else
    x->
  end ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  1*-2 ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x>x then x-> exit ->
end;

Ausgabe:
Line 2: syntax error
Status: korrekt
----------------------------------
Eingabe:
func x(x)
  if x>x then
    x->
  else
    x->
  exit ->
end;

Ausgabe:
Line 6: syntax error
Status: korrekt
----------------------------------
Eingabe:
func f(x)
  if x>x then
    if x>x then x-> exit; x->
  else
    x->
  end ->
end;

Ausgabe:
Line 3: syntax error
Status: korrekt


From ublu@b1.complang.tuwien.ac.at Wed May 03 19:03:38 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 03 May 2006 19:03:38 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FbKlG-0000Ts-A8
	for u0425426@b1.complang.tuwien.ac.at; Wed, 03 May 2006 19:03:38 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Zwischenstand
Message-Id: <E1FbKlG-0000Ts-A8@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 03 May 2006 19:03:38 +0200

Beispiel  1. Abgabe      2. Abgabe      3. Abgabe    Bestes    Gewichtet
         100%   100%    100%    70%    100%    30%
   asma 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
   asmb   0.00   0.00  100.00  70.00  100.00  30.00   70.00       7.000
scanner 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
 parser 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
     ag   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
 gesamt   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
   code   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
                                                     Summe:      37.000
Sie sind angemeldet: 
3 0425426 534 Staroch Paul

From ublu@b1.complang.tuwien.ac.at Wed May 10 18:05:09 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 10 May 2006 18:05:09 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FdrBV-0008Li-P8
	for u0425426@b1.complang.tuwien.ac.at; Wed, 10 May 2006 18:05:09 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: AG, 1. Abgabe
Message-Id: <E1FdrBV-0008Li-P8@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 10 May 2006 18:05:09 +0200


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des AG-Beispiels: 90%.  Das
maximale Ergebnis ist 100%.  Das Programm lieferte fuer 1
Testfaelle das falsche Ergebnis (10% Abzug pro Fehler).

Nach 'make clean' gab es folgendes Ergebnis:
rm -rf oxout.y oxout.l parser.c scanner.c scanner.o parser.o symbol_table.o ag parser.h


'make' hatte folgendes zu melden:
ox parser.y scanner.lex
flex -o scanner.c oxout.l
yacc -d oxout.y -o parser.c
gcc -g -ansi -c scanner.c
gcc -g -ansi -c parser.c
gcc -g -ansi -c symbol_table.c
gcc -o ag scanner.o parser.o symbol_table.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann ihre Ausgabe
(nach "Ausgabe:"), dann der Rueckgabewert (nach "Status:") und
danach entweder "korrekt" oder der erwartete Rueckgabewert.

=====================================

Eingabe(a.0):
==============
func f(x)
 x ->
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(b.0):
==============
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> y; if y>1 then y -> exit; y+1 -> repeat ->
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(c.0):
==============
func x(a,b)
  1,2,3 -> start -> d,e,f;
    if a>b then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> 
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(d.0):
==============
func f(x)
  1 -> start -> a;
    if a=2 then
      3 -> exit;
    2-> repeat
  -> b;
  b -> 
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(e.0):
==============
/* hhh /* ggg */
func f(x)
 x ->
end;

--------

Ausgabe:
========
Line 1: Possibly nested comment (comment aleady started at line 1)

--------
Status: 0, korrekt

=====================================

Eingabe(f.0):
==============
/* this is a
   multiline comment
*/
func f(x)
 x ->
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(g.0):
==============
func f(x)
  if x=x then
    1->y; y ->
  else
    2->y; y ->
  end
-> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(h.0):
==============
func f(x)
 x->y; y->z; z-> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(i.0):
==============
func f(x)
  1->start -> y;
    if x=0 then
      1 -> exit;
  2-> repeat -> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(j.0):
==============
func f(x)
  1->start
    ->start -> y;
    if x=0 then
      1 -> exit;
    if x=0 then
      1 -> exit;
    if x=0 then
      1 -> exit;
    y -> repeat
   -> start -> y;
    if x=0 then
      1 -> exit;
     y -> repeat ->z;
   if x=0 then
     2->exit;
  z->repeat
-> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(k.0):
==============
func f(x)
  1,2,3,4 -> a,b,c,*x;
  a-> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(l.0):
==============
func f(x)
  if x>0 then
    1,2,3 ->
  else
    4,5,6 ->
  end -> a,b,c;
  x -> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(m.0):
==============
func f(x)
  x -> start -> y;
    if x=0 then
      1,2,3 -> exit;
    if x=1 then
      2,3,4 -> exit;
  y+1 -> repeat -> a,b,c;
  x -> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(n.0):
==============
func f(x)
  if x>0 then
    1->y; 2 ->
  else
    3->
  end -> y;
y->end;
--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(o.0):
==============
func f(x)
  1 -> start -> y;
    if x=0 then
      1,2,3 -> exit;
    if x>0 then
      4,5,6 -> exit;
  2 -> repeat -> a,b,c;
 x->end;
--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(p.0):
==============
func f(x)
  1,2 -> start -> y,z;
     if x>0 then
       3 -> exit;
     4,5 -> repeat -> a;
  x->end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(q.0):
==============
func x(a,b)
  1,2,3 -> start -> d,e,f;
    if a>b then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> /* 1 Wert */ end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(xa.1):
==============
func f(x)
 x -> #
end;

--------

Ausgabe:
========
Line 2: Illegal character

Processing input not successful
Lexical errors: 1
Lexical warnings: 0
Syntax errors: 0
Other errors: 0

--------
Status: 1, korrekt

=====================================

Eingabe(xb.1):
==============
func f(x)
 x ->
end;
/* never ending comment (but '/' is a lexical error)

--------

Ausgabe:
========
Line 5: EOF inside comment started at line 4

--------
Status: 1, korrekt

=====================================

Eingabe(ya.2):
==============
func f(x)
 x -->
end;

--------

Ausgabe:
========
Line 2: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0

--------
Status: 2, korrekt

=====================================

Eingabe(yb.2):
==============
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> if x>1 then x -> exit; x+1 -> repeat ->
end;

--------

Ausgabe:
========
Line 3: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0

--------
Status: 2, korrekt

=====================================

Eingabe(za.3):
==============
func f(x)
  if x>10 then x -> else y+10 -> end ->
end;

--------

Ausgabe:
========
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zb.3):
==============
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> repeat ->
end;

--------

Ausgabe:
========
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zc.3):
==============
func f(x,x)
  x-> end;

--------

Ausgabe:
========
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zd.3):
==============
func f(x)
  1->x; x-> end;

--------

Ausgabe:
========
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(ze.3):
==============
func f(x)
  1,2 -> y,y;
  x-> end;
 
--------

Ausgabe:
========
Identifier y redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zf.3):
==============
func f(x)
  x,2 -> y, *y;
  x-> end;

--------

Ausgabe:
========

--------
Status: 0. Erwartet: 3

=====================================

Eingabe(zg.3):
==============
func f(x)
  if x=0 then
    x->y; 1->
  else
    x->
  end -> z;
  y -> end;

--------

Ausgabe:
========
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zh.3):
==============
func f(x)
  x-> start -> y;
    if x=0 then
      x-> exit;
  1-> repeat -> z;
  y->end;

--------

Ausgabe:
========
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zi.3):
==============
func f(x)
  x-> start -> y;
    if x=0 then
      x->z; x->exit;
  z-> repeat -> w;
  1->end;

--------

Ausgabe:
========
Identifier z undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zj.3):
==============
func f(x)
  if x=0 then
    0 -> x; 1->
  else 
    2->
  end -> end;

--------

Ausgabe:
========
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zk.3):
==============
func f(x)
  x->y; 
  if x=0 then
    x-> exit;
  x-> end;

--------

Ausgabe:
========
IF-EXIT outside loop

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zl.3):
==============
func f(x)
  1 -> start -> repeat -> end;

--------

Ausgabe:
========
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zm.3):
==============
func f(x)
  1 -> start 
       -> start -> y;
       if x=0 then
          x->exit;
       x->repeat
  -> repeat -> end;

    
--------

Ausgabe:
========
Loop without IF-EXIT
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 2

--------
Status: 3, korrekt

=====================================

Eingabe(zn.3):
==============
func f(x)
  1,2,3 -> a,b;
  1-> end;

--------

Ausgabe:
========
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zo.3):
==============
func f(x)
  1,2 -> end;

--------

Ausgabe:
========
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zp.3):
==============
func f(x)
  if x=0 then
    1 ->
  else
    2,3 ->
  end
-> end;

--------

Ausgabe:
========
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zq.3):
==============
func f(x)
  1 -> start -> y;
    if x>0 then
      1,2 -> exit;
    if x=0 then
      3 -> exit;
    2->repeat -> a,b;
  b->end;

--------

Ausgabe:
========
Different output value count of IF-EXIT-statements

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zr.3):
==============
func f(x)
  1,2 -> start -> y,z;
     if x>0 then
       3,4 -> exit;
     5 -> repeat -> a,b;
  x-> end;

--------

Ausgabe:
========
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt



From ublu@b1.complang.tuwien.ac.at Wed May 10 19:22:39 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 10 May 2006 19:22:39 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FdsOV-0000i1-4L
	for u0425426@b1.complang.tuwien.ac.at; Wed, 10 May 2006 19:22:39 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Zwischenstand
Message-Id: <E1FdsOV-0000i1-4L@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 10 May 2006 19:22:39 +0200

Beispiel  1. Abgabe      2. Abgabe      3. Abgabe    Bestes    Gewichtet
         100%   100%    100%    70%    100%    30%
   asma 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
   asmb   0.00   0.00  100.00  70.00  100.00  30.00   70.00       7.000
scanner 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
 parser 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
     ag  90.00  90.00    0.00   0.00    0.00   0.00   90.00      22.500
 gesamt   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
   code   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
                                                     Summe:      59.500
Sie sind angemeldet: 
3 0425426 534 Staroch Paul

From ublu@b1.complang.tuwien.ac.at Wed May 17 16:29:42 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 17 May 2006 16:29:42 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FgN1y-00051T-MZ
	for u0425426@b1.complang.tuwien.ac.at; Wed, 17 May 2006 16:29:42 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: AG, 2. Abgabe
Message-Id: <E1FgN1y-00051T-MZ@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 17 May 2006 16:29:42 +0200


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des AG-Beispiels: 70%.  Das
maximale Ergebnis ist 70%.  Das Programm lieferte fuer 0
Testfaelle das falsche Ergebnis (7% Abzug pro Fehler).

Nach 'make clean' gab es folgendes Ergebnis:
rm -rf oxout.y oxout.l parser.c scanner.c scanner.o parser.o symbol_table.o ag parser.h


'make' hatte folgendes zu melden:
ox parser.y scanner.lex
flex -o scanner.c oxout.l
yacc -d oxout.y -o parser.c
gcc -g -ansi -c scanner.c
gcc -g -ansi -c parser.c
gcc -g -ansi -c symbol_table.c
gcc -o ag scanner.o parser.o symbol_table.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann ihre Ausgabe
(nach "Ausgabe:"), dann der Rueckgabewert (nach "Status:") und
danach entweder "korrekt" oder der erwartete Rueckgabewert.

=====================================

Eingabe(a.0):
==============
func f(x)
 x ->
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(b.0):
==============
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> y; if y>1 then y -> exit; y+1 -> repeat ->
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(c.0):
==============
func x(a,b)
  1,2,3 -> start -> d,e,f;
    if a>b then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> 
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(d.0):
==============
func f(x)
  1 -> start -> a;
    if a=2 then
      3 -> exit;
    2-> repeat
  -> b;
  b -> 
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(e.0):
==============
/* hhh /* ggg */
func f(x)
 x ->
end;

--------

Ausgabe:
========
Line 1: Possibly nested comment (comment aleady started at line 1)

--------
Status: 0, korrekt

=====================================

Eingabe(f.0):
==============
/* this is a
   multiline comment
*/
func f(x)
 x ->
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(g.0):
==============
func f(x)
  if x=x then
    1->y; y ->
  else
    2->y; y ->
  end
-> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(h.0):
==============
func f(x)
 x->y; y->z; z-> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(i.0):
==============
func f(x)
  1->start -> y;
    if x=0 then
      1 -> exit;
  2-> repeat -> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(j.0):
==============
func f(x)
  1->start
    ->start -> y;
    if x=0 then
      1 -> exit;
    if x=0 then
      1 -> exit;
    if x=0 then
      1 -> exit;
    y -> repeat
   -> start -> y;
    if x=0 then
      1 -> exit;
     y -> repeat ->z;
   if x=0 then
     2->exit;
  z->repeat
-> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(k.0):
==============
func f(x)
  1,2,3,4 -> a,b,c,*x;
  a-> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(l.0):
==============
func f(x)
  if x>0 then
    1,2,3 ->
  else
    4,5,6 ->
  end -> a,b,c;
  x -> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(m.0):
==============
func f(x)
  x -> start -> y;
    if x=0 then
      1,2,3 -> exit;
    if x=1 then
      2,3,4 -> exit;
  y+1 -> repeat -> a,b,c;
  x -> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(n.0):
==============
func f(x)
  if x>0 then
    1->y; 2 ->
  else
    3->
  end -> y;
y->end;
--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(o.0):
==============
func f(x)
  1 -> start -> y;
    if x=0 then
      1,2,3 -> exit;
    if x>0 then
      4,5,6 -> exit;
  2 -> repeat -> a,b,c;
 x->end;
--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(p.0):
==============
func f(x)
  1,2 -> start -> y,z;
     if x>0 then
       3 -> exit;
     4,5 -> repeat -> a;
  x->end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(q.0):
==============
func x(a,b)
  1,2,3 -> start -> d,e,f;
    if a>b then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> /* 1 Wert */ end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(xa.1):
==============
func f(x)
 x -> #
end;

--------

Ausgabe:
========
Line 2: Illegal character

Processing input not successful
Lexical errors: 1
Lexical warnings: 0
Syntax errors: 0
Other errors: 0

--------
Status: 1, korrekt

=====================================

Eingabe(xb.1):
==============
func f(x)
 x ->
end;
/* never ending comment (but '/' is a lexical error)

--------

Ausgabe:
========
Line 5: EOF inside comment started at line 4

--------
Status: 1, korrekt

=====================================

Eingabe(ya.2):
==============
func f(x)
 x -->
end;

--------

Ausgabe:
========
Line 2: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0

--------
Status: 2, korrekt

=====================================

Eingabe(yb.2):
==============
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> if x>1 then x -> exit; x+1 -> repeat ->
end;

--------

Ausgabe:
========
Line 3: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0

--------
Status: 2, korrekt

=====================================

Eingabe(za.3):
==============
func f(x)
  if x>10 then x -> else y+10 -> end ->
end;

--------

Ausgabe:
========
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zb.3):
==============
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> repeat ->
end;

--------

Ausgabe:
========
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zc.3):
==============
func f(x,x)
  x-> end;

--------

Ausgabe:
========
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zd.3):
==============
func f(x)
  1->x; x-> end;

--------

Ausgabe:
========
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(ze.3):
==============
func f(x)
  1,2 -> y,y;
  x-> end;
 
--------

Ausgabe:
========
Identifier y redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zf.3):
==============
func f(x)
  x,2 -> y, *y;
  x-> end;

--------

Ausgabe:
========
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zg.3):
==============
func f(x)
  if x=0 then
    x->y; 1->
  else
    x->
  end -> z;
  y -> end;

--------

Ausgabe:
========
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zh.3):
==============
func f(x)
  x-> start -> y;
    if x=0 then
      x-> exit;
  1-> repeat -> z;
  y->end;

--------

Ausgabe:
========
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zi.3):
==============
func f(x)
  x-> start -> y;
    if x=0 then
      x->z; x->exit;
  z-> repeat -> w;
  1->end;

--------

Ausgabe:
========
Identifier z undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zj.3):
==============
func f(x)
  if x=0 then
    0 -> x; 1->
  else 
    2->
  end -> end;

--------

Ausgabe:
========
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zk.3):
==============
func f(x)
  x->y; 
  if x=0 then
    x-> exit;
  x-> end;

--------

Ausgabe:
========
IF-EXIT outside loop

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zl.3):
==============
func f(x)
  1 -> start -> repeat -> end;

--------

Ausgabe:
========
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zm.3):
==============
func f(x)
  1 -> start 
       -> start -> y;
       if x=0 then
          x->exit;
       x->repeat
  -> repeat -> end;

    
--------

Ausgabe:
========
Loop without IF-EXIT
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 2

--------
Status: 3, korrekt

=====================================

Eingabe(zn.3):
==============
func f(x)
  1,2,3 -> a,b;
  1-> end;

--------

Ausgabe:
========
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zo.3):
==============
func f(x)
  1,2 -> end;

--------

Ausgabe:
========
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zp.3):
==============
func f(x)
  if x=0 then
    1 ->
  else
    2,3 ->
  end
-> end;

--------

Ausgabe:
========
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zq.3):
==============
func f(x)
  1 -> start -> y;
    if x>0 then
      1,2 -> exit;
    if x=0 then
      3 -> exit;
    2->repeat -> a,b;
  b->end;

--------

Ausgabe:
========
Different output value count of IF-EXIT-statements

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zr.3):
==============
func f(x)
  1,2 -> start -> y,z;
     if x>0 then
       3,4 -> exit;
     5 -> repeat -> a,b;
  x-> end;

--------

Ausgabe:
========
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt



From ublu@b1.complang.tuwien.ac.at Wed May 17 17:37:35 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 17 May 2006 17:37:35 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FgO5f-0005RU-2K
	for u0425426@b1.complang.tuwien.ac.at; Wed, 17 May 2006 17:37:35 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Zwischenstand
Message-Id: <E1FgO5f-0005RU-2K@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 17 May 2006 17:37:35 +0200

Beispiel  1. Abgabe      2. Abgabe      3. Abgabe    Bestes    Gewichtet
         100%   100%    100%    70%    100%    30%
   asma 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
   asmb   0.00   0.00  100.00  70.00  100.00  30.00   70.00       7.000
scanner 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
 parser 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
     ag  90.00  90.00  100.00  70.00    0.00   0.00   90.00      22.500
 gesamt   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
   code   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
                                                     Summe:      59.500
Sie sind angemeldet: 
3 0425426 534 Staroch Paul

From ublu@b1.complang.tuwien.ac.at Wed May 24 21:53:26 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 24 May 2006 21:53:26 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FizQ6-0004D5-6U
	for u0425426@b1.complang.tuwien.ac.at; Wed, 24 May 2006 21:53:26 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: AG, 3. Abgabe
Message-Id: <E1FizQ6-0004D5-6U@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 24 May 2006 21:53:26 +0200


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des AG-Beispiels: 30%.  Das
maximale Ergebnis ist 30%.  Das Programm lieferte fuer 0
Testfaelle das falsche Ergebnis (3% Abzug pro Fehler).

Nach 'make clean' gab es folgendes Ergebnis:
rm -rf oxout.y oxout.l parser.c scanner.c scanner.o parser.o symbol_table.o ag parser.h


'make' hatte folgendes zu melden:
ox parser.y scanner.lex
flex -o scanner.c oxout.l
yacc -d oxout.y -o parser.c
gcc -g -ansi -c scanner.c
gcc -g -ansi -c parser.c
gcc -g -ansi -c symbol_table.c
gcc -o ag scanner.o parser.o symbol_table.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann ihre Ausgabe
(nach "Ausgabe:"), dann der Rueckgabewert (nach "Status:") und
danach entweder "korrekt" oder der erwartete Rueckgabewert.

=====================================

Eingabe(a.0):
==============
func f(x)
 x ->
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(b.0):
==============
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> y; if y>1 then y -> exit; y+1 -> repeat ->
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(c.0):
==============
func x(a,b)
  1,2,3 -> start -> d,e,f;
    if a>b then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> 
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(d.0):
==============
func f(x)
  1 -> start -> a;
    if a=2 then
      3 -> exit;
    2-> repeat
  -> b;
  b -> 
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(e.0):
==============
/* hhh /* ggg */
func f(x)
 x ->
end;

--------

Ausgabe:
========
Line 1: Possibly nested comment (comment aleady started at line 1)

--------
Status: 0, korrekt

=====================================

Eingabe(f.0):
==============
/* this is a
   multiline comment
*/
func f(x)
 x ->
end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(g.0):
==============
func f(x)
  if x=x then
    1->y; y ->
  else
    2->y; y ->
  end
-> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(h.0):
==============
func f(x)
 x->y; y->z; z-> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(i.0):
==============
func f(x)
  1->start -> y;
    if x=0 then
      1 -> exit;
  2-> repeat -> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(j.0):
==============
func f(x)
  1->start
    ->start -> y;
    if x=0 then
      1 -> exit;
    if x=0 then
      1 -> exit;
    if x=0 then
      1 -> exit;
    y -> repeat
   -> start -> y;
    if x=0 then
      1 -> exit;
     y -> repeat ->z;
   if x=0 then
     2->exit;
  z->repeat
-> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(k.0):
==============
func f(x)
  1,2,3,4 -> a,b,c,*x;
  a-> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(l.0):
==============
func f(x)
  if x>0 then
    1,2,3 ->
  else
    4,5,6 ->
  end -> a,b,c;
  x -> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(m.0):
==============
func f(x)
  x -> start -> y;
    if x=0 then
      1,2,3 -> exit;
    if x=1 then
      2,3,4 -> exit;
  y+1 -> repeat -> a,b,c;
  x -> end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(n.0):
==============
func f(x)
  if x>0 then
    1->y; 2 ->
  else
    3->
  end -> y;
y->end;
--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(o.0):
==============
func f(x)
  1 -> start -> y;
    if x=0 then
      1,2,3 -> exit;
    if x>0 then
      4,5,6 -> exit;
  2 -> repeat -> a,b,c;
 x->end;
--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(p.0):
==============
func f(x)
  1,2 -> start -> y,z;
     if x>0 then
       3 -> exit;
     4,5 -> repeat -> a;
  x->end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(q.0):
==============
func x(a,b)
  1,2,3 -> start -> d,e,f;
    if a>b then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> /* 1 Wert */ end;

--------

Ausgabe:
========

--------
Status: 0, korrekt

=====================================

Eingabe(xa.1):
==============
func f(x)
 x -> #
end;

--------

Ausgabe:
========
Line 2: Illegal character

Processing input not successful
Lexical errors: 1
Lexical warnings: 0
Syntax errors: 0
Other errors: 0

--------
Status: 1, korrekt

=====================================

Eingabe(xb.1):
==============
func f(x)
 x ->
end;
/* never ending comment (but '/' is a lexical error)

--------

Ausgabe:
========
Line 5: EOF inside comment started at line 4

--------
Status: 1, korrekt

=====================================

Eingabe(ya.2):
==============
func f(x)
 x -->
end;

--------

Ausgabe:
========
Line 2: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0

--------
Status: 2, korrekt

=====================================

Eingabe(yb.2):
==============
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> if x>1 then x -> exit; x+1 -> repeat ->
end;

--------

Ausgabe:
========
Line 3: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0

--------
Status: 2, korrekt

=====================================

Eingabe(za.3):
==============
func f(x)
  if x>10 then x -> else y+10 -> end ->
end;

--------

Ausgabe:
========
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zb.3):
==============
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> repeat ->
end;

--------

Ausgabe:
========
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zc.3):
==============
func f(x,x)
  x-> end;

--------

Ausgabe:
========
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zd.3):
==============
func f(x)
  1->x; x-> end;

--------

Ausgabe:
========
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(ze.3):
==============
func f(x)
  1,2 -> y,y;
  x-> end;
 
--------

Ausgabe:
========
Identifier y redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zf.3):
==============
func f(x)
  x,2 -> y, *y;
  x-> end;

--------

Ausgabe:
========
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zg.3):
==============
func f(x)
  if x=0 then
    x->y; 1->
  else
    x->
  end -> z;
  y -> end;

--------

Ausgabe:
========
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zh.3):
==============
func f(x)
  x-> start -> y;
    if x=0 then
      x-> exit;
  1-> repeat -> z;
  y->end;

--------

Ausgabe:
========
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zi.3):
==============
func f(x)
  x-> start -> y;
    if x=0 then
      x->z; x->exit;
  z-> repeat -> w;
  1->end;

--------

Ausgabe:
========
Identifier z undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zj.3):
==============
func f(x)
  if x=0 then
    0 -> x; 1->
  else 
    2->
  end -> end;

--------

Ausgabe:
========
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zk.3):
==============
func f(x)
  x->y; 
  if x=0 then
    x-> exit;
  x-> end;

--------

Ausgabe:
========
IF-EXIT outside loop

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zl.3):
==============
func f(x)
  1 -> start -> repeat -> end;

--------

Ausgabe:
========
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zm.3):
==============
func f(x)
  1 -> start 
       -> start -> y;
       if x=0 then
          x->exit;
       x->repeat
  -> repeat -> end;

    
--------

Ausgabe:
========
Loop without IF-EXIT
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 2

--------
Status: 3, korrekt

=====================================

Eingabe(zn.3):
==============
func f(x)
  1,2,3 -> a,b;
  1-> end;

--------

Ausgabe:
========
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zo.3):
==============
func f(x)
  1,2 -> end;

--------

Ausgabe:
========
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zp.3):
==============
func f(x)
  if x=0 then
    1 ->
  else
    2,3 ->
  end
-> end;

--------

Ausgabe:
========
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zq.3):
==============
func f(x)
  1 -> start -> y;
    if x>0 then
      1,2 -> exit;
    if x=0 then
      3 -> exit;
    2->repeat -> a,b;
  b->end;

--------

Ausgabe:
========
Different output value count of IF-EXIT-statements

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt

=====================================

Eingabe(zr.3):
==============
func f(x)
  1,2 -> start -> y,z;
     if x>0 then
       3,4 -> exit;
     5 -> repeat -> a,b;
  x-> end;

--------

Ausgabe:
========
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1

--------
Status: 3, korrekt



From ublu@b1.complang.tuwien.ac.at Wed May 24 22:58:36 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 24 May 2006 22:58:36 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1Fj0RA-0004Vq-8r
	for u0425426@b1.complang.tuwien.ac.at; Wed, 24 May 2006 22:58:36 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Zwischenstand
Message-Id: <E1Fj0RA-0004Vq-8r@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 24 May 2006 22:58:36 +0200

Beispiel  1. Abgabe      2. Abgabe      3. Abgabe    Bestes    Gewichtet
         100%   100%    100%    70%    100%    30%
   asma 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
   asmb   0.00   0.00  100.00  70.00  100.00  30.00   70.00       7.000
scanner 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
 parser 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
     ag  90.00  90.00  100.00  70.00  100.00  30.00   90.00      22.500
 gesamt   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
   code   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
                                                     Summe:      59.500
Sie sind angemeldet: 
3 0425426 534 Staroch Paul

From ublu@b1.complang.tuwien.ac.at Wed May 31 17:04:57 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 31 May 2006 17:04:57 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FlSFl-0006uZ-71
	for u0425426@b1.complang.tuwien.ac.at; Wed, 31 May 2006 17:04:57 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Gesamt, 1. Abgabe
Message-Id: <E1FlSFl-0006uZ-71@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 31 May 2006 17:04:57 +0200


Achtung!!!

********************************************************************
Fuer dies Beispiel gibt es zwei Abgaben. Die maximal erreichbaren Punkte
sind 100% und 70%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Gesamt-Beispiels: 90%.  Das
maximale Ergebnis ist 100%.  Abzug pro Fehler: 10%.

'make' hatte folgendes zu melden:
 (make)--- make clean ---
rm -rf oxout.y oxout.l parser.c scanner.c scanner.o parser.o symbol_table.o gesamt parser.h code.c tree.o code.o code_gen.o
--- make ---
ox parser.y scanner.lex
yacc -d oxout.y -o parser.c
flex -o scanner.c oxout.l
gcc -ansi -pedantic -c scanner.c
gcc -ansi -pedantic -c parser.c
gcc -ansi -pedantic -c symbol_table.c
gcc -ansi -pedantic -c tree.c
gawk -f code.awk < code.bfe | iburg > code.c
gcc -ansi -pedantic -c code.c
gcc -ansi -pedantic -c code_gen.c
gcc -o gesamt scanner.o parser.o symbol_table.o tree.o code.o code_gen.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann ihre Ausgabe
(nach "Ausgabe:"), dann der Rueckgabewert (nach "Status:") und
danach entweder "korrekt" oder der erwartete Rueckgabewert.



##########################################

 1 ==========> Eingabe von a.0:
func f(x)
 5 ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $1, 5
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f();
ret=( 5==f());

==>Erzeugter Code korrekt


##########################################

 2 ==========> Eingabe von b.0:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> y; if y>1 then y -> exit; y+1 -> repeat ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $2, 10
	cmplt $2, $16, $2
	beq $2,ELSE_1
	mov $16, $1
	br ENDIF_1

ELSE_1:
	ldiq $2, 10
	addq $16, $2, $2
	mov $2, $1

ENDIF_1:
	mov $1, $3

STARTLOOP_1:
	mov $3, $17
	ldiq $4, 1
	cmplt $4, $17, $4
	beq $4,ENDIF_2
	mov $17, $2
	br ENDLOOP_1

ENDIF_2:
	ldiq $4, 1
	addq $17, $4, $4
	mov $4, $3
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 15==f(5));

==>Erzeugter Code korrekt


##########################################

 3 ==========> Eingabe von c.0:
func f(a)
  1,2,3 -> start -> d,e,f;
    if a>1 then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> 
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $1, 1
	ldiq $2, 2
	ldiq $3, 3
	mov $1, $5
	mov $2, $6
	mov $3, $7

STARTLOOP_1:
	mov $5, $17
	mov $6, $18
	mov $7, $19
	ldiq $23, 1
	cmplt $23, $16, $23
	beq $23,ELSE_1
	mov $17, $8
	mov $18, $22
	br ENDIF_1

ELSE_1:
	mov $18, $8
	mov $17, $22

ENDIF_1:
	mov $8, $20
	mov $22, $21
	cmplt $21, $20, $23
	beq $23,ENDIF_2
	mov $19, $4
	br ENDLOOP_1

ENDIF_2:
	mov $18, $5
	mov $19, $6
	mov $17, $7
	br STARTLOOP_1

ENDLOOP_1:
	mov $4, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 2==f(2));

==>Erzeugter Code korrekt


##########################################

 4 ==========> Eingabe von d.0:
func f(x)
  1 -> start -> a;
    if a=2 then
      3 -> exit;
    2-> repeat
  -> b;
  b+x -> 
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $1, 1
	mov $1, $3

STARTLOOP_1:
	mov $3, $17
	ldiq $4, 2
	cmpeq $4, $17, $4
	beq $4,ENDIF_1
	ldiq $4, 3
	mov $4, $2
	br ENDLOOP_1

ENDIF_1:
	ldiq $4, 2
	mov $4, $3
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $17
	addq $17, $16, $2
	mov $2, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 13==f(10));


==>Erzeugter Code korrekt


##########################################

 5 ==========> Eingabe von e.0:
/* hhh /* ggg */
func f(x)
 x+x+x ->
end;

bersetzung: Status korrekt

Ausgabe:
Line 1: Possibly nested comment (comment aleady started at line 1)
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	addq $16, $16, $1
	addq $1, $16, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:
testgesamtoutzz4566.s: Assembler messages:
testgesamtoutzz4566.s:1: Error: syntax error
Fehler beim Uebersetzen und Linken


##########################################

 6 ==========> Eingabe von f.0:
/* this is a
   multiline comment
*/
func f(x)
 x ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov $16, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 10==f(10));


==>Erzeugter Code korrekt


##########################################

 7 ==========> Eingabe von g.0:
func f(ap1,ap2)
 g((*ap1)+(*(ap2+8))) ->
end;

func g(x)
  x ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	lda $sp, -8($sp)
	stq $9, 0($sp)
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $11, 0($sp)
	lda $sp, -8($sp)
	stq $12, 0($sp)
	lda $sp, -8($sp)
	stq $13, 0($sp)
	lda $sp, -8($sp)
	stq $14, 0($sp)
	lda $sp, -8($sp)
	stq $15, 0($sp)
	mov $16, $9
	mov $17, $10
	ldq $1, 0($9)
	ldq $2, 8($10)
	addq $1, $2, $1
	mov $1, $16
	lda $sp, -8($sp)
	stq $26, 0($sp)
	jsr $26, g
	ldq $26, 0($sp)
	addq $sp, 8, $sp
	mov $0, $2
	mov $2, $0
	ldq $15, 0($sp)
	addq $sp, 8, $sp
	ldq $14, 0($sp)
	addq $sp, 8, $sp
	ldq $13, 0($sp)
	addq $sp, 8, $sp
	ldq $12, 0($sp)
	addq $sp, 8, $sp
	ldq $11, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	ldq $9, 0($sp)
	addq $sp, 8, $sp
	ret	
	.end f

	.globl g
	.ent g

g:
	mov $16, $0
	ret	
	.end g


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long *, long *);
ret=( 2008==f(a,a+1));


==>Erzeugter Code korrekt


##########################################

 8 ==========> Eingabe von h.0:
func f(x) -x -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	subq $31, $16, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( -10==f(10));

==>Erzeugter Code korrekt


##########################################

 9 ==========> Eingabe von i.0:
func f(x) *x -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldq $1, 0($16)
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:
In file included from /nfs/unsafe/ublu/abgabe/testgesamt/testmain.c:13:
/nfs/unsafe/ublu/abgabe/testgesamt/i.call: In function `call':
/nfs/unsafe/ublu/abgabe/testgesamt/i.call:2: warning: passing arg 1 of `f' makes integer from pointer without a cast

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 2==f(a));

==>Erzeugter Code korrekt


##########################################

 10 ==========> Eingabe von j.0:
func f(x,y,z) x+y+z -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	addq $16, $17, $1
	addq $1, $18, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long,long);
ret=( 7==f(1,2,4));

==>Erzeugter Code korrekt


##########################################

 11 ==========> Eingabe von k.0:
func f(x,y,z) x*y*z -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mulq $16, $17, $1
	mulq $1, $18, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long,long);
ret=( 30==f(2,3,5));

==>Erzeugter Code korrekt


##########################################

 12 ==========> Eingabe von l.0:
func f(x) g(x) -> end;
func g(x) 3 -> end;
bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	lda $sp, -8($sp)
	stq $9, 0($sp)
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $11, 0($sp)
	lda $sp, -8($sp)
	stq $12, 0($sp)
	lda $sp, -8($sp)
	stq $13, 0($sp)
	lda $sp, -8($sp)
	stq $14, 0($sp)
	lda $sp, -8($sp)
	stq $15, 0($sp)
	mov $16, $9
	mov $9, $16
	lda $sp, -8($sp)
	stq $26, 0($sp)
	jsr $26, g
	ldq $26, 0($sp)
	addq $sp, 8, $sp
	mov $0, $1
	mov $1, $0
	ldq $15, 0($sp)
	addq $sp, 8, $sp
	ldq $14, 0($sp)
	addq $sp, 8, $sp
	ldq $13, 0($sp)
	addq $sp, 8, $sp
	ldq $12, 0($sp)
	addq $sp, 8, $sp
	ldq $11, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	ldq $9, 0($sp)
	addq $sp, 8, $sp
	ret	
	.end f

	.globl g
	.ent g

g:
	ldiq $1, 3
	mov $1, $0
	ret	
	.end g


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 3==f(10));

==>Erzeugter Code korrekt


##########################################

 13 ==========> Eingabe von m.0:
func f(x,y)
  if x>y then
    x ->
  else
    y ->
  end ->
end;


bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	cmplt $17, $16, $2
	beq $2,ELSE_1
	mov $16, $1
	br ENDIF_1

ELSE_1:
	mov $17, $1

ENDIF_1:
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long);
ret=( 3==f(1,3) && 3==f(3,1));

==>Erzeugter Code korrekt


##########################################

 14 ==========> Eingabe von n.0:
func f(x,y)
  if not(x>y) then
    x ->
  else
    y ->
  end ->
end;


bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	cmplt $17, $16, $2

ENDNOT_1:
	mov 1,$3
	subq $3, $2, $2
	beq $2,ELSE_1
	mov $16, $1
	br ENDIF_1

ELSE_1:
	mov $17, $1

ENDIF_1:
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long);
ret=( 1==f(1,3) && 1==f(3,1));

==>Erzeugter Code korrekt


##########################################

 15 ==========> Eingabe von o.0:
func f(x,y,z)
  if x>y and y > g(z,x) then
    1 ->
  else
    2 ->
  end ->
end;

func g(x,y)
  y->*x;
  10 ->
end;


bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	lda $sp, -8($sp)
	stq $9, 0($sp)
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $11, 0($sp)
	lda $sp, -8($sp)
	stq $12, 0($sp)
	lda $sp, -8($sp)
	stq $13, 0($sp)
	lda $sp, -8($sp)
	stq $14, 0($sp)
	lda $sp, -8($sp)
	stq $15, 0($sp)
	mov $16, $9
	mov $17, $10
	mov $18, $11
	cmplt $10, $9, $2
	beq $2, ELSE_1
	mov $11, $16
	mov $9, $17
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $2, 0($sp)
	lda $sp, -8($sp)
	stq $26, 0($sp)
	jsr $26, g
	ldq $26, 0($sp)
	addq $sp, 8, $sp
	mov $0, $3
	ldq $2, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	cmplt $3, $10, $3
	beq $3,ELSE_1
	ldiq $3, 1
	mov $3, $1
	br ENDIF_1

ELSE_1:
	ldiq $3, 2
	mov $3, $1

ENDIF_1:
	mov $1, $0
	ldq $15, 0($sp)
	addq $sp, 8, $sp
	ldq $14, 0($sp)
	addq $sp, 8, $sp
	ldq $13, 0($sp)
	addq $sp, 8, $sp
	ldq $12, 0($sp)
	addq $sp, 8, $sp
	ldq $11, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	ldq $9, 0($sp)
	addq $sp, 8, $sp
	ret	
	.end f

	.globl g
	.ent g

g:
	stq $17, 0($16)
	ldiq $1, 10
	mov $1, $0
	ret	
	.end g


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long,long *);
ret=( f(1,2,a+1) == 2 && a[1]==5 &&
       f(2,1,a+1) == 2 && a[1]==2 &&
       f(12,11,a+1) == 1 && a[1]==12);

==>Erzeugter Code korrekt


##########################################

 16 ==========> Eingabe von p.0:
func f(x)
  if x>0 then
    1 ->
  else
    if x=0 then
      0 ->
    else
      -1 ->
    end ->
  end ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $2
	cmplt $2, $16, $2
	beq $2,ELSE_1
	ldiq $2, 1
	mov $2, $1
	br ENDIF_1

ELSE_1:
	mov 0, $3
	cmpeq $3, $16, $3
	beq $3,ELSE_2
	mov 0, $3
	mov $3, $2
	br ENDIF_2

ELSE_2:
	ldiq $3, -1
	mov $3, $2

ENDIF_2:
	mov $2, $1

ENDIF_1:
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 1==f(10) &&
       0==f(0) &&
      -1==f(-5));


==>Erzeugter Code korrekt


##########################################

 17 ==========> Eingabe von q.0:
func fib(n)
  0,1,n -> start -> a,b,i;
     if not i>0 then
       a -> exit;
     b, a+b, i+(-1) ->
  repeat ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl fib
	.ent fib

fib:
	mov 0, $1
	ldiq $2, 1
	mov $1, $4
	mov $2, $5
	mov $16, $6

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	mov $6, $19
	mov 0, $7
	cmplt $7, $19, $7

ENDNOT_1:
	mov 1,$8
	subq $8, $7, $7
	beq $7,ENDIF_1
	mov $17, $3
	br ENDLOOP_1

ENDIF_1:
	addq $17, $18, $7
	ldiq $8, 1
	subq $19, $8, $8
	mov $18, $4
	mov $7, $5
	mov $8, $6
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end fib


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 8 == fib(6));

==>Erzeugter Code korrekt


##########################################

 18 ==========> Eingabe von r.0:
func vprod(a,b,c,n) /* elementweises Produkt c = a*b */
  (n+(-1))*8 -> start -> x;
     if 0>x then
       c -> exit;
     (*(a+x)) * (*(b+x)) -> *(c+x);
     x+(-8) ->
  repeat ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl vprod
	.ent vprod

vprod:
	ldiq $1, 1
	subq $19, $1, $1
	ldiq $2, 8
	mulq $1, $2, $1
	mov $1, $3

STARTLOOP_1:
	mov $3, $20
	mov 0, $4
	cmplt $20, $4, $4
	beq $4,ENDIF_1
	mov $18, $2
	br ENDLOOP_1

ENDIF_1:
	addq $16, $20, $4
	ldq $4, 0($4)
	addq $17, $20, $5
	ldq $5, 0($5)
	mulq $4, $5, $4
	addq $18, $20, $5
	stq $4, 0($5)
	ldiq $4, 8
	subq $20, $4, $4
	mov $4, $3
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $0
	ret	
	.end vprod


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
long *vprod(long*, long*, long*, long);
long c[]={0,0,0};
long a[]={3,4,9};
long b[]={1,2,7};
long e[]={3,8,63};
long *r=vprod(a,b,c,3);
ret= (r==c && r[0]==e[0] && r[1]==e[1] && r[2]==e[2]);

==>Erzeugter Code korrekt


##########################################

 20 ==========> Eingabe von xa.1:
func f(x)
 x -> #
end;


Ausgabe:
Line 2: Illegal character

Processing input not successful
Lexical errors: 1
Lexical warnings: 0
Syntax errors: 0
Other errors: 0
==>Status: korrekt



##########################################

 21 ==========> Eingabe von xb.1:
func f(x)
 x ->
end;
/* never ending comment (but '/' is a lexical error)


Ausgabe:
Line 5: EOF inside comment started at line 4
==>Status: korrekt



##########################################

 22 ==========> Eingabe von ya.2:
func f(x)
 x -->
end;


Ausgabe:
Line 2: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0
==>Status: korrekt



##########################################

 23 ==========> Eingabe von yb.2:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> if x>1 then x -> exit; x+1 -> repeat ->
end;


Ausgabe:
Line 3: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0
==>Status: korrekt



##########################################

 24 ==========> Eingabe von za.3:
func f(x)
  if x>10 then x -> else y+10 -> end ->
end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 25 ==========> Eingabe von zb.3:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> repeat ->
end;


Ausgabe:
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 26 ==========> Eingabe von zc.3:
func f(x,x)
  x-> end;


Ausgabe:
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 27 ==========> Eingabe von zd.3:
func f(x)
  1->x; x-> end;


Ausgabe:
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 28 ==========> Eingabe von ze.3:
func f(x)
  1,2 -> y,y;
  x-> end;
 

Ausgabe:
Identifier y redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 29 ==========> Eingabe von zf.3:
func f(x)
  x,2 -> y, *y;
  x-> end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 30 ==========> Eingabe von zg.3:
func f(x)
  if x=0 then
    x->y; 1->
  else
    x->
  end -> z;
  y -> end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 31 ==========> Eingabe von zh.3:
func f(x)
  x-> start -> y;
    if x=0 then
      x-> exit;
  1-> repeat -> z;
  y->end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 32 ==========> Eingabe von zi.3:
func f(x)
  x-> start -> y;
    if x=0 then
      x->z; x->exit;
  z-> repeat -> w;
  1->end;


Ausgabe:
Identifier z undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 33 ==========> Eingabe von zj.3:
func f(x)
  if x=0 then
    0 -> x; 1->
  else 
    2->
  end -> end;


Ausgabe:
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 34 ==========> Eingabe von zk.3:
func f(x)
  x->y; 
  if x=0 then
    x-> exit;
  x-> end;


Ausgabe:
IF-EXIT outside loop

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 35 ==========> Eingabe von zl.3:
func f(x)
  1 -> start -> repeat -> end;


Ausgabe:
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 36 ==========> Eingabe von zm.3:
func f(x)
  1 -> start 
       -> start -> y;
       if x=0 then
          x->exit;
       x->repeat
  -> repeat -> end;

    

Ausgabe:
Loop without IF-EXIT
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 2
==>Status: korrekt



##########################################

 37 ==========> Eingabe von zn.3:
func f(x)
  1,2,3 -> a,b;
  1-> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 38 ==========> Eingabe von zo.3:
func f(x)
  1,2 -> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 39 ==========> Eingabe von zp.3:
func f(x)
  if x=0 then
    1 ->
  else
    2,3 ->
  end
-> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 40 ==========> Eingabe von zq.3:
func f(x)
  1 -> start -> y;
    if x>0 then
      1,2 -> exit;
    if x=0 then
      3 -> exit;
    2->repeat -> a,b;
  b->end;


Ausgabe:
Different output value count of IF-EXIT-statements

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 41 ==========> Eingabe von zr.3:
func f(x)
  1,2 -> start -> y,z;
     if x>0 then
       3,4 -> exit;
     5 -> repeat -> a,b;
  x-> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt


Gesamtergebnis:
Fehler: 1
Ergebnis: 90 Prozent.



From ublu@b1.complang.tuwien.ac.at Wed May 31 19:14:17 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 31 May 2006 19:14:17 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FlUGv-0002cX-O1
	for u0425426@b1.complang.tuwien.ac.at; Wed, 31 May 2006 19:14:17 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Zwischenstand
Message-Id: <E1FlUGv-0002cX-O1@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 31 May 2006 19:14:17 +0200

Beispiel  1. Abgabe      2. Abgabe      3. Abgabe    Bestes    Gewichtet
         100%   100%    100%    70%    100%    30%
   asma 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
   asmb   0.00   0.00  100.00  70.00  100.00  30.00   70.00       7.000
scanner 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
 parser 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
     ag  90.00  90.00  100.00  70.00  100.00  30.00   90.00      22.500
 gesamt  90.00  90.00    0.00   0.00    0.00   0.00   90.00      27.000
   code   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
                                                     Summe:      86.500
Sie sind angemeldet: 
3 0425426 534 Staroch Paul

From ublu@b1.complang.tuwien.ac.at Wed May 31 20:24:58 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 31 May 2006 20:24:58 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FlVNK-0003bG-OT
	for u0425426@b1.complang.tuwien.ac.at; Wed, 31 May 2006 20:24:58 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Gesamt, 1. Abgabe (stderr wird ignoriert)
Message-Id: <E1FlVNK-0003bG-OT@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 31 May 2006 20:24:58 +0200


Achtung!!!

********************************************************************
Fuer dies Beispiel gibt es zwei Abgaben. Die maximal erreichbaren Punkte
sind 100% und 70%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Gesamt-Beispiels: 100%.  Das
maximale Ergebnis ist 100%.  Abzug pro Fehler: 10%.

'make' hatte folgendes zu melden:
 (make)--- make clean ---
rm -rf oxout.y oxout.l parser.c scanner.c scanner.o parser.o symbol_table.o gesamt parser.h code.c tree.o code.o code_gen.o
--- make ---
ox parser.y scanner.lex
yacc -d oxout.y -o parser.c
flex -o scanner.c oxout.l
gcc -ansi -pedantic -c scanner.c
gcc -ansi -pedantic -c parser.c
gcc -ansi -pedantic -c symbol_table.c
gcc -ansi -pedantic -c tree.c
gawk -f code.awk < code.bfe | iburg > code.c
gcc -ansi -pedantic -c code.c
gcc -ansi -pedantic -c code_gen.c
gcc -o gesamt scanner.o parser.o symbol_table.o tree.o code.o code_gen.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann ihre Ausgabe
(nach "Ausgabe:"), dann der Rueckgabewert (nach "Status:") und
danach entweder "korrekt" oder der erwartete Rueckgabewert.



##########################################

 1 ==========> Eingabe von a.0:
func f(x)
 5 ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $1, 5
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f();
ret=( 5==f());

==>Erzeugter Code korrekt


##########################################

 2 ==========> Eingabe von b.0:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> y; if y>1 then y -> exit; y+1 -> repeat ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $2, 10
	cmplt $2, $16, $2
	beq $2,ELSE_1
	mov $16, $1
	br ENDIF_1

ELSE_1:
	ldiq $2, 10
	addq $16, $2, $2
	mov $2, $1

ENDIF_1:
	mov $1, $3

STARTLOOP_1:
	mov $3, $17
	ldiq $4, 1
	cmplt $4, $17, $4
	beq $4,ENDIF_2
	mov $17, $2
	br ENDLOOP_1

ENDIF_2:
	ldiq $4, 1
	addq $17, $4, $4
	mov $4, $3
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 15==f(5));

==>Erzeugter Code korrekt


##########################################

 3 ==========> Eingabe von c.0:
func f(a)
  1,2,3 -> start -> d,e,f;
    if a>1 then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> 
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $1, 1
	ldiq $2, 2
	ldiq $3, 3
	mov $1, $5
	mov $2, $6
	mov $3, $7

STARTLOOP_1:
	mov $5, $17
	mov $6, $18
	mov $7, $19
	ldiq $23, 1
	cmplt $23, $16, $23
	beq $23,ELSE_1
	mov $17, $8
	mov $18, $22
	br ENDIF_1

ELSE_1:
	mov $18, $8
	mov $17, $22

ENDIF_1:
	mov $8, $20
	mov $22, $21
	cmplt $21, $20, $23
	beq $23,ENDIF_2
	mov $19, $4
	br ENDLOOP_1

ENDIF_2:
	mov $18, $5
	mov $19, $6
	mov $17, $7
	br STARTLOOP_1

ENDLOOP_1:
	mov $4, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 2==f(2));

==>Erzeugter Code korrekt


##########################################

 4 ==========> Eingabe von d.0:
func f(x)
  1 -> start -> a;
    if a=2 then
      3 -> exit;
    2-> repeat
  -> b;
  b+x -> 
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $1, 1
	mov $1, $3

STARTLOOP_1:
	mov $3, $17
	ldiq $4, 2
	cmpeq $4, $17, $4
	beq $4,ENDIF_1
	ldiq $4, 3
	mov $4, $2
	br ENDLOOP_1

ENDIF_1:
	ldiq $4, 2
	mov $4, $3
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $17
	addq $17, $16, $2
	mov $2, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 13==f(10));


==>Erzeugter Code korrekt


##########################################

 5 ==========> Eingabe von e.0:
/* hhh /* ggg */
func f(x)
 x+x+x ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	addq $16, $16, $1
	addq $1, $16, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 30==f(10));


==>Erzeugter Code korrekt


##########################################

 6 ==========> Eingabe von f.0:
/* this is a
   multiline comment
*/
func f(x)
 x ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov $16, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 10==f(10));


==>Erzeugter Code korrekt


##########################################

 7 ==========> Eingabe von g.0:
func f(ap1,ap2)
 g((*ap1)+(*(ap2+8))) ->
end;

func g(x)
  x ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	lda $sp, -8($sp)
	stq $9, 0($sp)
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $11, 0($sp)
	lda $sp, -8($sp)
	stq $12, 0($sp)
	lda $sp, -8($sp)
	stq $13, 0($sp)
	lda $sp, -8($sp)
	stq $14, 0($sp)
	lda $sp, -8($sp)
	stq $15, 0($sp)
	mov $16, $9
	mov $17, $10
	ldq $1, 0($9)
	ldq $2, 8($10)
	addq $1, $2, $1
	mov $1, $16
	lda $sp, -8($sp)
	stq $26, 0($sp)
	jsr $26, g
	ldq $26, 0($sp)
	addq $sp, 8, $sp
	mov $0, $2
	mov $2, $0
	ldq $15, 0($sp)
	addq $sp, 8, $sp
	ldq $14, 0($sp)
	addq $sp, 8, $sp
	ldq $13, 0($sp)
	addq $sp, 8, $sp
	ldq $12, 0($sp)
	addq $sp, 8, $sp
	ldq $11, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	ldq $9, 0($sp)
	addq $sp, 8, $sp
	ret	
	.end f

	.globl g
	.ent g

g:
	mov $16, $0
	ret	
	.end g


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long *, long *);
ret=( 2008==f(a,a+1));


==>Erzeugter Code korrekt


##########################################

 8 ==========> Eingabe von h.0:
func f(x) -x -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	subq $31, $16, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( -10==f(10));

==>Erzeugter Code korrekt


##########################################

 9 ==========> Eingabe von i.0:
func f(x) *x -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldq $1, 0($16)
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:
In file included from /nfs/unsafe/ublu/abgabe/testgesamt/testmain.c:13:
/nfs/unsafe/ublu/abgabe/testgesamt/i.call: In function `call':
/nfs/unsafe/ublu/abgabe/testgesamt/i.call:2: warning: passing arg 1 of `f' makes integer from pointer without a cast

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 2==f(a));

==>Erzeugter Code korrekt


##########################################

 10 ==========> Eingabe von j.0:
func f(x,y,z) x+y+z -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	addq $16, $17, $1
	addq $1, $18, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long,long);
ret=( 7==f(1,2,4));

==>Erzeugter Code korrekt


##########################################

 11 ==========> Eingabe von k.0:
func f(x,y,z) x*y*z -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mulq $16, $17, $1
	mulq $1, $18, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long,long);
ret=( 30==f(2,3,5));

==>Erzeugter Code korrekt


##########################################

 12 ==========> Eingabe von l.0:
func f(x) g(x) -> end;
func g(x) 3 -> end;
bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	lda $sp, -8($sp)
	stq $9, 0($sp)
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $11, 0($sp)
	lda $sp, -8($sp)
	stq $12, 0($sp)
	lda $sp, -8($sp)
	stq $13, 0($sp)
	lda $sp, -8($sp)
	stq $14, 0($sp)
	lda $sp, -8($sp)
	stq $15, 0($sp)
	mov $16, $9
	mov $9, $16
	lda $sp, -8($sp)
	stq $26, 0($sp)
	jsr $26, g
	ldq $26, 0($sp)
	addq $sp, 8, $sp
	mov $0, $1
	mov $1, $0
	ldq $15, 0($sp)
	addq $sp, 8, $sp
	ldq $14, 0($sp)
	addq $sp, 8, $sp
	ldq $13, 0($sp)
	addq $sp, 8, $sp
	ldq $12, 0($sp)
	addq $sp, 8, $sp
	ldq $11, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	ldq $9, 0($sp)
	addq $sp, 8, $sp
	ret	
	.end f

	.globl g
	.ent g

g:
	ldiq $1, 3
	mov $1, $0
	ret	
	.end g


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 3==f(10));

==>Erzeugter Code korrekt


##########################################

 13 ==========> Eingabe von m.0:
func f(x,y)
  if x>y then
    x ->
  else
    y ->
  end ->
end;


bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	cmplt $17, $16, $2
	beq $2,ELSE_1
	mov $16, $1
	br ENDIF_1

ELSE_1:
	mov $17, $1

ENDIF_1:
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long);
ret=( 3==f(1,3) && 3==f(3,1));

==>Erzeugter Code korrekt


##########################################

 14 ==========> Eingabe von n.0:
func f(x,y)
  if not(x>y) then
    x ->
  else
    y ->
  end ->
end;


bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	cmplt $17, $16, $2

ENDNOT_1:
	mov 1,$3
	subq $3, $2, $2
	beq $2,ELSE_1
	mov $16, $1
	br ENDIF_1

ELSE_1:
	mov $17, $1

ENDIF_1:
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long);
ret=( 1==f(1,3) && 1==f(3,1));

==>Erzeugter Code korrekt


##########################################

 15 ==========> Eingabe von o.0:
func f(x,y,z)
  if x>y and y > g(z,x) then
    1 ->
  else
    2 ->
  end ->
end;

func g(x,y)
  y->*x;
  10 ->
end;


bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	lda $sp, -8($sp)
	stq $9, 0($sp)
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $11, 0($sp)
	lda $sp, -8($sp)
	stq $12, 0($sp)
	lda $sp, -8($sp)
	stq $13, 0($sp)
	lda $sp, -8($sp)
	stq $14, 0($sp)
	lda $sp, -8($sp)
	stq $15, 0($sp)
	mov $16, $9
	mov $17, $10
	mov $18, $11
	cmplt $10, $9, $2
	beq $2, ELSE_1
	mov $11, $16
	mov $9, $17
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $2, 0($sp)
	lda $sp, -8($sp)
	stq $26, 0($sp)
	jsr $26, g
	ldq $26, 0($sp)
	addq $sp, 8, $sp
	mov $0, $3
	ldq $2, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	cmplt $3, $10, $3
	beq $3,ELSE_1
	ldiq $3, 1
	mov $3, $1
	br ENDIF_1

ELSE_1:
	ldiq $3, 2
	mov $3, $1

ENDIF_1:
	mov $1, $0
	ldq $15, 0($sp)
	addq $sp, 8, $sp
	ldq $14, 0($sp)
	addq $sp, 8, $sp
	ldq $13, 0($sp)
	addq $sp, 8, $sp
	ldq $12, 0($sp)
	addq $sp, 8, $sp
	ldq $11, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	ldq $9, 0($sp)
	addq $sp, 8, $sp
	ret	
	.end f

	.globl g
	.ent g

g:
	stq $17, 0($16)
	ldiq $1, 10
	mov $1, $0
	ret	
	.end g


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long,long *);
ret=( f(1,2,a+1) == 2 && a[1]==5 &&
       f(2,1,a+1) == 2 && a[1]==2 &&
       f(12,11,a+1) == 1 && a[1]==12);

==>Erzeugter Code korrekt


##########################################

 16 ==========> Eingabe von p.0:
func f(x)
  if x>0 then
    1 ->
  else
    if x=0 then
      0 ->
    else
      -1 ->
    end ->
  end ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $2
	cmplt $2, $16, $2
	beq $2,ELSE_1
	ldiq $2, 1
	mov $2, $1
	br ENDIF_1

ELSE_1:
	mov 0, $3
	cmpeq $3, $16, $3
	beq $3,ELSE_2
	mov 0, $3
	mov $3, $2
	br ENDIF_2

ELSE_2:
	ldiq $3, -1
	mov $3, $2

ENDIF_2:
	mov $2, $1

ENDIF_1:
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 1==f(10) &&
       0==f(0) &&
      -1==f(-5));


==>Erzeugter Code korrekt


##########################################

 17 ==========> Eingabe von q.0:
func fib(n)
  0,1,n -> start -> a,b,i;
     if not i>0 then
       a -> exit;
     b, a+b, i+(-1) ->
  repeat ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl fib
	.ent fib

fib:
	mov 0, $1
	ldiq $2, 1
	mov $1, $4
	mov $2, $5
	mov $16, $6

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	mov $6, $19
	mov 0, $7
	cmplt $7, $19, $7

ENDNOT_1:
	mov 1,$8
	subq $8, $7, $7
	beq $7,ENDIF_1
	mov $17, $3
	br ENDLOOP_1

ENDIF_1:
	addq $17, $18, $7
	ldiq $8, 1
	subq $19, $8, $8
	mov $18, $4
	mov $7, $5
	mov $8, $6
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end fib


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 8 == fib(6));

==>Erzeugter Code korrekt


##########################################

 18 ==========> Eingabe von r.0:
func vprod(a,b,c,n) /* elementweises Produkt c = a*b */
  (n+(-1))*8 -> start -> x;
     if 0>x then
       c -> exit;
     (*(a+x)) * (*(b+x)) -> *(c+x);
     x+(-8) ->
  repeat ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl vprod
	.ent vprod

vprod:
	ldiq $1, 1
	subq $19, $1, $1
	ldiq $2, 8
	mulq $1, $2, $1
	mov $1, $3

STARTLOOP_1:
	mov $3, $20
	mov 0, $4
	cmplt $20, $4, $4
	beq $4,ENDIF_1
	mov $18, $2
	br ENDLOOP_1

ENDIF_1:
	addq $16, $20, $4
	ldq $4, 0($4)
	addq $17, $20, $5
	ldq $5, 0($5)
	mulq $4, $5, $4
	addq $18, $20, $5
	stq $4, 0($5)
	ldiq $4, 8
	subq $20, $4, $4
	mov $4, $3
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $0
	ret	
	.end vprod


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
long *vprod(long*, long*, long*, long);
long c[]={0,0,0};
long a[]={3,4,9};
long b[]={1,2,7};
long e[]={3,8,63};
long *r=vprod(a,b,c,3);
ret= (r==c && r[0]==e[0] && r[1]==e[1] && r[2]==e[2]);

==>Erzeugter Code korrekt


##########################################

 20 ==========> Eingabe von xa.1:
func f(x)
 x -> #
end;


Ausgabe:
Line 2: Illegal character

Processing input not successful
Lexical errors: 1
Lexical warnings: 0
Syntax errors: 0
Other errors: 0
==>Status: korrekt



##########################################

 21 ==========> Eingabe von xb.1:
func f(x)
 x ->
end;
/* never ending comment (but '/' is a lexical error)


Ausgabe:
Line 5: EOF inside comment started at line 4
==>Status: korrekt



##########################################

 22 ==========> Eingabe von ya.2:
func f(x)
 x -->
end;


Ausgabe:
Line 2: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0
==>Status: korrekt



##########################################

 23 ==========> Eingabe von yb.2:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> if x>1 then x -> exit; x+1 -> repeat ->
end;


Ausgabe:
Line 3: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0
==>Status: korrekt



##########################################

 24 ==========> Eingabe von za.3:
func f(x)
  if x>10 then x -> else y+10 -> end ->
end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 25 ==========> Eingabe von zb.3:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> repeat ->
end;


Ausgabe:
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 26 ==========> Eingabe von zc.3:
func f(x,x)
  x-> end;


Ausgabe:
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 27 ==========> Eingabe von zd.3:
func f(x)
  1->x; x-> end;


Ausgabe:
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 28 ==========> Eingabe von ze.3:
func f(x)
  1,2 -> y,y;
  x-> end;
 

Ausgabe:
Identifier y redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 29 ==========> Eingabe von zf.3:
func f(x)
  x,2 -> y, *y;
  x-> end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 30 ==========> Eingabe von zg.3:
func f(x)
  if x=0 then
    x->y; 1->
  else
    x->
  end -> z;
  y -> end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 31 ==========> Eingabe von zh.3:
func f(x)
  x-> start -> y;
    if x=0 then
      x-> exit;
  1-> repeat -> z;
  y->end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 32 ==========> Eingabe von zi.3:
func f(x)
  x-> start -> y;
    if x=0 then
      x->z; x->exit;
  z-> repeat -> w;
  1->end;


Ausgabe:
Identifier z undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 33 ==========> Eingabe von zj.3:
func f(x)
  if x=0 then
    0 -> x; 1->
  else 
    2->
  end -> end;


Ausgabe:
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 34 ==========> Eingabe von zk.3:
func f(x)
  x->y; 
  if x=0 then
    x-> exit;
  x-> end;


Ausgabe:
IF-EXIT outside loop

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 35 ==========> Eingabe von zl.3:
func f(x)
  1 -> start -> repeat -> end;


Ausgabe:
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 36 ==========> Eingabe von zm.3:
func f(x)
  1 -> start 
       -> start -> y;
       if x=0 then
          x->exit;
       x->repeat
  -> repeat -> end;

    

Ausgabe:
Loop without IF-EXIT
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 2
==>Status: korrekt



##########################################

 37 ==========> Eingabe von zn.3:
func f(x)
  1,2,3 -> a,b;
  1-> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 38 ==========> Eingabe von zo.3:
func f(x)
  1,2 -> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 39 ==========> Eingabe von zp.3:
func f(x)
  if x=0 then
    1 ->
  else
    2,3 ->
  end
-> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 40 ==========> Eingabe von zq.3:
func f(x)
  1 -> start -> y;
    if x>0 then
      1,2 -> exit;
    if x=0 then
      3 -> exit;
    2->repeat -> a,b;
  b->end;


Ausgabe:
Different output value count of IF-EXIT-statements

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 41 ==========> Eingabe von zr.3:
func f(x)
  1,2 -> start -> y,z;
     if x>0 then
       3,4 -> exit;
     5 -> repeat -> a,b;
  x-> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt


Gesamtergebnis:
Fehler: 0
Ergebnis: 100 Prozent.



From ublu@b1.complang.tuwien.ac.at Wed May 31 20:29:15 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 31 May 2006 20:29:15 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FlVRS-0003is-Vg
	for u0425426@b1.complang.tuwien.ac.at; Wed, 31 May 2006 20:29:15 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Zwischenstand
Message-Id: <E1FlVRS-0003is-Vg@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 31 May 2006 20:29:14 +0200

Beispiel  1. Abgabe      2. Abgabe      3. Abgabe    Bestes    Gewichtet
         100%   100%    100%    70%    100%    30%
   asma 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
   asmb   0.00   0.00  100.00  70.00  100.00  30.00   70.00       7.000
scanner 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
 parser 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
     ag  90.00  90.00  100.00  70.00  100.00  30.00   90.00      22.500
 gesamt 100.00 100.00    0.00   0.00    0.00   0.00  100.00      30.000
   code   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
                                                     Summe:      89.500
Sie sind angemeldet: 
3 0425426 534 Staroch Paul

From ublu@b1.complang.tuwien.ac.at Wed Jun 07 17:26:26 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 07 Jun 2006 17:26:26 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FnzvO-0003UY-6o
	for u0425426@b1.complang.tuwien.ac.at; Wed, 07 Jun 2006 17:26:26 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Gesamt, 2. Abgabe
Message-Id: <E1FnzvO-0003UY-6o@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 07 Jun 2006 17:26:26 +0200


Achtung!!!

********************************************************************
Fuer dies Beispiel gibt es zwei Abgaben. Die maximal erreichbaren Punkte
sind 100% und 70%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Gesamt-Beispiels: 70%.  Das
maximale Ergebnis ist 70%.  Abzug pro Fehler: 7%.

'make' hatte folgendes zu melden:
 (make)--- make clean ---
rm -rf oxout.y oxout.l parser.c scanner.c scanner.o parser.o symbol_table.o gesamt parser.h code.c tree.o code.o code_gen.o
--- make ---
ox parser.y scanner.lex
yacc -d oxout.y -o parser.c
flex -o scanner.c oxout.l
gcc -ansi -pedantic -c scanner.c
gcc -ansi -pedantic -c parser.c
gcc -ansi -pedantic -c symbol_table.c
gcc -ansi -pedantic -c tree.c
gawk -f code.awk < code.bfe | iburg > code.c
gcc -ansi -pedantic -c code.c
gcc -ansi -pedantic -c code_gen.c
gcc -o gesamt scanner.o parser.o symbol_table.o tree.o code.o code_gen.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann ihre Ausgabe
(nach "Ausgabe:"), dann der Rueckgabewert (nach "Status:") und
danach entweder "korrekt" oder der erwartete Rueckgabewert.



##########################################

 1 ==========> Eingabe von a.0:
func f(x)
 5 ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $1, 5
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f();
ret=( 5==f());

==>Erzeugter Code korrekt


##########################################

 2 ==========> Eingabe von b.0:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> y; if y>1 then y -> exit; y+1 -> repeat ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $2, 10
	cmplt $2, $16, $2
	beq $2,ELSE_1
	mov $16, $1
	br ENDIF_1

ELSE_1:
	ldiq $2, 10
	addq $16, $2, $2
	mov $2, $1

ENDIF_1:
	mov $1, $3

STARTLOOP_1:
	mov $3, $17
	ldiq $4, 1
	cmplt $4, $17, $4
	beq $4,ENDIF_2
	mov $17, $2
	br ENDLOOP_1

ENDIF_2:
	ldiq $4, 1
	addq $17, $4, $4
	mov $4, $3
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 15==f(5));

==>Erzeugter Code korrekt


##########################################

 3 ==========> Eingabe von c.0:
func f(a)
  1,2,3 -> start -> d,e,f;
    if a>1 then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> 
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $1, 1
	ldiq $2, 2
	ldiq $3, 3
	mov $1, $5
	mov $2, $6
	mov $3, $7

STARTLOOP_1:
	mov $5, $17
	mov $6, $18
	mov $7, $19
	ldiq $23, 1
	cmplt $23, $16, $23
	beq $23,ELSE_1
	mov $17, $8
	mov $18, $22
	br ENDIF_1

ELSE_1:
	mov $18, $8
	mov $17, $22

ENDIF_1:
	mov $8, $20
	mov $22, $21
	cmplt $21, $20, $23
	beq $23,ENDIF_2
	mov $19, $4
	br ENDLOOP_1

ENDIF_2:
	mov $18, $5
	mov $19, $6
	mov $17, $7
	br STARTLOOP_1

ENDLOOP_1:
	mov $4, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 2==f(2));

==>Erzeugter Code korrekt


##########################################

 4 ==========> Eingabe von d.0:
func f(x)
  1 -> start -> a;
    if a=2 then
      3 -> exit;
    2-> repeat
  -> b;
  b+x -> 
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $1, 1
	mov $1, $3

STARTLOOP_1:
	mov $3, $17
	ldiq $4, 2
	cmpeq $4, $17, $4
	beq $4,ENDIF_1
	ldiq $4, 3
	mov $4, $2
	br ENDLOOP_1

ENDIF_1:
	ldiq $4, 2
	mov $4, $3
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $17
	addq $17, $16, $2
	mov $2, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 13==f(10));


==>Erzeugter Code korrekt


##########################################

 5 ==========> Eingabe von e.0:
/* hhh /* ggg */
func f(x)
 x+x+x ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	addq $16, $16, $1
	addq $1, $16, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 30==f(10));


==>Erzeugter Code korrekt


##########################################

 6 ==========> Eingabe von f.0:
/* this is a
   multiline comment
*/
func f(x)
 x ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov $16, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 10==f(10));


==>Erzeugter Code korrekt


##########################################

 7 ==========> Eingabe von g.0:
func f(ap1,ap2)
 g((*ap1)+(*(ap2+8))) ->
end;

func g(x)
  x ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	lda $sp, -8($sp)
	stq $9, 0($sp)
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $11, 0($sp)
	lda $sp, -8($sp)
	stq $12, 0($sp)
	lda $sp, -8($sp)
	stq $13, 0($sp)
	lda $sp, -8($sp)
	stq $14, 0($sp)
	lda $sp, -8($sp)
	stq $15, 0($sp)
	mov $16, $9
	mov $17, $10
	ldq $1, 0($9)
	ldq $2, 8($10)
	addq $1, $2, $1
	mov $1, $16
	lda $sp, -8($sp)
	stq $26, 0($sp)
	jsr $26, g
	ldq $26, 0($sp)
	addq $sp, 8, $sp
	mov $0, $2
	mov $2, $0
	ldq $15, 0($sp)
	addq $sp, 8, $sp
	ldq $14, 0($sp)
	addq $sp, 8, $sp
	ldq $13, 0($sp)
	addq $sp, 8, $sp
	ldq $12, 0($sp)
	addq $sp, 8, $sp
	ldq $11, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	ldq $9, 0($sp)
	addq $sp, 8, $sp
	ret	
	.end f

	.globl g
	.ent g

g:
	mov $16, $0
	ret	
	.end g


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long *, long *);
ret=( 2008==f(a,a+1));


==>Erzeugter Code korrekt


##########################################

 8 ==========> Eingabe von h.0:
func f(x) -x -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	subq $31, $16, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( -10==f(10));

==>Erzeugter Code korrekt


##########################################

 9 ==========> Eingabe von i.0:
func f(x) *x -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldq $1, 0($16)
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:
In file included from /nfs/unsafe/ublu/abgabe/testgesamt/testmain.c:13:
/nfs/unsafe/ublu/abgabe/testgesamt/i.call: In function `call':
/nfs/unsafe/ublu/abgabe/testgesamt/i.call:2: warning: passing arg 1 of `f' makes integer from pointer without a cast

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 2==f(a));

==>Erzeugter Code korrekt


##########################################

 10 ==========> Eingabe von j.0:
func f(x,y,z) x+y+z -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	addq $16, $17, $1
	addq $1, $18, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long,long);
ret=( 7==f(1,2,4));

==>Erzeugter Code korrekt


##########################################

 11 ==========> Eingabe von k.0:
func f(x,y,z) x*y*z -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mulq $16, $17, $1
	mulq $1, $18, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long,long);
ret=( 30==f(2,3,5));

==>Erzeugter Code korrekt


##########################################

 12 ==========> Eingabe von l.0:
func f(x) g(x) -> end;
func g(x) 3 -> end;
bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	lda $sp, -8($sp)
	stq $9, 0($sp)
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $11, 0($sp)
	lda $sp, -8($sp)
	stq $12, 0($sp)
	lda $sp, -8($sp)
	stq $13, 0($sp)
	lda $sp, -8($sp)
	stq $14, 0($sp)
	lda $sp, -8($sp)
	stq $15, 0($sp)
	mov $16, $9
	mov $9, $16
	lda $sp, -8($sp)
	stq $26, 0($sp)
	jsr $26, g
	ldq $26, 0($sp)
	addq $sp, 8, $sp
	mov $0, $1
	mov $1, $0
	ldq $15, 0($sp)
	addq $sp, 8, $sp
	ldq $14, 0($sp)
	addq $sp, 8, $sp
	ldq $13, 0($sp)
	addq $sp, 8, $sp
	ldq $12, 0($sp)
	addq $sp, 8, $sp
	ldq $11, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	ldq $9, 0($sp)
	addq $sp, 8, $sp
	ret	
	.end f

	.globl g
	.ent g

g:
	ldiq $1, 3
	mov $1, $0
	ret	
	.end g


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 3==f(10));

==>Erzeugter Code korrekt


##########################################

 13 ==========> Eingabe von m.0:
func f(x,y)
  if x>y then
    x ->
  else
    y ->
  end ->
end;


bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	cmplt $17, $16, $2
	beq $2,ELSE_1
	mov $16, $1
	br ENDIF_1

ELSE_1:
	mov $17, $1

ENDIF_1:
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long);
ret=( 3==f(1,3) && 3==f(3,1));

==>Erzeugter Code korrekt


##########################################

 14 ==========> Eingabe von n.0:
func f(x,y)
  if not(x>y) then
    x ->
  else
    y ->
  end ->
end;


bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	cmplt $17, $16, $2

ENDNOT_1:
	mov 1,$3
	subq $3, $2, $2
	beq $2,ELSE_1
	mov $16, $1
	br ENDIF_1

ELSE_1:
	mov $17, $1

ENDIF_1:
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long);
ret=( 1==f(1,3) && 1==f(3,1));

==>Erzeugter Code korrekt


##########################################

 15 ==========> Eingabe von o.0:
func f(x,y,z)
  if x>y and y > g(z,x) then
    1 ->
  else
    2 ->
  end ->
end;

func g(x,y)
  y->*x;
  10 ->
end;


bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	lda $sp, -8($sp)
	stq $9, 0($sp)
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $11, 0($sp)
	lda $sp, -8($sp)
	stq $12, 0($sp)
	lda $sp, -8($sp)
	stq $13, 0($sp)
	lda $sp, -8($sp)
	stq $14, 0($sp)
	lda $sp, -8($sp)
	stq $15, 0($sp)
	mov $16, $9
	mov $17, $10
	mov $18, $11
	cmplt $10, $9, $2
	beq $2, ELSE_1
	mov $11, $16
	mov $9, $17
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $2, 0($sp)
	lda $sp, -8($sp)
	stq $26, 0($sp)
	jsr $26, g
	ldq $26, 0($sp)
	addq $sp, 8, $sp
	mov $0, $3
	ldq $2, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	cmplt $3, $10, $3
	beq $3,ELSE_1
	ldiq $3, 1
	mov $3, $1
	br ENDIF_1

ELSE_1:
	ldiq $3, 2
	mov $3, $1

ENDIF_1:
	mov $1, $0
	ldq $15, 0($sp)
	addq $sp, 8, $sp
	ldq $14, 0($sp)
	addq $sp, 8, $sp
	ldq $13, 0($sp)
	addq $sp, 8, $sp
	ldq $12, 0($sp)
	addq $sp, 8, $sp
	ldq $11, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	ldq $9, 0($sp)
	addq $sp, 8, $sp
	ret	
	.end f

	.globl g
	.ent g

g:
	stq $17, 0($16)
	ldiq $1, 10
	mov $1, $0
	ret	
	.end g


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long,long *);
ret=( f(1,2,a+1) == 2 && a[1]==5 &&
       f(2,1,a+1) == 2 && a[1]==2 &&
       f(12,11,a+1) == 1 && a[1]==12);

==>Erzeugter Code korrekt


##########################################

 16 ==========> Eingabe von p.0:
func f(x)
  if x>0 then
    1 ->
  else
    if x=0 then
      0 ->
    else
      -1 ->
    end ->
  end ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $2
	cmplt $2, $16, $2
	beq $2,ELSE_1
	ldiq $2, 1
	mov $2, $1
	br ENDIF_1

ELSE_1:
	mov 0, $3
	cmpeq $3, $16, $3
	beq $3,ELSE_2
	mov 0, $3
	mov $3, $2
	br ENDIF_2

ELSE_2:
	ldiq $3, -1
	mov $3, $2

ENDIF_2:
	mov $2, $1

ENDIF_1:
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 1==f(10) &&
       0==f(0) &&
      -1==f(-5));


==>Erzeugter Code korrekt


##########################################

 17 ==========> Eingabe von q.0:
func fib(n)
  0,1,n -> start -> a,b,i;
     if not i>0 then
       a -> exit;
     b, a+b, i+(-1) ->
  repeat ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl fib
	.ent fib

fib:
	mov 0, $1
	ldiq $2, 1
	mov $1, $4
	mov $2, $5
	mov $16, $6

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	mov $6, $19
	mov 0, $7
	cmplt $7, $19, $7

ENDNOT_1:
	mov 1,$8
	subq $8, $7, $7
	beq $7,ENDIF_1
	mov $17, $3
	br ENDLOOP_1

ENDIF_1:
	addq $17, $18, $7
	ldiq $8, 1
	subq $19, $8, $8
	mov $18, $4
	mov $7, $5
	mov $8, $6
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end fib


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 8 == fib(6));

==>Erzeugter Code korrekt


##########################################

 18 ==========> Eingabe von r.0:
func vprod(a,b,c,n) /* elementweises Produkt c = a*b */
  (n+(-1))*8 -> start -> x;
     if 0>x then
       c -> exit;
     (*(a+x)) * (*(b+x)) -> *(c+x);
     x+(-8) ->
  repeat ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl vprod
	.ent vprod

vprod:
	ldiq $1, 1
	subq $19, $1, $1
	ldiq $2, 8
	mulq $1, $2, $1
	mov $1, $3

STARTLOOP_1:
	mov $3, $20
	mov 0, $4
	cmplt $20, $4, $4
	beq $4,ENDIF_1
	mov $18, $2
	br ENDLOOP_1

ENDIF_1:
	addq $16, $20, $4
	ldq $4, 0($4)
	addq $17, $20, $5
	ldq $5, 0($5)
	mulq $4, $5, $4
	addq $18, $20, $5
	stq $4, 0($5)
	ldiq $4, 8
	subq $20, $4, $4
	mov $4, $3
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $0
	ret	
	.end vprod


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
long *vprod(long*, long*, long*, long);
long c[]={0,0,0};
long a[]={3,4,9};
long b[]={1,2,7};
long e[]={3,8,63};
long *r=vprod(a,b,c,3);
ret= (r==c && r[0]==e[0] && r[1]==e[1] && r[2]==e[2]);

==>Erzeugter Code korrekt


##########################################

 20 ==========> Eingabe von xa.1:
func f(x)
 x -> #
end;


Ausgabe:
Line 2: Illegal character

Processing input not successful
Lexical errors: 1
Lexical warnings: 0
Syntax errors: 0
Other errors: 0
==>Status: korrekt



##########################################

 21 ==========> Eingabe von xb.1:
func f(x)
 x ->
end;
/* never ending comment (but '/' is a lexical error)


Ausgabe:
Line 5: EOF inside comment started at line 4
==>Status: korrekt



##########################################

 22 ==========> Eingabe von ya.2:
func f(x)
 x -->
end;


Ausgabe:
Line 2: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0
==>Status: korrekt



##########################################

 23 ==========> Eingabe von yb.2:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> if x>1 then x -> exit; x+1 -> repeat ->
end;


Ausgabe:
Line 3: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0
==>Status: korrekt



##########################################

 24 ==========> Eingabe von za.3:
func f(x)
  if x>10 then x -> else y+10 -> end ->
end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 25 ==========> Eingabe von zb.3:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> repeat ->
end;


Ausgabe:
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 26 ==========> Eingabe von zc.3:
func f(x,x)
  x-> end;


Ausgabe:
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 27 ==========> Eingabe von zd.3:
func f(x)
  1->x; x-> end;


Ausgabe:
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 28 ==========> Eingabe von ze.3:
func f(x)
  1,2 -> y,y;
  x-> end;
 

Ausgabe:
Identifier y redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 29 ==========> Eingabe von zf.3:
func f(x)
  x,2 -> y, *y;
  x-> end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 30 ==========> Eingabe von zg.3:
func f(x)
  if x=0 then
    x->y; 1->
  else
    x->
  end -> z;
  y -> end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 31 ==========> Eingabe von zh.3:
func f(x)
  x-> start -> y;
    if x=0 then
      x-> exit;
  1-> repeat -> z;
  y->end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 32 ==========> Eingabe von zi.3:
func f(x)
  x-> start -> y;
    if x=0 then
      x->z; x->exit;
  z-> repeat -> w;
  1->end;


Ausgabe:
Identifier z undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 33 ==========> Eingabe von zj.3:
func f(x)
  if x=0 then
    0 -> x; 1->
  else 
    2->
  end -> end;


Ausgabe:
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 34 ==========> Eingabe von zk.3:
func f(x)
  x->y; 
  if x=0 then
    x-> exit;
  x-> end;


Ausgabe:
IF-EXIT outside loop

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 35 ==========> Eingabe von zl.3:
func f(x)
  1 -> start -> repeat -> end;


Ausgabe:
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 36 ==========> Eingabe von zm.3:
func f(x)
  1 -> start 
       -> start -> y;
       if x=0 then
          x->exit;
       x->repeat
  -> repeat -> end;

    

Ausgabe:
Loop without IF-EXIT
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 2
==>Status: korrekt



##########################################

 37 ==========> Eingabe von zn.3:
func f(x)
  1,2,3 -> a,b;
  1-> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 38 ==========> Eingabe von zo.3:
func f(x)
  1,2 -> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 39 ==========> Eingabe von zp.3:
func f(x)
  if x=0 then
    1 ->
  else
    2,3 ->
  end
-> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 40 ==========> Eingabe von zq.3:
func f(x)
  1 -> start -> y;
    if x>0 then
      1,2 -> exit;
    if x=0 then
      3 -> exit;
    2->repeat -> a,b;
  b->end;


Ausgabe:
Different output value count of IF-EXIT-statements

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 41 ==========> Eingabe von zr.3:
func f(x)
  1,2 -> start -> y,z;
     if x>0 then
       3,4 -> exit;
     5 -> repeat -> a,b;
  x-> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt


Gesamtergebnis:
Fehler: 0
Ergebnis: 100 Prozent.



From ublu@b1.complang.tuwien.ac.at Wed Jun 07 19:24:12 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 07 Jun 2006 19:24:12 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1Fo1lM-00014j-CF
	for u0425426@b1.complang.tuwien.ac.at; Wed, 07 Jun 2006 19:24:12 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Zwischenstand
Message-Id: <E1Fo1lM-00014j-CF@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 07 Jun 2006 19:24:12 +0200

Beispiel  1. Abgabe      2. Abgabe      3. Abgabe    Bestes    Gewichtet
         100%   100%    100%    70%    100%    30%
   asma 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
   asmb   0.00   0.00  100.00  70.00  100.00  30.00   70.00       7.000
scanner 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
 parser 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
     ag  90.00  90.00  100.00  70.00  100.00  30.00   90.00      22.500
 gesamt 100.00 100.00  100.00  70.00    0.00   0.00  100.00      30.000
   code   0.00   0.00    0.00   0.00    0.00   0.00    0.00       0.000
                                                     Summe:      89.500
Sie sind angemeldet: 
3 0425426 534 Staroch Paul

From ublu@b1.complang.tuwien.ac.at Wed Jun 14 18:32:41 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 14 Jun 2006 18:32:41 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FqYIL-000570-8R
	for u0425426@b1.complang.tuwien.ac.at; Wed, 14 Jun 2006 18:32:41 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Code, 1. Abgabe
Message-Id: <E1FqYIL-000570-8R@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 14 Jun 2006 18:32:41 +0200


Achtung!!!

********************************************************************
Fuer dieses Beispiel gibt es zwei Abgaben. Die maximal erreichbaren Punkte
sind 100% und 70%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Gesamt-Beispiels: 58%.  Das
maximale Ergebnis ist 100% (ohne Bonuspunkte). 

Die Punkte pro Testfall werden auf zwei Nachkommastellen gerundet. 
Das Gesamtergebnis, die Summe aller 10 Testfaelle, wird auf 
eine ganze Zahl gerundet.

Die Formel zur Berechnung der Punkte fuer einen Testfall ist:
10.0-10.0*((ABGABEINSTR-REFINSTR)/($MAXINSTR-$REFINSTR))
wobei ABGABEINSTR die Anzahl der Befehle ist, die von Ihrem Program
fuer den gegebenen Testfall ausgefuhert werden, REFINSTR die Anzahl der 
Referenzinstruktionen (=einer guten Loesung) und MAXINSTR die Anzahl
der maximalen Instruktionen ist, bis zu denen Sie noch Punkte erhalten.
Negative Punkte gibt es nicht. Bonuspunkte, also mehr als 10 Punkte, 
erhalten Sie, wenn von Ihrem Programm weniger als REFINSTR ausgefuehrt werden.

'make' hatte folgendes zu melden:
 (make)--- make clean ---
rm -rf oxout.y oxout.l parser.c scanner.c scanner.o parser.o symbol_table.o code parser.h code.c tree.o code.o code_gen.o
--- make ---
ox parser.y scanner.lex
yacc -d oxout.y -o parser.c
flex -o scanner.c oxout.l
gcc -ansi -pedantic -c scanner.c
gcc -ansi -pedantic -c parser.c
gcc -ansi -pedantic -c symbol_table.c
gcc -ansi -pedantic -c tree.c
gawk -f code.awk < code.bfe | iburg > code.c
gcc -ansi -pedantic -c code.c
gcc -ansi -pedantic -c code_gen.c
gcc -o code scanner.o parser.o symbol_table.o tree.o code.o code_gen.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann ihre Ausgabe
(nach "Ausgabe:"), dann der Rueckgabewert (nach "Status:") und
danach entweder "korrekt" oder der erwartete Rueckgabewert.



##########################################

 1 ==========> Eingabe von a.0:
func f(n)
  0, 0 -> start -> i,a;
    if i>n then
      a -> exit;
  a+1 -> b;
  1+b -> c;
  1+c+1 -> d;
  i+1, d+1 -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov 0, $2
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	ldiq $6, 1
	addq $18, $6, $6
	mov $6, $19
	ldiq $7, 1
	addq $7, $19, $7
	mov $7, $20
	ldiq $8, 1
	addq $8, $20, $8
	ldiq $22, 1
	addq $8, $22, $8
	mov $8, $21
	ldiq $22, 1
	addq $17, $22, $22
	ldiq $23, 1
	addq $21, $23, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 55==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 180, Maximale Instruktionen: 352, Abgabeinstruktionen: 254, Punkte: 5.70


##########################################

 2 ==========> Eingabe von d.0:
func f(n)
  0, 1 -> start -> i,a;
    if i>n then
      a -> exit;
  a*2 -> b;
  2*b -> c;
  2*c*2 -> d;
  1+i, 2*d -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	ldiq $2, 1
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	ldiq $6, 2
	mulq $18, $6, $6
	mov $6, $19
	ldiq $7, 2
	mulq $7, $19, $7
	mov $7, $20
	ldiq $8, 2
	mulq $8, $20, $8
	ldiq $22, 2
	mulq $8, $22, $8
	mov $8, $21
	ldiq $22, 1
	addq $22, $17, $22
	ldiq $23, 2
	mulq $23, $21, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 32L*32L*32L*32L*32L*32L*32L*32L*32L*32L*32L==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 180, Maximale Instruktionen: 352, Abgabeinstruktionen: 254, Punkte: 5.70


##########################################

 3 ==========> Eingabe von e.0:
func f(n)
  0, 0 -> start -> i,a;
    if i>n then
      a -> exit;
  a+(-1) -> b;
  (-1)+b -> c;
  c+(-1) -> d;
  1+i, (-1)+d -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov 0, $2
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	ldiq $6, 1
	subq $18, $6, $6
	mov $6, $19
	ldiq $7, -1
	addq $7, $19, $7
	mov $7, $20
	ldiq $8, 1
	subq $20, $8, $8
	mov $8, $21
	ldiq $22, 1
	addq $22, $17, $22
	ldiq $23, -1
	addq $23, $21, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( -44L==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 180, Maximale Instruktionen: 352, Abgabeinstruktionen: 232, Punkte: 6.98


##########################################

 4 ==========> Eingabe von f.0:
func f(n)
  0, 0 -> start -> i,a;
    if i>n then
      a -> exit;
  0+(1*(a+0)*1) -> b;
  0+(1*(b+0)*1) -> c;
  0+(1*(c+0)*1) -> d;
  1+i, 0+(1*(d+0)*1) -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov 0, $2
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	mov 0, $6
	mov $6, $19
	mov 0, $7
	mov $7, $20
	mov 0, $8
	mov $8, $21
	ldiq $22, 1
	addq $22, $17, $22
	mov 0, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 0==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 144, Maximale Instruktionen: 414, Abgabeinstruktionen: 188, Punkte: 8.37


##########################################

 5 ==========> Eingabe von g.0:
/* Aufruf mit f(n,x+1), wobei x={0,x} */
func f(n,p)
  0, p -> start -> i,a;
    if i>n then
      a -> exit;
  *(a+8) -> b;
  *(b+8) -> c;
  1+i, *(c+8) -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov $1, $3
	mov $17, $4

STARTLOOP_1:
	mov $3, $18
	mov $4, $19
	cmplt $16, $18, $5
	beq $5,ENDIF_1
	mov $19, $2
	br ENDLOOP_1

ENDIF_1:
	ldq $5, 8($19)
	mov $5, $20
	ldq $6, 8($20)
	mov $6, $21
	ldiq $7, 1
	addq $7, $18, $7
	ldq $8, 8($21)
	mov $7, $3
	mov $8, $4
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long *);
long y[]={0,0};
y[1] = (long)y;
ret=( ((long)y)==f(10,y));

==>Erzeugter Code korrekt
Referenzinstruktionen: 165, Maximale Instruktionen: 302, Abgabeinstruktionen: 165, Punkte: 10.00


##########################################

 6 ==========> Eingabe von h.0:
func f(n)
  0, 0 -> start -> i,a;
    if i>n then
      a -> exit;
  a+(i*4) -> b;
  b+(8*i) -> c;
  (4*i)+c -> d;
  1+i, (i*8)+d -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov 0, $2
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	ldiq $6, 4
	mulq $17, $6, $6
	addq $18, $6, $6
	mov $6, $19
	ldiq $7, 8
	mulq $7, $17, $7
	addq $19, $7, $7
	mov $7, $20
	ldiq $8, 4
	mulq $8, $17, $8
	addq $8, $20, $8
	mov $8, $21
	ldiq $22, 1
	addq $22, $17, $22
	ldiq $23, 8
	mulq $17, $23, $23
	addq $23, $21, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 1320L==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 205, Maximale Instruktionen: 344, Abgabeinstruktionen: 276, Punkte: 4.89


##########################################

 7 ==========> Eingabe von i.0:
func f(n)
  0, 0 -> start -> i,a;
    if i>n then
      a -> exit;
  (-a)*(-i) -> b;
  -(b*(-i)) -> c;
  -((-b)*i) -> d;
  1+i, (-d)*(-i) -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov 0, $2
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	subq $31, $18, $6
	subq $31, $17, $7
	mulq $6, $7, $6
	mov $6, $19
	subq $31, $17, $7
	mulq $19, $7, $7
	subq $31, $7, $7
	mov $7, $20
	subq $31, $19, $8
	mulq $8, $17, $8
	subq $31, $8, $8
	mov $8, $21
	ldiq $22, 1
	addq $22, $17, $22
	subq $31, $21, $23
	subq $31, $17, $24
	mulq $23, $24, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 0==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 235, Maximale Instruktionen: 356, Abgabeinstruktionen: 276, Punkte: 6.61


##########################################

 8 ==========> Eingabe von j.0:
func f(n)
  0, 0 -> start -> i,a;
    if i>n then
      a -> exit;
  a+(-i) -> b;
  (-b)+i -> c;
  c+(-i) -> d;
  1+i, (-d)+i -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov 0, $2
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	subq $18, $17, $6
	mov $6, $19
	subq $31, $19, $7
	addq $7, $17, $7
	mov $7, $20
	subq $20, $17, $8
	mov $8, $21
	ldiq $22, 1
	addq $22, $17, $22
	subq $31, $21, $23
	addq $23, $17, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 0==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 210, Maximale Instruktionen: 346, Abgabeinstruktionen: 210, Punkte: 10.00


##########################################

 9 ==========> Eingabe von k.0:
func f(n,a,b,c,d) /* call with f(n,5,5,5,5) */
  0 -> start -> i;
    if i>n then
      i -> exit;
    if a>10 and 0>a then
      a-> exit;
    if b>10 and 0>b then
      b-> exit;
    if c>10 and 0>c then
      c-> exit;
    if d>10 and 0>d then
      d-> exit;
    i+1 -> repeat ->
end;

bersetzung: Status=1. Erwartet: 0


##########################################

 10 ==========> Eingabe von l.0:
func f(n,a,b,c,d) /* call with f(n,5,5,5,5) */
  0 -> start -> i;
    if i>n then
      i -> exit;
    if a=10 and 0=a then
      a-> exit;
    if b=10 and 0=b then
      b-> exit;
    if c=10 and 0=c then
      c-> exit;
    if d=10 and 0=d then
      d-> exit;
    i+1 -> repeat ->
end;

bersetzung: Status=1. Erwartet: 0

Gesamtergebnis:  58 Prozent.



From ublu@b1.complang.tuwien.ac.at Wed Jun 14 19:02:47 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 14 Jun 2006 19:02:47 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FqYlT-0005Qp-E4
	for u0425426@b1.complang.tuwien.ac.at; Wed, 14 Jun 2006 19:02:47 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Gesamt, 3. Abgabe
Message-Id: <E1FqYlT-0005Qp-E4@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 14 Jun 2006 19:02:47 +0200


********************************************************************
Pro Beispiel gibt es drei Abgaben. Die maximal erreichbaren Punkte
sind 100%, 70% und 30%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Gesamt-Beispiels: 30%.  Das
maximale Ergebnis ist 30%.  Abzug pro Fehler: 3%.

'make' hatte folgendes zu melden:
 (make)--- make clean ---
rm -rf oxout.y oxout.l parser.c scanner.c scanner.o parser.o symbol_table.o gesamt parser.h code.c tree.o code.o code_gen.o
--- make ---
ox parser.y scanner.lex
yacc -d oxout.y -o parser.c
flex -o scanner.c oxout.l
gcc -ansi -pedantic -c scanner.c
gcc -ansi -pedantic -c parser.c
gcc -ansi -pedantic -c symbol_table.c
gcc -ansi -pedantic -c tree.c
gawk -f code.awk < code.bfe | iburg > code.c
gcc -ansi -pedantic -c code.c
gcc -ansi -pedantic -c code_gen.c
gcc -o gesamt scanner.o parser.o symbol_table.o tree.o code.o code_gen.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann ihre Ausgabe
(nach "Ausgabe:"), dann der Rueckgabewert (nach "Status:") und
danach entweder "korrekt" oder der erwartete Rueckgabewert.



##########################################

 1 ==========> Eingabe von a.0:
func f(x)
 5 ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $1, 5
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f();
ret=( 5==f());

==>Erzeugter Code korrekt


##########################################

 2 ==========> Eingabe von b.0:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> y; if y>1 then y -> exit; y+1 -> repeat ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $2, 10
	cmplt $2, $16, $2
	beq $2,ELSE_1
	mov $16, $1
	br ENDIF_1

ELSE_1:
	ldiq $2, 10
	addq $16, $2, $2
	mov $2, $1

ENDIF_1:
	mov $1, $3

STARTLOOP_1:
	mov $3, $17
	ldiq $4, 1
	cmplt $4, $17, $4
	beq $4,ENDIF_2
	mov $17, $2
	br ENDLOOP_1

ENDIF_2:
	ldiq $4, 1
	addq $17, $4, $4
	mov $4, $3
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 15==f(5));

==>Erzeugter Code korrekt


##########################################

 3 ==========> Eingabe von c.0:
func f(a)
  1,2,3 -> start -> d,e,f;
    if a>1 then
      d,e ->
    else
      e,d ->
    end -> g,h;
    if g>h then
      f -> exit;
    e,f,d -> repeat
  -> 
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $1, 1
	ldiq $2, 2
	ldiq $3, 3
	mov $1, $5
	mov $2, $6
	mov $3, $7

STARTLOOP_1:
	mov $5, $17
	mov $6, $18
	mov $7, $19
	ldiq $23, 1
	cmplt $23, $16, $23
	beq $23,ELSE_1
	mov $17, $8
	mov $18, $22
	br ENDIF_1

ELSE_1:
	mov $18, $8
	mov $17, $22

ENDIF_1:
	mov $8, $20
	mov $22, $21
	cmplt $21, $20, $23
	beq $23,ENDIF_2
	mov $19, $4
	br ENDLOOP_1

ENDIF_2:
	mov $18, $5
	mov $19, $6
	mov $17, $7
	br STARTLOOP_1

ENDLOOP_1:
	mov $4, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 2==f(2));

==>Erzeugter Code korrekt


##########################################

 4 ==========> Eingabe von d.0:
func f(x)
  1 -> start -> a;
    if a=2 then
      3 -> exit;
    2-> repeat
  -> b;
  b+x -> 
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldiq $1, 1
	mov $1, $3

STARTLOOP_1:
	mov $3, $17
	ldiq $4, 2
	cmpeq $4, $17, $4
	beq $4,ENDIF_1
	ldiq $4, 3
	mov $4, $2
	br ENDLOOP_1

ENDIF_1:
	ldiq $4, 2
	mov $4, $3
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $17
	addq $17, $16, $2
	mov $2, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 13==f(10));


==>Erzeugter Code korrekt


##########################################

 5 ==========> Eingabe von e.0:
/* hhh /* ggg */
func f(x)
 x+x+x ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	addq $16, $16, $1
	addq $1, $16, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 30==f(10));


==>Erzeugter Code korrekt


##########################################

 6 ==========> Eingabe von f.0:
/* this is a
   multiline comment
*/
func f(x)
 x ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov $16, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 10==f(10));


==>Erzeugter Code korrekt


##########################################

 7 ==========> Eingabe von g.0:
func f(ap1,ap2)
 g((*ap1)+(*(ap2+8))) ->
end;

func g(x)
  x ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	lda $sp, -8($sp)
	stq $9, 0($sp)
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $11, 0($sp)
	lda $sp, -8($sp)
	stq $12, 0($sp)
	lda $sp, -8($sp)
	stq $13, 0($sp)
	lda $sp, -8($sp)
	stq $14, 0($sp)
	lda $sp, -8($sp)
	stq $15, 0($sp)
	mov $16, $9
	mov $17, $10
	ldq $1, 0($9)
	ldq $2, 8($10)
	addq $1, $2, $1
	mov $1, $16
	lda $sp, -8($sp)
	stq $26, 0($sp)
	jsr $26, g
	ldq $26, 0($sp)
	addq $sp, 8, $sp
	mov $0, $2
	mov $2, $0
	ldq $15, 0($sp)
	addq $sp, 8, $sp
	ldq $14, 0($sp)
	addq $sp, 8, $sp
	ldq $13, 0($sp)
	addq $sp, 8, $sp
	ldq $12, 0($sp)
	addq $sp, 8, $sp
	ldq $11, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	ldq $9, 0($sp)
	addq $sp, 8, $sp
	ret	
	.end f

	.globl g
	.ent g

g:
	mov $16, $0
	ret	
	.end g


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long *, long *);
ret=( 2008==f(a,a+1));


==>Erzeugter Code korrekt


##########################################

 8 ==========> Eingabe von h.0:
func f(x) -x -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	subq $31, $16, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( -10==f(10));

==>Erzeugter Code korrekt


##########################################

 9 ==========> Eingabe von i.0:
func f(x) *x -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	ldq $1, 0($16)
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:
In file included from /nfs/unsafe/ublu/abgabe/testgesamt/testmain.c:13:
/nfs/unsafe/ublu/abgabe/testgesamt/i.call: In function `call':
/nfs/unsafe/ublu/abgabe/testgesamt/i.call:2: warning: passing arg 1 of `f' makes integer from pointer without a cast

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 2==f(a));

==>Erzeugter Code korrekt


##########################################

 10 ==========> Eingabe von j.0:
func f(x,y,z) x+y+z -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	addq $16, $17, $1
	addq $1, $18, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long,long);
ret=( 7==f(1,2,4));

==>Erzeugter Code korrekt


##########################################

 11 ==========> Eingabe von k.0:
func f(x,y,z) x*y*z -> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mulq $16, $17, $1
	mulq $1, $18, $1
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long,long);
ret=( 30==f(2,3,5));

==>Erzeugter Code korrekt


##########################################

 12 ==========> Eingabe von l.0:
func f(x) g(x) -> end;
func g(x) 3 -> end;
bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	lda $sp, -8($sp)
	stq $9, 0($sp)
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $11, 0($sp)
	lda $sp, -8($sp)
	stq $12, 0($sp)
	lda $sp, -8($sp)
	stq $13, 0($sp)
	lda $sp, -8($sp)
	stq $14, 0($sp)
	lda $sp, -8($sp)
	stq $15, 0($sp)
	mov $16, $9
	mov $9, $16
	lda $sp, -8($sp)
	stq $26, 0($sp)
	jsr $26, g
	ldq $26, 0($sp)
	addq $sp, 8, $sp
	mov $0, $1
	mov $1, $0
	ldq $15, 0($sp)
	addq $sp, 8, $sp
	ldq $14, 0($sp)
	addq $sp, 8, $sp
	ldq $13, 0($sp)
	addq $sp, 8, $sp
	ldq $12, 0($sp)
	addq $sp, 8, $sp
	ldq $11, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	ldq $9, 0($sp)
	addq $sp, 8, $sp
	ret	
	.end f

	.globl g
	.ent g

g:
	ldiq $1, 3
	mov $1, $0
	ret	
	.end g


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 3==f(10));

==>Erzeugter Code korrekt


##########################################

 13 ==========> Eingabe von m.0:
func f(x,y)
  if x>y then
    x ->
  else
    y ->
  end ->
end;


bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	cmplt $17, $16, $2
	beq $2,ELSE_1
	mov $16, $1
	br ENDIF_1

ELSE_1:
	mov $17, $1

ENDIF_1:
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long);
ret=( 3==f(1,3) && 3==f(3,1));

==>Erzeugter Code korrekt


##########################################

 14 ==========> Eingabe von n.0:
func f(x,y)
  if not(x>y) then
    x ->
  else
    y ->
  end ->
end;


bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	cmplt $17, $16, $2

ENDNOT_1:
	mov 1,$3
	subq $3, $2, $2
	beq $2,ELSE_1
	mov $16, $1
	br ENDIF_1

ELSE_1:
	mov $17, $1

ENDIF_1:
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long);
ret=( 1==f(1,3) && 1==f(3,1));

==>Erzeugter Code korrekt


##########################################

 15 ==========> Eingabe von o.0:
func f(x,y,z)
  if x>y and y > g(z,x) then
    1 ->
  else
    2 ->
  end ->
end;

func g(x,y)
  y->*x;
  10 ->
end;


bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	lda $sp, -8($sp)
	stq $9, 0($sp)
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $11, 0($sp)
	lda $sp, -8($sp)
	stq $12, 0($sp)
	lda $sp, -8($sp)
	stq $13, 0($sp)
	lda $sp, -8($sp)
	stq $14, 0($sp)
	lda $sp, -8($sp)
	stq $15, 0($sp)
	mov $16, $9
	mov $17, $10
	mov $18, $11
	cmplt $10, $9, $2
	beq $2, ELSE_1
	mov $11, $16
	mov $9, $17
	lda $sp, -8($sp)
	stq $10, 0($sp)
	lda $sp, -8($sp)
	stq $2, 0($sp)
	lda $sp, -8($sp)
	stq $26, 0($sp)
	jsr $26, g
	ldq $26, 0($sp)
	addq $sp, 8, $sp
	mov $0, $3
	ldq $2, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	cmplt $3, $10, $3
	beq $3,ELSE_1
	ldiq $3, 1
	mov $3, $1
	br ENDIF_1

ELSE_1:
	ldiq $3, 2
	mov $3, $1

ENDIF_1:
	mov $1, $0
	ldq $15, 0($sp)
	addq $sp, 8, $sp
	ldq $14, 0($sp)
	addq $sp, 8, $sp
	ldq $13, 0($sp)
	addq $sp, 8, $sp
	ldq $12, 0($sp)
	addq $sp, 8, $sp
	ldq $11, 0($sp)
	addq $sp, 8, $sp
	ldq $10, 0($sp)
	addq $sp, 8, $sp
	ldq $9, 0($sp)
	addq $sp, 8, $sp
	ret	
	.end f

	.globl g
	.ent g

g:
	stq $17, 0($16)
	ldiq $1, 10
	mov $1, $0
	ret	
	.end g


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long,long *);
ret=( f(1,2,a+1) == 2 && a[1]==5 &&
       f(2,1,a+1) == 2 && a[1]==2 &&
       f(12,11,a+1) == 1 && a[1]==12);

==>Erzeugter Code korrekt


##########################################

 16 ==========> Eingabe von p.0:
func f(x)
  if x>0 then
    1 ->
  else
    if x=0 then
      0 ->
    else
      -1 ->
    end ->
  end ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $2
	cmplt $2, $16, $2
	beq $2,ELSE_1
	ldiq $2, 1
	mov $2, $1
	br ENDIF_1

ELSE_1:
	mov 0, $3
	cmpeq $3, $16, $3
	beq $3,ELSE_2
	mov 0, $3
	mov $3, $2
	br ENDIF_2

ELSE_2:
	ldiq $3, -1
	mov $3, $2

ENDIF_2:
	mov $2, $1

ENDIF_1:
	mov $1, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 1==f(10) &&
       0==f(0) &&
      -1==f(-5));


==>Erzeugter Code korrekt


##########################################

 17 ==========> Eingabe von q.0:
func fib(n)
  0,1,n -> start -> a,b,i;
     if not i>0 then
       a -> exit;
     b, a+b, i+(-1) ->
  repeat ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl fib
	.ent fib

fib:
	mov 0, $1
	ldiq $2, 1
	mov $1, $4
	mov $2, $5
	mov $16, $6

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	mov $6, $19
	mov 0, $7
	cmplt $7, $19, $7

ENDNOT_1:
	mov 1,$8
	subq $8, $7, $7
	beq $7,ENDIF_1
	mov $17, $3
	br ENDLOOP_1

ENDIF_1:
	addq $17, $18, $7
	ldiq $8, 1
	subq $19, $8, $8
	mov $18, $4
	mov $7, $5
	mov $8, $6
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end fib


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 8 == fib(6));

==>Erzeugter Code korrekt


##########################################

 18 ==========> Eingabe von r.0:
func vprod(a,b,c,n) /* elementweises Produkt c = a*b */
  (n+(-1))*8 -> start -> x;
     if 0>x then
       c -> exit;
     (*(a+x)) * (*(b+x)) -> *(c+x);
     x+(-8) ->
  repeat ->
end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl vprod
	.ent vprod

vprod:
	ldiq $1, 1
	subq $19, $1, $1
	ldiq $2, 8
	mulq $1, $2, $1
	mov $1, $3

STARTLOOP_1:
	mov $3, $20
	mov 0, $4
	cmplt $20, $4, $4
	beq $4,ENDIF_1
	mov $18, $2
	br ENDLOOP_1

ENDIF_1:
	addq $16, $20, $4
	ldq $4, 0($4)
	addq $17, $20, $5
	ldq $5, 0($5)
	mulq $4, $5, $4
	addq $18, $20, $5
	stq $4, 0($5)
	ldiq $4, 8
	subq $20, $4, $4
	mov $4, $3
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $0
	ret	
	.end vprod


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
long *vprod(long*, long*, long*, long);
long c[]={0,0,0};
long a[]={3,4,9};
long b[]={1,2,7};
long e[]={3,8,63};
long *r=vprod(a,b,c,3);
ret= (r==c && r[0]==e[0] && r[1]==e[1] && r[2]==e[2]);

==>Erzeugter Code korrekt


##########################################

 20 ==========> Eingabe von xa.1:
func f(x)
 x -> #
end;


Ausgabe:
Line 2: Illegal character

Processing input not successful
Lexical errors: 1
Lexical warnings: 0
Syntax errors: 0
Other errors: 0
==>Status: korrekt



##########################################

 21 ==========> Eingabe von xb.1:
func f(x)
 x ->
end;
/* never ending comment (but '/' is a lexical error)


Ausgabe:
Line 5: EOF inside comment started at line 4
==>Status: korrekt



##########################################

 22 ==========> Eingabe von ya.2:
func f(x)
 x -->
end;


Ausgabe:
Line 2: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0
==>Status: korrekt



##########################################

 23 ==========> Eingabe von yb.2:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> if x>1 then x -> exit; x+1 -> repeat ->
end;


Ausgabe:
Line 3: syntax error

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 1
Other errors: 0
==>Status: korrekt



##########################################

 24 ==========> Eingabe von za.3:
func f(x)
  if x>10 then x -> else y+10 -> end ->
end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 25 ==========> Eingabe von zb.3:
func f(x)
  if x>10 then x -> else x+10 -> end ->
  start -> repeat ->
end;


Ausgabe:
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 26 ==========> Eingabe von zc.3:
func f(x,x)
  x-> end;


Ausgabe:
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 27 ==========> Eingabe von zd.3:
func f(x)
  1->x; x-> end;


Ausgabe:
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 28 ==========> Eingabe von ze.3:
func f(x)
  1,2 -> y,y;
  x-> end;
 

Ausgabe:
Identifier y redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 29 ==========> Eingabe von zf.3:
func f(x)
  x,2 -> y, *y;
  x-> end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 30 ==========> Eingabe von zg.3:
func f(x)
  if x=0 then
    x->y; 1->
  else
    x->
  end -> z;
  y -> end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 31 ==========> Eingabe von zh.3:
func f(x)
  x-> start -> y;
    if x=0 then
      x-> exit;
  1-> repeat -> z;
  y->end;


Ausgabe:
Identifier y undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 32 ==========> Eingabe von zi.3:
func f(x)
  x-> start -> y;
    if x=0 then
      x->z; x->exit;
  z-> repeat -> w;
  1->end;


Ausgabe:
Identifier z undefined or invisible

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 33 ==========> Eingabe von zj.3:
func f(x)
  if x=0 then
    0 -> x; 1->
  else 
    2->
  end -> end;


Ausgabe:
Identifier x redefined in its scope

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 34 ==========> Eingabe von zk.3:
func f(x)
  x->y; 
  if x=0 then
    x-> exit;
  x-> end;


Ausgabe:
IF-EXIT outside loop

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 35 ==========> Eingabe von zl.3:
func f(x)
  1 -> start -> repeat -> end;


Ausgabe:
Loop without IF-EXIT

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 36 ==========> Eingabe von zm.3:
func f(x)
  1 -> start 
       -> start -> y;
       if x=0 then
          x->exit;
       x->repeat
  -> repeat -> end;

    

Ausgabe:
Loop without IF-EXIT
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 2
==>Status: korrekt



##########################################

 37 ==========> Eingabe von zn.3:
func f(x)
  1,2,3 -> a,b;
  1-> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 38 ==========> Eingabe von zo.3:
func f(x)
  1,2 -> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 39 ==========> Eingabe von zp.3:
func f(x)
  if x=0 then
    1 ->
  else
    2,3 ->
  end
-> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 40 ==========> Eingabe von zq.3:
func f(x)
  1 -> start -> y;
    if x>0 then
      1,2 -> exit;
    if x=0 then
      3 -> exit;
    2->repeat -> a,b;
  b->end;


Ausgabe:
Different output value count of IF-EXIT-statements

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt



##########################################

 41 ==========> Eingabe von zr.3:
func f(x)
  1,2 -> start -> y,z;
     if x>0 then
       3,4 -> exit;
     5 -> repeat -> a,b;
  x-> end;


Ausgabe:
Error in data stream

Processing input not successful
Lexical errors: 0
Lexical warnings: 0
Syntax errors: 0
Other errors: 1
==>Status: korrekt


Gesamtergebnis:
Fehler: 0
Ergebnis: 100 Prozent.



From ublu@b1.complang.tuwien.ac.at Wed Jun 14 21:03:46 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 14 Jun 2006 21:03:46 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1FqaeY-0007oS-8N
	for u0425426@b1.complang.tuwien.ac.at; Wed, 14 Jun 2006 21:03:46 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Zwischenstand
Message-Id: <E1FqaeY-0007oS-8N@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 14 Jun 2006 21:03:46 +0200

Beispiel  1. Abgabe      2. Abgabe      3. Abgabe    Bestes    Gewichtet
         100%   100%    100%    70%    100%    30%
   asma 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
   asmb   0.00   0.00  100.00  70.00  100.00  30.00   70.00       7.000
scanner 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
 parser 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
     ag  90.00  90.00  100.00  70.00  100.00  30.00   90.00      22.500
 gesamt 100.00 100.00  100.00  70.00  100.00  30.00  100.00      30.000
   code  58.00  58.00    0.00   0.00    0.00   0.00   58.00       8.700
                                                     Summe:      98.200
Sie sind angemeldet: 
3 0425426 534 Staroch Paul

From ublu@b1.complang.tuwien.ac.at Wed Jun 21 17:28:52 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 21 Jun 2006 17:28:53 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1Ft4dQ-0002Pt-RF
	for u0425426@b1.complang.tuwien.ac.at; Wed, 21 Jun 2006 17:28:52 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Code, 2. Abgabe
Message-Id: <E1Ft4dQ-0002Pt-RF@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 21 Jun 2006 17:28:52 +0200


Achtung!!!

********************************************************************
Fuer dieses Beispiel gibt es zwei Abgaben. Die maximal erreichbaren Punkte
sind 100% und 70%. Das Maximum der Ergebnisse der Abgabetermine
wird fuer die Beurteilung herangezogen.
********************************************************************

Sie erhalten fuer diese Version des Gesamt-Beispiels: 40.6%.  Das
maximale Ergebnis ist 70% (ohne Bonuspunkte). 

Die Punkte pro Testfall werden auf zwei Nachkommastellen gerundet. 
Das Gesamtergebnis, die Summe aller 10 Testfaelle, wird auf 
eine ganze Zahl gerundet.

Die Formel zur Berechnung der Punkte fuer einen Testfall ist:
10.0-10.0*((ABGABEINSTR-REFINSTR)/($MAXINSTR-$REFINSTR))
wobei ABGABEINSTR die Anzahl der Befehle ist, die von Ihrem Program
fuer den gegebenen Testfall ausgefuhert werden, REFINSTR die Anzahl der 
Referenzinstruktionen (=einer guten Loesung) und MAXINSTR die Anzahl
der maximalen Instruktionen ist, bis zu denen Sie noch Punkte erhalten.
Negative Punkte gibt es nicht. Bonuspunkte, also mehr als 10 Punkte, 
erhalten Sie, wenn von Ihrem Programm weniger als REFINSTR ausgefuehrt werden.

'make' hatte folgendes zu melden:
 (make)--- make clean ---
rm -rf oxout.y oxout.l parser.c scanner.c scanner.o parser.o symbol_table.o code parser.h code.c tree.o code.o code_gen.o
--- make ---
ox parser.y scanner.lex
yacc -d oxout.y -o parser.c
flex -o scanner.c oxout.l
gcc -ansi -pedantic -c scanner.c
gcc -ansi -pedantic -c parser.c
gcc -ansi -pedantic -c symbol_table.c
gcc -ansi -pedantic -c tree.c
gawk -f code.awk < code.bfe | iburg > code.c
gcc -ansi -pedantic -c code.c
gcc -ansi -pedantic -c code_gen.c
gcc -o code scanner.o parser.o symbol_table.o tree.o code.o code_gen.o -ll


Im weiteren finden Sie die Ergebnisse der Tests. Bei jedem Test ist
zuerst die Eingabe angegeben (nach "Eingabe:"), dann ihre Ausgabe
(nach "Ausgabe:"), dann der Rueckgabewert (nach "Status:") und
danach entweder "korrekt" oder der erwartete Rueckgabewert.



##########################################

 1 ==========> Eingabe von a.0:
func f(n)
  0, 0 -> start -> i,a;
    if i>n then
      a -> exit;
  a+1 -> b;
  1+b -> c;
  1+c+1 -> d;
  i+1, d+1 -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov 0, $2
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	ldiq $6, 1
	addq $18, $6, $6
	mov $6, $19
	ldiq $7, 1
	addq $7, $19, $7
	mov $7, $20
	ldiq $8, 1
	addq $8, $20, $8
	ldiq $22, 1
	addq $8, $22, $8
	mov $8, $21
	ldiq $22, 1
	addq $17, $22, $22
	ldiq $23, 1
	addq $21, $23, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 55==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 180, Maximale Instruktionen: 352, Abgabeinstruktionen: 254, Punkte: 5.70


##########################################

 2 ==========> Eingabe von d.0:
func f(n)
  0, 1 -> start -> i,a;
    if i>n then
      a -> exit;
  a*2 -> b;
  2*b -> c;
  2*c*2 -> d;
  1+i, 2*d -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	ldiq $2, 1
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	ldiq $6, 2
	mulq $18, $6, $6
	mov $6, $19
	ldiq $7, 2
	mulq $7, $19, $7
	mov $7, $20
	ldiq $8, 2
	mulq $8, $20, $8
	ldiq $22, 2
	mulq $8, $22, $8
	mov $8, $21
	ldiq $22, 1
	addq $22, $17, $22
	ldiq $23, 2
	mulq $23, $21, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 32L*32L*32L*32L*32L*32L*32L*32L*32L*32L*32L==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 180, Maximale Instruktionen: 352, Abgabeinstruktionen: 254, Punkte: 5.70


##########################################

 3 ==========> Eingabe von e.0:
func f(n)
  0, 0 -> start -> i,a;
    if i>n then
      a -> exit;
  a+(-1) -> b;
  (-1)+b -> c;
  c+(-1) -> d;
  1+i, (-1)+d -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov 0, $2
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	ldiq $6, 1
	subq $18, $6, $6
	mov $6, $19
	ldiq $7, -1
	addq $7, $19, $7
	mov $7, $20
	ldiq $8, 1
	subq $20, $8, $8
	mov $8, $21
	ldiq $22, 1
	addq $22, $17, $22
	ldiq $23, -1
	addq $23, $21, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( -44L==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 180, Maximale Instruktionen: 352, Abgabeinstruktionen: 232, Punkte: 6.98


##########################################

 4 ==========> Eingabe von f.0:
func f(n)
  0, 0 -> start -> i,a;
    if i>n then
      a -> exit;
  0+(1*(a+0)*1) -> b;
  0+(1*(b+0)*1) -> c;
  0+(1*(c+0)*1) -> d;
  1+i, 0+(1*(d+0)*1) -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov 0, $2
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	mov 0, $6
	mov $6, $19
	mov 0, $7
	mov $7, $20
	mov 0, $8
	mov $8, $21
	ldiq $22, 1
	addq $22, $17, $22
	mov 0, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 0==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 144, Maximale Instruktionen: 414, Abgabeinstruktionen: 188, Punkte: 8.37


##########################################

 5 ==========> Eingabe von g.0:
/* Aufruf mit f(n,x+1), wobei x={0,x} */
func f(n,p)
  0, p -> start -> i,a;
    if i>n then
      a -> exit;
  *(a+8) -> b;
  *(b+8) -> c;
  1+i, *(c+8) -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov $1, $3
	mov $17, $4

STARTLOOP_1:
	mov $3, $18
	mov $4, $19
	cmplt $16, $18, $5
	beq $5,ENDIF_1
	mov $19, $2
	br ENDLOOP_1

ENDIF_1:
	ldq $5, 8($19)
	mov $5, $20
	ldq $6, 8($20)
	mov $6, $21
	ldiq $7, 1
	addq $7, $18, $7
	ldq $8, 8($21)
	mov $7, $3
	mov $8, $4
	br STARTLOOP_1

ENDLOOP_1:
	mov $2, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long,long *);
long y[]={0,0};
y[1] = (long)y;
ret=( ((long)y)==f(10,y));

==>Erzeugter Code korrekt
Referenzinstruktionen: 165, Maximale Instruktionen: 302, Abgabeinstruktionen: 165, Punkte: 10.00


##########################################

 6 ==========> Eingabe von h.0:
func f(n)
  0, 0 -> start -> i,a;
    if i>n then
      a -> exit;
  a+(i*4) -> b;
  b+(8*i) -> c;
  (4*i)+c -> d;
  1+i, (i*8)+d -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov 0, $2
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	ldiq $6, 4
	mulq $17, $6, $6
	addq $18, $6, $6
	mov $6, $19
	ldiq $7, 8
	mulq $7, $17, $7
	addq $19, $7, $7
	mov $7, $20
	ldiq $8, 4
	mulq $8, $17, $8
	addq $8, $20, $8
	mov $8, $21
	ldiq $22, 1
	addq $22, $17, $22
	ldiq $23, 8
	mulq $17, $23, $23
	addq $23, $21, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 1320L==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 205, Maximale Instruktionen: 344, Abgabeinstruktionen: 276, Punkte: 4.89


##########################################

 7 ==========> Eingabe von i.0:
func f(n)
  0, 0 -> start -> i,a;
    if i>n then
      a -> exit;
  (-a)*(-i) -> b;
  -(b*(-i)) -> c;
  -((-b)*i) -> d;
  1+i, (-d)*(-i) -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov 0, $2
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	subq $31, $18, $6
	subq $31, $17, $7
	mulq $6, $7, $6
	mov $6, $19
	subq $31, $17, $7
	mulq $19, $7, $7
	subq $31, $7, $7
	mov $7, $20
	subq $31, $19, $8
	mulq $8, $17, $8
	subq $31, $8, $8
	mov $8, $21
	ldiq $22, 1
	addq $22, $17, $22
	subq $31, $21, $23
	subq $31, $17, $24
	mulq $23, $24, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 0==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 235, Maximale Instruktionen: 356, Abgabeinstruktionen: 276, Punkte: 6.61


##########################################

 8 ==========> Eingabe von j.0:
func f(n)
  0, 0 -> start -> i,a;
    if i>n then
      a -> exit;
  a+(-i) -> b;
  (-b)+i -> c;
  c+(-i) -> d;
  1+i, (-d)+i -> repeat
-> end;

bersetzung: Status korrekt

Ausgabe:
# Compiler written by Paul Staroch
# Uebersetzerbau, SS 2006
# Send bug reports to /dev/null

	.globl f
	.ent f

f:
	mov 0, $1
	mov 0, $2
	mov $1, $4
	mov $2, $5

STARTLOOP_1:
	mov $4, $17
	mov $5, $18
	cmplt $16, $17, $6
	beq $6,ENDIF_1
	mov $18, $3
	br ENDLOOP_1

ENDIF_1:
	subq $18, $17, $6
	mov $6, $19
	subq $31, $19, $7
	addq $7, $17, $7
	mov $7, $20
	subq $20, $17, $8
	mov $8, $21
	ldiq $22, 1
	addq $22, $17, $22
	subq $31, $21, $23
	addq $23, $17, $23
	mov $22, $4
	mov $23, $5
	br STARTLOOP_1

ENDLOOP_1:
	mov $3, $0
	ret	
	.end f


bersetze und linke das Testprogramm:

Rufe folgendes Codefragment auf:
extern long f(long);
ret=( 0==f(10));

==>Erzeugter Code korrekt
Referenzinstruktionen: 210, Maximale Instruktionen: 346, Abgabeinstruktionen: 210, Punkte: 10.00


##########################################

 9 ==========> Eingabe von k.0:
func f(n,a,b,c,d) /* call with f(n,5,5,5,5) */
  0 -> start -> i;
    if i>n then
      i -> exit;
    if a>10 and 0>a then
      a-> exit;
    if b>10 and 0>b then
      b-> exit;
    if c>10 and 0>c then
      c-> exit;
    if d>10 and 0>d then
      d-> exit;
    i+1 -> repeat ->
end;

bersetzung: Status=1. Erwartet: 0


##########################################

 10 ==========> Eingabe von l.0:
func f(n,a,b,c,d) /* call with f(n,5,5,5,5) */
  0 -> start -> i;
    if i>n then
      i -> exit;
    if a=10 and 0=a then
      a-> exit;
    if b=10 and 0=b then
      b-> exit;
    if c=10 and 0=c then
      c-> exit;
    if d=10 and 0=d then
      d-> exit;
    i+1 -> repeat ->
end;

bersetzung: Status=1. Erwartet: 0

Gesamtergebnis:  58 Prozent.



From ublu@b1.complang.tuwien.ac.at Wed Jun 21 19:55:05 2006
Return-path: <ublu@b1.complang.tuwien.ac.at>
Envelope-to: u0425426@b1.complang.tuwien.ac.at
Delivery-date: Wed, 21 Jun 2006 19:55:05 +0200
Received: from ublu by b1.complang.tuwien.ac.at with local (Exim 4.50)
	id 1Ft6uv-0002qZ-RX
	for u0425426@b1.complang.tuwien.ac.at; Wed, 21 Jun 2006 19:55:05 +0200
To: u0425426@b1.complang.tuwien.ac.at
Subject: Zwischenstand
Message-Id: <E1Ft6uv-0002qZ-RX@b1.complang.tuwien.ac.at>
From: UBLU-Betreuer <ublu@b1.complang.tuwien.ac.at>
Date: Wed, 21 Jun 2006 19:55:05 +0200

Beispiel  1. Abgabe      2. Abgabe      3. Abgabe    Bestes    Gewichtet
         100%   100%    100%    70%    100%    30%
   asma 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
   asmb   0.00   0.00  100.00  70.00  100.00  30.00   70.00       7.000
scanner 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
 parser 100.00 100.00  100.00  70.00  100.00  30.00  100.00      10.000
     ag  90.00  90.00  100.00  70.00  100.00  30.00   90.00      22.500
 gesamt 100.00 100.00  100.00  70.00  100.00  30.00  100.00      30.000
   code  58.00  58.00   58.00  40.60    0.00   0.00   58.00       8.700
                                                     Summe:      98.200
Sie sind angemeldet: 
3 0425426 534 Staroch Paul

