# What does "computer steps" mean in this runtime definition?

My algorithms textbook defines $$T(n)$$ as "the number of computer steps needed to compute fib1(n)" (where fib1(n) computes the $$n$$th Fibonacci number recursively). I am wondering what exactly "the number of computer steps" means- is it the number of lines executed by the program (often times "stepping through code" in the debugger means to go line by line in the debugger)- or is it something else, like the number of operations (add, multiplying, equality checks, etc.)?

In context, it is hard to tell, as both interpretations could explain values of $$T(n)$$. Below is the provided pseudocode for fib1(n) (the book merely says for $$n \leq 1, T(n) \leq 2$$)

function fib1(n)
if n=0: return 0
if n=1: return 1
return fib1(n-1) + fib1(n-2)


Perhaps the way the fact that the book used an inequality without precisely saying the value of $$T(n)$$ when $$n \leq 1$$ suggests there is no hard and fast rule on what constitutes a computer step; however, should I think of what a computer step is here?

In your case, it is better to write that $$T(n) \le c = O(1)$$ for $$n\le 1$$ and some positive constant $$c$$, since there can be multiple operations involved for a conditional block like if n == 0: return 0.
So if you calculate the execution time of an algorithm as O(f(n)) or $$\Theta(f(n))$$ etc, then the result applies to all kinds of different computers.