With a service program I can change the parameter list to an existing
function, or let a completely different
function (with a changed parameter list) take over the name of an old
function; and still let old programs
using the old function work without modification or recompilation.
How would you accomplish this with your
CallM opcode?
What you are describing is similar to
function overloading. same function name, different argument types or number
of arguments. Two completely separate modules. One of the great
contributions of c++ and bjarne stroustrup. ( if he did not invent it, he
sure showed how well it could work, esp when combined with templates.
).
In my opinion, what you are describing is a bad
programming method. Adds more complexity to the system. If the new module
does something different that the old module, give it a new name or use a
typed language that supports overloading.
Or if you can justify this practice and agree that cpu is
virtually free, introduce an OvrPgm or OvrMod command. When the module
is called from the old pgms, override the call to the old
module.
regards,
steve