Watch your condition flags. ADD modifies the flags register just as much as CMP does. So you only loop above if SI is not zero...
Also, the last two lines never get called...
Hope this helps.
Duoas
Postaholic
2,043 posts since Oct 2007
Reputation Points: 1,140
Solved Threads: 229