Abschließend wollte ich noch fragen was bringt der Sprung an 1b genau und was soll das 1: davor.
'1:' ist ein Label zu dem du springen kannst, und weil es von dem mehrere geben kann bzw. gibt steht das b im sprung für 'backward'
es ist also ein Sprung zum letzten label 1 vor dem jmp.
entsprechend würde jmp 1f (f für forward) zum nächsten Label '1' springen, also in dem fall von task_a zu dem dem in task_b und in task_b wurde es vermutlich einen fehler auslösen weil es danach kein weiteres Label '1' mehr gibt