16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

CFM.sor = 0;<br />

CFM.rrb.gr = 0;<br />

CFM.rrb.fr = 0;<br />

CFM.rrb.pr = 0;<br />

} else // normal branch return<br />

CFM = AR[PFS].pfm;<br />

rse_enable_current_frame_load();<br />

AR[EC] = AR[PFS].pec;<br />

if (PSR.cpl u< AR[PFS].ppl) { // ... and restores privilege<br />

PSR.cpl = AR[PFS].ppl;<br />

lower_priv_transition = 1;<br />

}<br />

}<br />

break;<br />

case ‘ia’: // switch to IA mode<br />

tmp_taken = 1;<br />

if (qp != 0)<br />

illegal_operation_fault();<br />

if (AR[BSPSTORE] != AR[BSP])<br />

illegal_operation_fault();<br />

if (PSR.di)<br />

disabled_instruction_set_transition_fault();<br />

PSR.is = 1; // set IA-32 Instruction Set Mode<br />

CFM.sof = 0; //force current stack frame<br />

CFM.sol = 0; //to zero<br />

CFM.sor = 0;<br />

CFM.rrb.gr = 0;<br />

CFM.rrb.fr = 0;<br />

CFM.rrb.pr = 0;<br />

rse_invalidate_non_current_regs();<br />

//compute effective instruction pointer<br />

EIP{31:0} = tmp_IP{31:0} - AR[CSD].Base;<br />

// Note the register stack is disabled during IA-32 instruction<br />

// set execution<br />

break;<br />

case ‘cloop’: // simple counted loop<br />

if (slot != 2)<br />

illegal_operation_fault();<br />

tmp_taken = (AR[LC] != 0);<br />

if (AR[LC] != 0)<br />

AR[LC]--;<br />

break;<br />

case ‘ctop’:<br />

case ‘cexit’: // SW pipelined counted loop<br />

if (slot != 2)<br />

illegal_operation_fault();<br />

if (btype == ‘ctop’) tmp_taken = ((AR[LC] != 0) || (AR[EC] u> 1));<br />

if (btype == ‘cexit’)tmp_taken = !((AR[LC] != 0) || (AR[EC] u> 1));<br />

if (AR[LC] != 0) {<br />

AR[LC]--;<br />

AR[EC] = AR[EC];<br />

PR[63] = 1;<br />

rotate_regs();<br />

} else if (AR[EC] != 0) {<br />

AR[LC] = AR[LC];<br />

AR[EC]--;<br />

PR[63] = 0;<br />

第 3 巻 : 命令リファレンス 3:23

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!