laicky receno to vypada, ze obsah registru (resp. spis jakasi stinova informace o typu hodnoty, v nem ulozene) se po zavolani funkce "ztrati", a to i presto, ze prislusna hodnota v tomto regsitru stale je (volana fce puvodni obsah registru uklada a zase vraci).
Kodem receno: (du6-test8)
Kód: Vybrat vše
TWO:
38: EPUSH R0 // ulozeni puvodni hodnoty R0 na svuj stack
39: ELDLITI R0,LITINT[0] // naplneni R0
40: LESTI [-1],R0 // ulozeni obsahu R0 na ocekavane misto, vyhrazene volajici fci pro navratovou hodnotu
41: EPOP R0 // vraceni puvodni hodnoty R0
42: RET
DU6TEST:
43: ELDLITI R0,LITINT[1] // naplneni R0
44: INITI // vyhrazeni mista pro navratovou hodnotu fce TWO
45: CALL 38 ;; label=TWO // zavolani TWO
46: EPOPI R1 // ulozeni vracene hodnoty TWO do R1
47: EGTI R0,R0,R1 // tady to rve, jakoby v R0 ten puvodni int uz nebyl, ale on tam je
48: JEF 6,R0 ;; target=54
[...]