プッシュはスタックに値を配置することを意味し、ポップはスタックから値を取得することを意味します (間違っている場合は修正してください)。しかし、これの目的は何ですか? Push と Pop と実生活を使用する必要があるのはいつですか? 私が理解できるように例を挙げてください。
1551 次
3 に答える
0
割り込み (プロセッサが何をしていても中断する非同期イベント) の場合、割り込みルーチンはレジスタの状態を保存する必要があります。通常、これはそれらをスタックにプッシュすることによって行われます。そして、戻る前にスタックからポップされます。
push a ; save registers
push b
push d
push h
;
; now do whatever the interrupt routine does
;
; and then restore the registers
pop h
pop d
pop b
pop a
ei ; re-enable interrupts
ret
割り込みハンドラーがそれを行わなかった場合、レジスターは戻り時に不明な状態になります。彼らが言うように、それは悪いことです。
于 2014-12-09T03:32:23.100 に答える