added calling convesions
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 35s
All checks were successful
Build Typst PDFs (Docker) / build-typst (push) Successful in 35s
This commit is contained in:
@@ -336,7 +336,74 @@
|
||||
|
||||
Wort: $64$ Bit
|
||||
|
||||
]
|
||||
*Calling Convensions*
|
||||
|
||||
#cetz.canvas({
|
||||
import cetz.draw : *
|
||||
|
||||
let cellHeight = 0.4
|
||||
let cellWidth = 2
|
||||
|
||||
let c(y, c, x: 0, number: "") = {
|
||||
rect((x, cellHeight*y), (x + cellWidth, cellHeight*(y+1)), fill: white)
|
||||
content((x+ cellWidth/2, cellHeight*(y+0.5)), c)
|
||||
content((x - 0.2, cellHeight*(y+0.5)), number, anchor: "mid-east")
|
||||
}
|
||||
|
||||
c(0, "3.Param", number: raw("0x3FFFFFFFFFFFFFF8"))
|
||||
c(1, "2.Param", number: raw("0x3FFFFFFFFFFFFFF0"))
|
||||
c(2, "1.Param", number: raw("0x3FFFFFFFFFFFFFE8"))
|
||||
c(3, "Sicherung $1", number: raw("0x3FFFFFFFFFFFFFE0"))
|
||||
c(4, "Sicherung $2", number: raw("0x3FFFFFFFFFFFFFD8"))
|
||||
|
||||
c(0, "Rückgabe wert", x: cellWidth)
|
||||
})
|
||||
|
||||
#colbreak()
|
||||
|
||||
#text(rgb("#1a00aa"))[
|
||||
*1. (Aufrufer) Parameter auf Stack ablegen*\
|
||||
#raw("SUB :SP,:SP,n*8
|
||||
STO $x0,:SP,0*8
|
||||
STO $x1,:SP,1*8
|
||||
...
|
||||
STO $xn,:SP,n*8")
|
||||
|
||||
*2. (Aufrufer) Funktions Aufruf*\
|
||||
#raw("GO $0,:Fkt")
|
||||
]
|
||||
|
||||
#text(rgb("#aa0000"))[
|
||||
*3. (Funktion) Sicherung der Register*\
|
||||
#raw("SUB :SP,:SP,n*8
|
||||
STO $y0,:SP,0*8
|
||||
STO $y1,:SP,1*8
|
||||
...
|
||||
STO $yn,:SP,n*8")
|
||||
|
||||
*4. (Funktion) Funktions Code*\
|
||||
|
||||
*5. (Funktion) Schreiben des Rückgabewerts*\
|
||||
#raw("
|
||||
STO $r,:SP,m*8
|
||||
")
|
||||
|
||||
*6. (Funktion) Wiederherstellung der Register*\
|
||||
#raw("LDO $x0,:SP, 0*8 + k
|
||||
LDO $x1,:SP, 1*8 + k
|
||||
...
|
||||
LDO $xn,:SP, n*8 + k
|
||||
")
|
||||
|
||||
*7. (Funktion) Rücksprung*\
|
||||
]
|
||||
|
||||
#text(rgb("#1a00aa"))[
|
||||
*8. (Aufrufer) Lesen des Rückgabewerts*\
|
||||
|
||||
|
||||
]
|
||||
]
|
||||
|
||||
#bgBlock(fill: colorRandomShit)[
|
||||
#subHeading(fill: colorRandomShit)[Register Register Magista]
|
||||
|
||||
Reference in New Issue
Block a user