1. 程式人生 > 其它 >【BA4988】SysHalt函式

【BA4988】SysHalt函式

反彙編:

void	SysHalt(void)
{
    if (_2021&0x02 == 0)
    {
        _SYSCON|=0x08
    }
}

彙編:

[00E9E304]7304 [08 78 AD]: PHP @ 處理器狀態壓入堆疊
[00E9E305]7305 [78 AD 21]: SEI @ 置中斷禁止位
[00E9E306]7306 [AD 21 20]: LDA $2021 = #$04 @ 送累加器
[00E9E309]7309 [29 02 F0]: AND #$02 @ 邏輯與
[00E9E30B]730B [F0 02 28]: BEQ $730F @ 結果為0分支
[00E9E30D]730D [28 60 AD]: PLP @ 堆疊彈回處理器狀態
[00E9E30E]730E [60 AD 00]: RTS @ 子程式返回
[00E9E30F]730F [AD 00 02]: LDA $0200 = #$05 @ 送累加器
[00E9E312]7312 [09 08 8D]: ORA #$08 @ 邏輯或
[00E9E314]7314 [8D 00 02]: STA $0200 = #$0D @ 存累加器
[00E9E317]7317 [EA EA EA]: NOP @ 空操作
[00E9E318]7318 [EA EA EA]: NOP @ 空操作
[00E9E319]7319 [EA EA EA]: NOP @ 空操作
[00E9E31A]731A [EA EA EA]: NOP @ 空操作
[00E9E31B]731B [EA EA 28]: NOP @ 空操作
[00E9E31C]731C [EA 28 60]: NOP @ 空操作
[00E9E31D]731D [28 60 20]: PLP @ 堆疊彈回處理器狀態
[00E9E31E]731E [60 20 57]: RTS @ 子程式返回