HLA program assignment

zhifeng1997
24.hla

program fib; #include("stdlib.hhf"); static value : int8; //returnAddress : dword; //temp: int16; procedure fibRec( value : int8 ); @nodisplay; @noframe; begin fibRec; mov(DL, value); mov(1, DL); cmp(CL, 1); je Res1; cmp(CL, 2); je Res1; jmp Else1; Res1: mov(1, DL); Else1: //mov(1, EDX); push(EDX); dec(CL); call fibRec; push(ECX); dec(CL); call fibRec; pop(EDX); add(CL, DL); pop(EDX); ret(); end fibRec; begin fib; stdout.put( "Provide a value: " ); stdin.get(value); //CHANGED TO IVALUE mov(CL, value); //SAVES THE INPUT TO A REGISTER call fibRec; // MUST CALL THE PROCEDURE stdout.put("fib("); stdout.puti8(value); stdout.put(") = "); stdout.put(EDX); end fib;