manual:chapter5:asm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
manual:chapter5:asm [2019/12/04 15:36]
claudio [Example code]
manual:chapter5:asm [2021/09/29 05:58] (current)
jojo1973 [Simple assignments with operators]
Line 5: Line 5:
 In these cases a compact subset of instructions, with a different syntax and based on the manipulation of a small number of global registers, may achieve greater clarity; this subset of the language, given its compact format, is called **Assembly-like Instruction Set**. In these cases a compact subset of instructions, with a different syntax and based on the manipulation of a small number of global registers, may achieve greater clarity; this subset of the language, given its compact format, is called **Assembly-like Instruction Set**.
  
-The Assembly-like Instruction Set is not meant as a separate programming language neither its feature are intended to be sandboxed in exclusive environments: its statements can be freely intermingled with **newRPL** commands and to suit anyone's programming style.+The Assembly-like Instruction Set is not meant as a separate programming language neither its features are intended to be sandboxed in exclusive environments: its statements can be freely intermingled with **newRPL** commands to suit anyone's programming style.
  
 ==== Registers and pseudo-registers ==== ==== Registers and pseudo-registers ====
Line 69: Line 69:
  
 | '':A=B+#1'' | Add ''1'' to the value of register ''B'' and assign the result to register ''A''  | | '':A=B+#1'' | Add ''1'' to the value of register ''B'' and assign the result to register ''A''  |
-| '':E=R { 1 2 3 }'' Assign the list ''{ 1 2 3 }'' to register ''E''  |+| '':E=R { 1 2 3 }'' Store the list ''{ 1 2 3 }'' in register ''E''  |
 | '':P=A''  | Push the value of register ''A'' to the stack  | | '':P=A''  | Push the value of register ''A'' to the stack  |
 | '':A=S2'' '':S2=S1'' '':S1=A''  | Swap stack level 1 with level 2 using register ''A'' as temporary storage. An error is raised if the stack contains less than 2 levels  | | '':A=S2'' '':S2=S1'' '':S1=A''  | Swap stack level 1 with level 2 using register ''A'' as temporary storage. An error is raised if the stack contains less than 2 levels  |
 | '':C+=B^#2''  | Square the value register ''B'' and adds the result to register ''C''  | | '':C+=B^#2''  | Square the value register ''B'' and adds the result to register ''C''  |
 +| '':B=R^#2 π''  | Assign ''%%'%%π^2%%'%%'' to register B. This example shows that register ''R'' must not necessarily be the second argument of a binary operator  |
  
 ==== Assignment with math functions ==== ==== Assignment with math functions ====
  • manual/chapter5/asm.1575502602.txt.gz
  • Last modified: 2019/12/04 15:36
  • by claudio