0

Is it fair to assume that all or most operations in modern software like mouse movements, keyboard events, working with a browser and its controls, playing a game etc. come down to arithmetic/logical operations and data movements?

I've come to this conclusion after looking at the Instructions Set of modern processors:

  1. Data handling and memory operations
  2. Arithmetic and logic operations
  3. Control flow operations
Max Koretskyi
  • 521
  • 1
  • 4
  • 12
  • 1
    What conclusion are you trying to reach? – whatsisname Jul 16 '18 at 16:12
  • @whatsisname, that whatever code I write in higher level languages like C++ or Java, it will always come down to any of the three types of instructions – Max Koretskyi Jul 16 '18 at 16:14
  • 1
    Fun fact: [the x86 mov instruction is Turing-complete (PDF)](https://www.cl.cam.ac.uk/~sd601/papers/mov.pdf). Someone went and turned that into a [mov-only compiler](https://github.com/xoreaxeaxeax/movfuscator) – amon Jul 16 '18 at 16:25
  • If you define the three categories broadly enough, then yes. – Philip Kendall Jul 16 '18 at 16:30
  • Everything that a modern computer's main processor chip does essentially boils down to simple math, making yes/no decisions and moving data around, as you've already correctly concluded by looking at the instruction sets. – Robert Harvey Jul 16 '18 at 16:35
  • You may find the broad discussion of minimal ISA's in the article [One instruction set computer](https://en.wikipedia.org/wiki/One_instruction_set_computer) of interest. – Erik Eidt Jul 16 '18 at 16:54
  • @ErikEidt: Well, if you really want to go that far down, every computer is essentially an elaborate series of on-off switches. – Robert Harvey Jul 16 '18 at 17:06
  • Arithmetic is really just logic and so is control flow. So really it comes down to data and logic. – JimmyJames Jul 16 '18 at 17:22
  • no amount of maths is going to make your mouse move – Ewan Jul 16 '18 at 18:55

0 Answers0