Published in Volume XVII, 2007, pages 19-46

Authors: J. A. Bergstra and C. A. Middelburg


We study sequential programs that are instruction sequences with direct and indirect jump instructions. The intuition is that indirect jump instructions are jump instructions where the position of the instruction to jump to is the content of some memory cell.

Full Text (PDF)


[1] J.A. Bergstra, I. Bethke. Polarized process algebra and program equivalence, in J.C.M. Baeten, J.K. Lenstra, J. Parrow, G.J. Woeginger (editors), Proceedings 30th ICALP, Lecture Notes in Computer Science Vol. 2719, pp. 1-21, Springer-Verlag, Berlin, 2003.

[2] J.A. Bergstra, I. Bethke. Predictable and reliable program code: Virtual machine based projection semantics, in J.A. Bergstra, M. Burgess (editors), Handbook of Network and Systems Administration, pp. 653-685, Elsevier, Amsterdam, 2007.

[3] J.A. Bergstra, M.E. Loots. Program algebra for sequential code, Journal of Logic and Algebraic Programming, Vol. 51, pp. 125-156, 2002.

[4] J.A. Bergstra, C.A. Middelburg. Splitting bisimulations and retrospective conditions, Information and Computation, Vol. 204, pp. 1083– 1138, 2006.

[5] J.A. Bergstra, C.A. Middelburg. Thread algebra with multi-level strategies, Fundamenta Informaticae, Vol. 71, pp. 153-182, 2006.

[6] J.A. Bergstra, C.A. Middelburg. Distributed strategic interleaving with load balancing, Future Generation Computer Systems, doi: 10.1016/j.future.2007.08.001, in press, 2007.

[7] J.A. Bergstra, C.A. Middelburg. Thread algebra for strategic interleaving, Formal Aspects of Computing, Vol. 19, pp. 445-474, 2007.

[8] J.A. Bergstra, C.A. Middelburg. Maurer computers for pipelined instruction processing, Mathematical Structures in Computer Science, doi: 10.1017/S0960129507006548, in press, 2008.

[9] J.A. Bergstra, A. Ponse. Combining programs and state machines, Journal of Logic and Algebraic Programming, Vol. 51, pp. 175-192, 2002.

[10] W.J. Fokkink. Introduction to Process Algebra, Texts in Theoretical Computer Science, An EATCS Series, Springer-Verlag, Berlin, 2000.

[11] J. Gosling, B. Joy, G. Steele, G. Bracha. The Java Language Specification, second edition, Addison-Wesley, Reading, Massachusetts, 2000.

[12] A. Hejlsberg, S. Wiltamuth, P. Golde. C# Language Specification, Addison-Wesley, Reading, Massachusetts, 2003.

[13] W.D. Maurer. A theory of computer instructions, Journal of the ACM, Vol. 13, pp. 226-235, 1966.

[14] W.D. Maurer. A theory of computer instructions, Science of Computer Programming, Vol. 60, pp. 244-273, 2006.

[15] A. Ponse. Program algebra with unit instruction operators, Journal of Logic and Algebraic Programming, Vol. 51, pp. 157-174, 2002.

[16] D. Sannella, A. Tarlecki. Algebraic preliminaries, in E. Astesiano, H.-J. Kreowski, B. Krieg-Bruckner (editors), Algebraic Foundations of Systems Specification, pp. 13-30, Springer-Verlag, Berlin, 1999.

[17] M. Wirsing. Algebraic specification, in J. van Leeuwen (editor), Handbook of Theoretical Computer Science, Vol. B, pp. 675-788, Elsevier, Amsterdam, 1990.


  title={Instruction Sequences with Indirect Jumps},
  author={J. A. Bergstra and C. A. Middelburg},
  journal={Scientific Annals of Computer Science},
  organization={``A.I. Cuza'' University, Iasi, Romania},
  publisher={``A.I. Cuza'' University Press}