アルテラ DE2 FPGA を搭載した Nios 2 では、次の割り込みコードを調べています。
例外時:トラップか割り込みかチェック
exc_hand:
rdctl et,estatus # read estatus
andi et,et,1 # mask EPIE, bit 0
beq et,r0,noint # om EPIE == 0: no interrupt
rdctl et,ipending # read ipending
beq et,r0,noint # if ipending == 0: no interrupt
int_check: # if we reach this then there aws an interrupt
subi ea,ea,4 # adjust exception return address
最初の指示とマスクの機能は理解できますが、マスクが必要な理由がわかりません。ビット 0 以外のビットにジャンクが存在する可能性があるためでしょうか。私の知る限り、ビット0のみが使用されているのに、なぜそれをマスクする必要があるのですか?