Self-modifying Code - Application in Low and High Level Languages

Application in Low and High Level Languages

Self-modification can be accomplished in a variety of ways depending upon the programming language and its support for pointers and/or access to dynamic compiler or interpreter 'engines':-

  • overlay of existing instructions (or parts of instructions such as opcode, register, flags or address) or
  • direct creation of whole instructions or sequences of instructions in memory
  • creating or modification of source code statements followed by a 'mini compile' or a dynamic interpretation (see eval statement)
  • creating an entire program dynamically and then executing it

Read more about this topic:  Self-modifying Code

Famous quotes containing the words application, high, level and/or languages:

    The receipt to make a speaker, and an applauded one too, is short and easy.—Take of common sense quantum sufficit, add a little application to the rules and orders of the House, throw obvious thoughts in a new light, and make up the whole with a large quantity of purity, correctness, and elegancy of style.
    Philip Dormer Stanhope, 4th Earl Chesterfield (1694–1773)

    For we wrestle not against flesh and blood, but against principalities, against powers, against the rulers of the darkness of this world, against spiritual wickedness in high places.
    —Bible: New Testament St. Paul, in Ephesians, 6:12.

    St. Paul’s words were used by William Blake as an epigraph to The Four Zoas (c. 1800)

    The man who loves other countries as much as his own stands on a level with the man who loves other women as much as he loves his own wife.
    Theodore Roosevelt (1858–1919)

    The less sophisticated of my forbears avoided foreigners at all costs, for the very good reason that, in their circles, speaking in tongues was commonly a prelude to snake handling. The more tolerant among us regarded foreign languages as a kind of speech impediment that could be overcome by willpower.
    Barbara Ehrenreich (b. 1941)