TYPES: BEGIN OF t_input,
         row TYPE string,
       END OF t_input.

* Input declaration
DATA: lv_input TYPE TABLE OF t_input,
      wa_input LIKE LINE OF lv_input.

* Assign with the puzzle input.
lv_input = VALUE #(
 ( row = 'acc +15' )
 ( row = 'jmp +461' )
 ( row = 'acc +6' )
 ( row = 'nop +445' )
 ( row = 'jmp +324' )
 ( row = 'jmp +253' )
 ( row = 'acc -4' )
 ( row = 'acc +22' )
 ( row = 'acc +11' )
 ( row = 'jmp +471' )
 ( row = 'jmp +145' )
 ( row = 'acc +19' )
 ( row = 'jmp -7' )
 ( row = 'jmp +431' )
 ( row = 'nop +66' )
 ( row = 'acc +48' )
 ( row = 'jmp +409' )
 ( row = 'jmp +514' )
 ( row = 'jmp +1' )
 ( row = 'acc +32' )
 ( row = 'jmp +552' )
 ( row = 'acc +21' )
 ( row = 'jmp +317' )
 ( row = 'nop +488' )
 ( row = 'jmp +500' )
 ( row = 'jmp +214' )
 ( row = 'acc +41' )
 ( row = 'jmp +17' )
 ( row = 'acc +19' )
 ( row = 'jmp +1' )
 ( row = 'acc +28' )
 ( row = 'jmp +74' )
 ( row = 'acc +37' )
 ( row = 'acc +46' )
 ( row = 'acc -10' )
 ( row = 'jmp +455' )
 ( row = 'acc +33' )
 ( row = 'jmp +585' )
 ( row = 'acc -13' )
 ( row = 'acc +18' )
 ( row = 'jmp +19' )
 ( row = 'jmp +601' )
 ( row = 'acc +30' )
 ( row = 'jmp +272' )
 ( row = 'acc +18' )
 ( row = 'acc +50' )
 ( row = 'acc +1' )
 ( row = 'acc +29' )
 ( row = 'jmp +50' )
 ( row = 'nop +573' )
 ( row = 'jmp +562' )
 ( row = 'nop +274' )
 ( row = 'jmp +1' )
 ( row = 'acc +6' )
 ( row = 'jmp +1' )
 ( row = 'jmp +64' )
 ( row = 'jmp +1' )
 ( row = 'acc +37' )
 ( row = 'jmp +161' )
 ( row = 'nop +549' )
 ( row = 'acc +21' )
 ( row = 'jmp +1' )
 ( row = 'nop +325' )
 ( row = 'jmp +331' )
 ( row = 'acc +0' )
 ( row = 'acc +25' )
 ( row = 'jmp +431' )
 ( row = 'nop +349' )
 ( row = 'jmp +45' )
 ( row = 'acc +37' )
 ( row = 'acc +9' )
 ( row = 'jmp +354' )
 ( row = 'jmp +132' )
 ( row = 'jmp +307' )
 ( row = 'jmp +1' )
 ( row = 'nop +465' )
 ( row = 'jmp +386' )
 ( row = 'acc +13' )
 ( row = 'acc +20' )
 ( row = 'jmp -20' )
 ( row = 'acc -15' )
 ( row = 'nop +158' )
 ( row = 'jmp +415' )
 ( row = 'acc +33' )
 ( row = 'acc +40' )
 ( row = 'acc +38' )
 ( row = 'acc -2' )
 ( row = 'jmp +81' )
 ( row = 'acc +44' )
 ( row = 'acc +9' )
 ( row = 'acc +15' )
 ( row = 'nop +139' )
 ( row = 'jmp -18' )
 ( row = 'nop +187' )
 ( row = 'acc +47' )
 ( row = 'acc +45' )
 ( row = 'acc +40' )
 ( row = 'jmp +456' )
 ( row = 'acc +48' )
 ( row = 'jmp +1' )
 ( row = 'jmp -75' )
 ( row = 'acc +11' )
 ( row = 'acc -13' )
 ( row = 'nop +222' )
 ( row = 'jmp +202' )
 ( row = 'acc +38' )
 ( row = 'acc +31' )
 ( row = 'acc -11' )
 ( row = 'acc +1' )
 ( row = 'jmp +431' )
 ( row = 'acc +37' )
 ( row = 'nop +195' )
 ( row = 'jmp +118' )
 ( row = 'acc -8' )
 ( row = 'jmp +1' )
 ( row = 'jmp +154' )
 ( row = 'acc +7' )
 ( row = 'acc +13' )
 ( row = 'jmp +43' )
 ( row = 'jmp +507' )
 ( row = 'acc -2' )
 ( row = 'acc +11' )
 ( row = 'jmp +465' )
 ( row = 'acc -12' )
 ( row = 'nop -103' )
 ( row = 'jmp +50' )
 ( row = 'acc +2' )
 ( row = 'nop +4' )
 ( row = 'acc +46' )
 ( row = 'acc +17' )
 ( row = 'jmp +100' )
 ( row = 'nop +149' )
 ( row = 'jmp +397' )
 ( row = 'nop -28' )
 ( row = 'jmp +236' )
 ( row = 'acc +0' )
 ( row = 'nop +465' )
 ( row = 'acc +19' )
 ( row = 'acc -5' )
 ( row = 'jmp +91' )
 ( row = 'jmp +118' )
 ( row = 'acc -3' )
 ( row = 'nop +176' )
 ( row = 'acc +8' )
 ( row = 'jmp +24' )
 ( row = 'jmp +235' )
 ( row = 'acc -7' )
 ( row = 'nop -1' )
 ( row = 'nop +347' )
 ( row = 'acc +33' )
 ( row = 'jmp +165' )
 ( row = 'acc -18' )
 ( row = 'acc +9' )
 ( row = 'acc -8' )
 ( row = 'jmp +179' )
 ( row = 'acc -3' )
 ( row = 'acc +40' )
 ( row = 'jmp +1' )
 ( row = 'acc +5' )
 ( row = 'jmp +475' )
 ( row = 'jmp +70' )
 ( row = 'acc +50' )
 ( row = 'acc -1' )
 ( row = 'acc -11' )
 ( row = 'acc +43' )
 ( row = 'jmp +283' )
 ( row = 'nop +114' )
 ( row = 'jmp +161' )
 ( row = 'acc -19' )
 ( row = 'acc +50' )
 ( row = 'acc +47' )
 ( row = 'acc +49' )
 ( row = 'jmp +381' )
 ( row = 'jmp +1' )
 ( row = 'jmp -94' )
 ( row = 'nop +373' )
 ( row = 'acc +26' )
 ( row = 'acc +7' )
 ( row = 'jmp +41' )
 ( row = 'acc -7' )
 ( row = 'jmp +264' )
 ( row = 'nop -40' )
 ( row = 'acc +23' )
 ( row = 'jmp -60' )
 ( row = 'acc +15' )
 ( row = 'acc +19' )
 ( row = 'acc +39' )
 ( row = 'acc -16' )
 ( row = 'jmp +283' )
 ( row = 'acc +4' )
 ( row = 'jmp +258' )
 ( row = 'acc +0' )
 ( row = 'acc +38' )
 ( row = 'acc -6' )
 ( row = 'jmp +32' )
 ( row = 'acc +33' )
 ( row = 'jmp +1' )
 ( row = 'acc -4' )
 ( row = 'acc +17' )
 ( row = 'jmp +149' )
 ( row = 'acc -17' )
 ( row = 'acc +39' )
 ( row = 'nop +75' )
 ( row = 'jmp -136' )
 ( row = 'acc +6' )
 ( row = 'acc +10' )
 ( row = 'jmp +1' )
 ( row = 'acc +9' )
 ( row = 'jmp +390' )
 ( row = 'jmp +363' )
 ( row = 'acc +32' )
 ( row = 'jmp +95' )
 ( row = 'jmp -71' )
 ( row = 'acc +12' )
 ( row = 'jmp +86' )
 ( row = 'acc +49' )
 ( row = 'acc +2' )
 ( row = 'acc +0' )
 ( row = 'jmp +139' )
 ( row = 'nop +363' )
 ( row = 'acc +21' )
 ( row = 'jmp +366' )
 ( row = 'jmp +1' )
 ( row = 'acc +16' )
 ( row = 'acc -13' )
 ( row = 'jmp +55' )
 ( row = 'jmp -159' )
 ( row = 'acc +46' )
 ( row = 'acc +50' )
 ( row = 'jmp +266' )
 ( row = 'acc +2' )
 ( row = 'jmp -180' )
 ( row = 'jmp -181' )
 ( row = 'acc +41' )
 ( row = 'acc -3' )
 ( row = 'nop -176' )
 ( row = 'jmp +121' )
 ( row = 'acc +23' )
 ( row = 'jmp +281' )
 ( row = 'acc +5' )
 ( row = 'acc +14' )
 ( row = 'acc -8' )
 ( row = 'jmp +128' )
 ( row = 'jmp +281' )
 ( row = 'nop +81' )
 ( row = 'jmp +1' )
 ( row = 'acc +36' )
 ( row = 'acc +34' )
 ( row = 'jmp -176' )
 ( row = 'acc +8' )
 ( row = 'jmp +309' )
 ( row = 'acc +11' )
 ( row = 'nop -77' )
 ( row = 'jmp -40' )
 ( row = 'acc +0' )
 ( row = 'acc +8' )
 ( row = 'acc +14' )
 ( row = 'jmp +296' )
 ( row = 'nop +197' )
 ( row = 'nop -124' )
 ( row = 'acc +38' )
 ( row = 'acc +9' )
 ( row = 'jmp +310' )
 ( row = 'jmp -183' )
 ( row = 'jmp +353' )
 ( row = 'acc +28' )
 ( row = 'acc -18' )
 ( row = 'nop +120' )
 ( row = 'jmp -217' )
 ( row = 'acc +49' )
 ( row = 'acc +38' )
 ( row = 'jmp -243' )
 ( row = 'nop -68' )
 ( row = 'acc +9' )
 ( row = 'acc +15' )
 ( row = 'nop +43' )
 ( row = 'jmp -46' )
 ( row = 'acc -4' )
 ( row = 'jmp +262' )
 ( row = 'jmp +176' )
 ( row = 'nop -139' )
 ( row = 'acc +38' )
 ( row = 'acc +35' )
 ( row = 'acc -8' )
 ( row = 'jmp -225' )
 ( row = 'acc +37' )
 ( row = 'acc +49' )
 ( row = 'acc +42' )
 ( row = 'nop +278' )
 ( row = 'jmp +264' )
 ( row = 'acc -11' )
 ( row = 'nop +291' )
 ( row = 'acc +21' )
 ( row = 'nop -221' )
 ( row = 'jmp +80' )
 ( row = 'acc +15' )
 ( row = 'acc +13' )
 ( row = 'acc +2' )
 ( row = 'nop -40' )
 ( row = 'jmp +309' )
 ( row = 'acc -18' )
 ( row = 'acc -5' )
 ( row = 'acc +24' )
 ( row = 'jmp -70' )
 ( row = 'acc +12' )
 ( row = 'jmp -261' )
 ( row = 'acc +4' )
 ( row = 'acc -2' )
 ( row = 'acc +3' )
 ( row = 'jmp +1' )
 ( row = 'jmp +302' )
 ( row = 'acc -7' )
 ( row = 'jmp +1' )
 ( row = 'acc +39' )
 ( row = 'jmp +73' )
 ( row = 'jmp +18' )
 ( row = 'acc +3' )
 ( row = 'jmp +277' )
 ( row = 'acc +4' )
 ( row = 'nop +125' )
 ( row = 'nop -284' )
 ( row = 'acc +41' )
 ( row = 'jmp -312' )
 ( row = 'acc +13' )
 ( row = 'jmp -183' )
 ( row = 'nop -35' )
 ( row = 'jmp -137' )
 ( row = 'jmp -76' )
 ( row = 'acc +1' )
 ( row = 'acc +31' )
 ( row = 'acc +39' )
 ( row = 'jmp +56' )
 ( row = 'jmp +290' )
 ( row = 'jmp +1' )
 ( row = 'acc +12' )
 ( row = 'nop +71' )
 ( row = 'acc +43' )
 ( row = 'jmp -296' )
 ( row = 'jmp +68' )
 ( row = 'acc -14' )
 ( row = 'acc +35' )
 ( row = 'nop -290' )
 ( row = 'jmp -24' )
 ( row = 'acc +39' )
 ( row = 'acc -8' )
 ( row = 'nop +110' )
 ( row = 'jmp +1' )
 ( row = 'jmp +78' )
 ( row = 'acc +11' )
 ( row = 'acc +9' )
 ( row = 'acc -11' )
 ( row = 'acc +50' )
 ( row = 'jmp +167' )
 ( row = 'acc +50' )
 ( row = 'acc +19' )
 ( row = 'acc +0' )
 ( row = 'jmp -221' )
 ( row = 'acc -4' )
 ( row = 'acc -6' )
 ( row = 'nop +11' )
 ( row = 'acc +49' )
 ( row = 'jmp -348' )
 ( row = 'nop +197' )
 ( row = 'acc +6' )
 ( row = 'jmp -196' )
 ( row = 'nop -155' )
 ( row = 'jmp -76' )
 ( row = 'acc +50' )
 ( row = 'acc -8' )
 ( row = 'jmp -89' )
 ( row = 'acc +9' )
 ( row = 'jmp +255' )
 ( row = 'acc +25' )
 ( row = 'jmp +199' )
 ( row = 'jmp -35' )
 ( row = 'acc +46' )
 ( row = 'acc +25' )
 ( row = 'jmp +1' )
 ( row = 'acc +32' )
 ( row = 'jmp -31' )
 ( row = 'acc -3' )
 ( row = 'acc -5' )
 ( row = 'jmp +73' )
 ( row = 'acc +7' )
 ( row = 'acc +22' )
 ( row = 'acc -15' )
 ( row = 'jmp +145' )
 ( row = 'nop -97' )
 ( row = 'acc +47' )
 ( row = 'acc +22' )
 ( row = 'jmp -110' )
 ( row = 'acc +44' )
 ( row = 'acc +4' )
 ( row = 'jmp -383' )
 ( row = 'acc +34' )
 ( row = 'jmp +1' )
 ( row = 'jmp +16' )
 ( row = 'nop -128' )
 ( row = 'acc +43' )
 ( row = 'jmp -34' )
 ( row = 'nop +95' )
 ( row = 'acc +3' )
 ( row = 'jmp +4' )
 ( row = 'acc +13' )
 ( row = 'acc -2' )
 ( row = 'jmp -90' )
 ( row = 'acc +39' )
 ( row = 'jmp +187' )
 ( row = 'acc +24' )
 ( row = 'acc +23' )
 ( row = 'acc +42' )
 ( row = 'jmp -11' )
 ( row = 'jmp -281' )
 ( row = 'jmp +1' )
 ( row = 'acc +25' )
 ( row = 'jmp -157' )
 ( row = 'acc +3' )
 ( row = 'acc -3' )
 ( row = 'nop -24' )
 ( row = 'acc -13' )
 ( row = 'jmp -46' )
 ( row = 'acc +10' )
 ( row = 'acc +16' )
 ( row = 'nop -7' )
 ( row = 'jmp -289' )
 ( row = 'nop -408' )
 ( row = 'acc -5' )
 ( row = 'acc +23' )
 ( row = 'nop +91' )
 ( row = 'jmp -234' )
 ( row = 'acc +0' )
 ( row = 'acc +4' )
 ( row = 'acc +15' )
 ( row = 'acc -15' )
 ( row = 'jmp -367' )
 ( row = 'acc +32' )
 ( row = 'acc -9' )
 ( row = 'acc +13' )
 ( row = 'jmp -194' )
 ( row = 'acc +38' )
 ( row = 'nop +126' )
 ( row = 'acc +1' )
 ( row = 'nop +124' )
 ( row = 'jmp -275' )
 ( row = 'acc -14' )
 ( row = 'acc +26' )
 ( row = 'jmp +55' )
 ( row = 'jmp -388' )
 ( row = 'acc +3' )
 ( row = 'acc +8' )
 ( row = 'acc +31' )
 ( row = 'acc +34' )
 ( row = 'jmp -372' )
 ( row = 'acc +45' )
 ( row = 'jmp -115' )
 ( row = 'acc -6' )
 ( row = 'acc +47' )
 ( row = 'acc -17' )
 ( row = 'acc +29' )
 ( row = 'jmp -438' )
 ( row = 'acc +33' )
 ( row = 'jmp -113' )
 ( row = 'jmp -301' )
 ( row = 'jmp -396' )
 ( row = 'acc +46' )
 ( row = 'jmp -284' )
 ( row = 'acc -14' )
 ( row = 'acc +11' )
 ( row = 'acc +20' )
 ( row = 'nop -356' )
 ( row = 'jmp -445' )
 ( row = 'acc +20' )
 ( row = 'acc -6' )
 ( row = 'acc -8' )
 ( row = 'jmp +134' )
 ( row = 'nop +54' )
 ( row = 'acc +33' )
 ( row = 'jmp +1' )
 ( row = 'acc +3' )
 ( row = 'jmp +108' )
 ( row = 'acc +14' )
 ( row = 'nop +67' )
 ( row = 'nop -66' )
 ( row = 'acc +45' )
 ( row = 'jmp +117' )
 ( row = 'acc +45' )
 ( row = 'acc +42' )
 ( row = 'acc +25' )
 ( row = 'acc -18' )
 ( row = 'jmp -354' )
 ( row = 'acc +8' )
 ( row = 'jmp -240' )
 ( row = 'nop -373' )
 ( row = 'acc -8' )
 ( row = 'jmp +72' )
 ( row = 'jmp -95' )
 ( row = 'jmp -350' )
 ( row = 'jmp -62' )
 ( row = 'acc +6' )
 ( row = 'acc -18' )
 ( row = 'jmp +108' )
 ( row = 'acc +14' )
 ( row = 'acc +11' )
 ( row = 'nop -164' )
 ( row = 'acc +4' )
 ( row = 'jmp +6' )
 ( row = 'acc +24' )
 ( row = 'acc +11' )
 ( row = 'acc -7' )
 ( row = 'acc +27' )
 ( row = 'jmp -171' )
 ( row = 'acc +23' )
 ( row = 'acc +36' )
 ( row = 'acc +20' )
 ( row = 'acc +42' )
 ( row = 'jmp -51' )
 ( row = 'acc +28' )
 ( row = 'acc +10' )
 ( row = 'jmp -218' )
 ( row = 'nop +63' )
 ( row = 'jmp -294' )
 ( row = 'acc -10' )
 ( row = 'nop +44' )
 ( row = 'jmp +43' )
 ( row = 'jmp -444' )
 ( row = 'acc +20' )
 ( row = 'acc +39' )
 ( row = 'acc +29' )
 ( row = 'jmp -507' )
 ( row = 'jmp -265' )
 ( row = 'jmp -471' )
 ( row = 'nop +17' )
 ( row = 'acc +39' )
 ( row = 'acc +4' )
 ( row = 'jmp -54' )
 ( row = 'acc +1' )
 ( row = 'nop -448' )
 ( row = 'acc -18' )
 ( row = 'acc +3' )
 ( row = 'jmp -495' )
 ( row = 'acc +17' )
 ( row = 'acc +16' )
 ( row = 'jmp +6' )
 ( row = 'acc +6' )
 ( row = 'acc +0' )
 ( row = 'jmp +1' )
 ( row = 'acc -15' )
 ( row = 'jmp -317' )
 ( row = 'jmp -77' )
 ( row = 'acc +4' )
 ( row = 'acc +30' )
 ( row = 'acc -3' )
 ( row = 'jmp -187' )
 ( row = 'acc -11' )
 ( row = 'nop -189' )
 ( row = 'nop -488' )
 ( row = 'jmp -140' )
 ( row = 'acc +50' )
 ( row = 'jmp -142' )
 ( row = 'nop -211' )
 ( row = 'jmp -166' )
 ( row = 'acc -12' )
 ( row = 'acc +7' )
 ( row = 'acc +32' )
 ( row = 'acc +40' )
 ( row = 'jmp -384' )
 ( row = 'jmp -186' )
 ( row = 'nop -261' )
 ( row = 'acc +32' )
 ( row = 'acc +19' )
 ( row = 'acc +44' )
 ( row = 'jmp +16' )
 ( row = 'acc +15' )
 ( row = 'acc +30' )
 ( row = 'nop -476' )
 ( row = 'acc +9' )
 ( row = 'jmp -299' )
 ( row = 'acc -17' )
 ( row = 'acc -17' )
 ( row = 'acc -4' )
 ( row = 'acc +44' )
 ( row = 'jmp -133' )
 ( row = 'jmp -58' )
 ( row = 'acc +21' )
 ( row = 'acc +4' )
 ( row = 'acc -19' )
 ( row = 'jmp -170' )
 ( row = 'acc +32' )
 ( row = 'acc -3' )
 ( row = 'jmp -363' )
 ( row = 'acc +48' )
 ( row = 'acc +9' )
 ( row = 'acc +48' )
 ( row = 'jmp +5' )
 ( row = 'acc +30' )
 ( row = 'acc +40' )
 ( row = 'jmp -450' )
 ( row = 'jmp -282' )
 ( row = 'jmp -388' )
 ( row = 'acc +12' )
 ( row = 'jmp -361' )
 ( row = 'acc -6' )
 ( row = 'jmp -237' )
 ( row = 'acc +27' )
 ( row = 'acc +16' )
 ( row = 'acc -19' )
 ( row = 'acc -5' )
 ( row = 'jmp -145' )
 ( row = 'acc +38' )
 ( row = 'jmp -565' )
 ( row = 'nop -341' )
 ( row = 'jmp +11' )
 ( row = 'acc +22' )
 ( row = 'nop -219' )
 ( row = 'jmp -597' )
 ( row = 'acc +33' )
 ( row = 'jmp -572' )
 ( row = 'jmp -292' )
 ( row = 'acc +7' )
 ( row = 'acc -14' )
 ( row = 'acc +33' )
 ( row = 'jmp -432' )
 ( row = 'acc +47' )
 ( row = 'jmp -41' )
 ( row = 'nop -306' )
 ( row = 'jmp -85' )
 ( row = 'jmp +1' )
 ( row = 'nop -215' )
 ( row = 'acc +30' )
 ( row = 'acc +9' )
 ( row = 'jmp -71' )
 ( row = 'acc +42' )
 ( row = 'acc +49' )
 ( row = 'jmp -553' )
 ( row = 'acc +28' )
 ( row = 'acc +43' )
 ( row = 'jmp +1' )
 ( row = 'jmp -147' )
 ( row = 'acc +44' )
 ( row = 'acc +26' )
 ( row = 'nop -176' )
 ( row = 'jmp -582' )
 ( row = 'acc +7' )
 ( row = 'acc -14' )
 ( row = 'acc +16' )
 ( row = 'acc +34' )
 ( row = 'jmp +1' ) ).

TYPES: BEGIN OF t_checklist,
         instruction_index TYPE i,
       END OF t_checklist.

DATA: lv_cur_position TYPE i VALUE 1,
      lv_accumulator  TYPE i VALUE 0,
      lt_checklist    TYPE TABLE OF t_checklist,
      lv_prefix       TYPE string,
      wa_checklist    LIKE LINE OF lt_checklist.

DO.
  READ TABLE lv_input INTO wa_input INDEX lv_cur_position.

  IF line_exists( lt_checklist[ instruction_index = lv_cur_position ] ).
    EXIT.
  ELSE. " Store the instruction as executed.
    wa_checklist-instruction_index = lv_cur_position.
    APPEND wa_checklist TO lt_checklist.
  ENDIF.

  SPLIT wa_input-row AT ' ' INTO TABLE DATA(lv_instruction).
  READ TABLE lv_instruction INTO DATA(lv_operation) INDEX 1.
  READ TABLE lv_instruction INTO DATA(lv_argument) INDEX 2.

  CASE lv_operation.
    WHEN 'jmp'. " Jump to a position
      lv_prefix = lv_argument+0(1).
      REPLACE '+' WITH '' INTO lv_argument.
      REPLACE '-' WITH '' INTO lv_argument.
      CONDENSE lv_argument NO-GAPS.

      CASE lv_prefix.
        WHEN '+'.
          lv_cur_position = lv_cur_position + lv_argument. " Adds the argument number
        WHEN '-'.
          lv_cur_position = lv_cur_position - lv_argument. " Subs the argument number
      ENDCASE.
    WHEN 'acc'. " Add / Sub value to the accumulator and goes to the next line
      lv_prefix = lv_argument+0(1).
      REPLACE '+' WITH '' INTO lv_argument.
      REPLACE '-' WITH '' INTO lv_argument.
      CONDENSE lv_argument NO-GAPS.

      CASE lv_prefix.
        WHEN '+'.
          lv_accumulator = lv_accumulator + lv_argument. " Adds the argument number
        WHEN '-'.
          lv_accumulator = lv_accumulator - lv_argument. " Subs the argument number
      ENDCASE.

      lv_cur_position = lv_cur_position + 1.
    WHEN 'nop'. " No Operation, just go to the next line.
      lv_cur_position = lv_cur_position + 1.
  ENDCASE.
ENDDO.
WRITE: 'Result accumulator: ' && lv_accumulator.
