         @readWord @readNextProgramWord()
 
     indirectXMode: =>
-        address = @getIndexedAddressByte @readNextProgramByte(), @registerX
-        @readWord address
+        @readWord @zeroPageXMode()
 
     indirectYMode: =>
         base = @readWord @readNextProgramByte()

        @memory.read address

    readWord: (address) ->
        (@readByte address + 1) << 8 | @readByte address

    writeByte: (address, value) ->
        @resolveWriteCycles()


    writeWord: (address, value) ->
        @writeByte address, value & 0xFF
        @writeByte (address + 1) & 0xFFFF, value >> 8

    ###########################################################
    # Stack pushing / pulling
