Your mario Assembly is quite the thing. It looks to me like it's an intermediate language that I'd put just barely above assembly, and the insertion tool is like a compiler that adjusts the rom size (I doubt it shifts everything, that would ruin the long jumps, so maybe it appends it and jumps to that? Although, it might autocorrect any long jumps, that could probably be done as well). X, A, and Y look like the registers EAX, EDX and ECX.
Well, as far as thinking in Assembly, here are my thoughts.
LDA #$10
STA $AA,x
JSR SUB_HORZ_POS
TYA
STA $157C,x
So, function here grabs player position, runs a comparison, and assigns A a value of 0 or !0 based upon where we are.
If we are != 0, we're facing right so let's go to that code.
LDA $B6
CMP #$E0
BEQ MAX_SPEED_LEFT
DEA
STA $B6,x
BRA LEFT
Mov register A to the entity's velocity?
Is velocity E0? if ==, jump to the end
Decrease register A by 1
This command I don't really get the mnemonics of, looks like Store A in register B6, but what's the x for?
last line is an unconditional jump command?
And then the right side is basically the same thing. Well, it seems solid, as long as my assumption was right and B6 is the velocity.
EDIT: You're welcome?

I had fun hypothesizing at least.