Todo la informacion que tu das es muy cierta y esta bastante completa, realmente a mi no se me hubiera ocurrido responderlo de esa manera.
Sin embargo trate de hacer mi comentario lo mas sencillo y entendible posible, para que un "beginner" lo entienda, sin adentrar en los detalles del proceso de ejecucion ni en la arquitectura del pc, un tanto porque este tema ya hace parte un poco mas del foro de assembler, y otro tanto porque, como tu mismo te daras cuenta, quedan muchos asuntos pendientes. Aunque tal vez jonathan si conozca algo de los registros del procesador, la inmensa mayoria en este foro no sabra a que te refieres con el registro IP del procesador, ni tampoco entendera el porque existe un limite de salto, ni siquiera a que te refieres con salto...
Creo que tu solucion quedo aun mas lejana que la mia, para que la entienda un principiante.
Pero olvidandonos del detalle de los "beginners", si esta muy buena tu publicacion, porque aunque a decir verdad manejo estos conceptos, no lo hago cotidianamente y como ya lo dije no se me hubiese ocurrido responder asi, a veces hace falta para que algun no-beginner, aclare algunas inquietudes.
Chau
Juank