mekatronik 618
Postad: 5 jan 2022 10:50 Redigerad: 5 jan 2022 12:28

Stackpekarens position

Hej, jag sitter med en quiz fråga som jag fick rätt på. Jag gjorde dock en vild gissning här utan att faktiskt veta om jag gjort rätt, men såhär följer frågan:

Jag gjorde en minnestabell som följde stackpekarens position när jag utförde PSH instruktionen, mina fråga är vid instruktionen "LEAX -1,X" är det då stackpekarens position som ändras eller värdet i register X? Jag fick rätt när jag antog att den ändra stackpekarens position men jag är osäker på om det är rätt.

Använder denna processor: http://www.cse.chalmers.se/edu/year/2014/course/EDA216/FlisProcessorHandbok-A4.pdf

 

Då detta är assembly är tråden flyttad till delforumet programmering istället för teknik. /Dracaena

Laguna Online 28597
Postad: 5 jan 2022 11:39

LEAX -1,X verkar bara ändra X, när jag tittar i manualen, men den innan, LEAX 2,SP, ändrar SP.

mekatronik 618
Postad: 5 jan 2022 11:54
Laguna skrev:

LEAX -1,X verkar bara ändra X, när jag tittar i manualen, men den innan, LEAX 2,SP, ändrar SP.

Jag tänker att det är något sånt egentligen men problemet är att stackpekaren inte då drar in värdet 22 hexadecimalt till register X. Här är mitt diagram som jag konstruera för att hålla koll på stackpekarens position:

1.  SP-> F0$442. SP-> EF$223.SP->EE

Det första steget pushar jag innehåller i X till stackpekaren, dvs till F0 position i stacken. Sedan Pushar jag innehållet i A till EF som är precis under F0. Eftersom vi sköt in innehållet i A borde stackpekaren peka på EE, utför jag sedan LEAX 2,SP då hamnar jag på F0.

Nu kommer det lite skumma, LEAX 1,X påverkar ju inte stackpekarens position enligt manualen så då borde väl $44 vara det som är innehållet i register X. Men tydligen är det $22 som är innehållet och då är ju den enda förklaringen att LEAX 1,X gör något. Men jag vet inte

Svara Avbryt
Close