mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-23 18:56:38 +00:00
Matter add mini-profiler (#19075)
This commit is contained in:
parent
05d589f2d7
commit
8d161d04f7
@ -6,6 +6,7 @@ All notable changes to this project will be documented in this file.
|
||||
## [13.0.0.2]
|
||||
### Added
|
||||
- Partition Wizard is now able to convert to safeboot from Shelly partition layout (#19034)
|
||||
- Matter add mini-profiler
|
||||
|
||||
### Breaking Changed
|
||||
|
||||
|
@ -204,6 +204,7 @@ extern const bclass be_class_Matter_TLV; // need to declare it upfront because
|
||||
#include "solidify/solidified_Matter_Base38.h"
|
||||
#include "solidify/solidified_Matter_UI.h"
|
||||
#include "solidify/solidified_Matter_Device.h"
|
||||
#include "solidify/solidified_Matter_Profiler.h"
|
||||
|
||||
#include "../generate/be_matter_certs.h"
|
||||
|
||||
@ -287,6 +288,7 @@ module matter (scope: global, strings: weak) {
|
||||
sort, closure(matter_sort_closure)
|
||||
jitter, closure(matter_jitter_closure)
|
||||
inspect, closure(matter_inspect_closure)
|
||||
Profiler, class(be_class_Matter_Profiler)
|
||||
|
||||
// Status codes
|
||||
SUCCESS, int(0x00)
|
||||
|
@ -35,6 +35,7 @@ class Matter_Device
|
||||
var plugins_config # map of JSON configuration for plugins
|
||||
var plugins_config_remotes # map of information on each remote under "remotes" key, '{}' when empty
|
||||
var udp_server # `matter.UDPServer()` object
|
||||
var profiler
|
||||
var message_handler # `matter.MessageHandler()` object
|
||||
var sessions # `matter.Session_Store()` objet
|
||||
var ui
|
||||
@ -80,6 +81,7 @@ class Matter_Device
|
||||
return
|
||||
end # abort if SetOption 151 is not set
|
||||
|
||||
self.profiler = matter.Profiler()
|
||||
self.started = false
|
||||
self.tick = 0
|
||||
self.plugins = []
|
||||
@ -381,7 +383,7 @@ class Matter_Device
|
||||
if self.udp_server return end # already started
|
||||
if port == nil port = 5540 end
|
||||
tasmota.log("MTR: Starting UDP server on port: " + str(port), 2)
|
||||
self.udp_server = matter.UDPServer("", port)
|
||||
self.udp_server = matter.UDPServer(self, "", port)
|
||||
self.udp_server.start(/ raw, addr, port -> self.msg_received(raw, addr, port))
|
||||
end
|
||||
|
||||
|
@ -330,6 +330,7 @@ class Matter_IM
|
||||
# returns `true` if processed, `false` if silently ignored,
|
||||
# or raises an exception
|
||||
def process_read_request(msg, val)
|
||||
self.device.profiler.log("read_request_start")
|
||||
var query = matter.ReadRequestMessage().from_TLV(val)
|
||||
if query.attributes_requests != nil
|
||||
var ret = self._inner_process_read_request(msg.session, query)
|
||||
@ -383,6 +384,7 @@ class Matter_IM
|
||||
# import debug
|
||||
# structure is `ReadRequestMessage` 10.6.2 p.558
|
||||
# tasmota.log("MTR: IM:invoke_request processing start", 4)
|
||||
self.device.profiler.log("invoke_request_start")
|
||||
var ctx = matter.Path()
|
||||
ctx.msg = msg
|
||||
|
||||
|
@ -76,6 +76,7 @@ class Matter_MessageHandler
|
||||
def msg_received(raw, addr, port)
|
||||
var ret = false
|
||||
|
||||
self.device.profiler.log("msg_received")
|
||||
try
|
||||
# tasmota.log("MTR: MessageHandler::msg_received raw="+raw.tohex(), 4)
|
||||
var frame = matter.Frame(self, raw, addr, port)
|
||||
@ -174,6 +175,7 @@ class Matter_MessageHandler
|
||||
elif protocol_id == 0x0001 # PROTOCOL_ID_INTERACTION_MODEL
|
||||
# dispatch to IM Protocol Messages
|
||||
ret = self.im.process_incoming(frame)
|
||||
self.device.profiler.log("process_IM_end")
|
||||
# if `ret` is true, we have something to send
|
||||
if ret
|
||||
self.im.send_enqueued(self)
|
||||
@ -220,6 +222,7 @@ class Matter_MessageHandler
|
||||
# msg.exchange_id: exchange id (int)
|
||||
# msg.local_session_id: local session (for logging)
|
||||
def send_response_frame(msg)
|
||||
self.device.profiler.log("send_response_frame")
|
||||
self.device.msg_send(msg)
|
||||
end
|
||||
|
||||
|
73
lib/libesp32/berry_matter/src/embedded/Matter_Profiler.be
Normal file
73
lib/libesp32/berry_matter/src/embedded/Matter_Profiler.be
Normal file
@ -0,0 +1,73 @@
|
||||
#
|
||||
# Matter_Profiler.be - suppport for Matter profiler framework
|
||||
#
|
||||
# Copyright (C) 2023 Stephan Hadinger & Theo Arends
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
import matter
|
||||
|
||||
#@ solidify:Matter_Profiler,weak
|
||||
|
||||
#################################################################################
|
||||
# Matter_Profiler
|
||||
#
|
||||
# Used to store all the elements of the reponse to an attribute or command
|
||||
#################################################################################
|
||||
class Matter_Profiler
|
||||
static var PREALLOCATED = 50
|
||||
var millis
|
||||
var names
|
||||
var active
|
||||
|
||||
def init()
|
||||
self.active = false
|
||||
self.millis = list()
|
||||
self.millis.resize(self.PREALLOCATED)
|
||||
self.names = list()
|
||||
self.names.resize(self.PREALLOCATED)
|
||||
end
|
||||
|
||||
def set_active(v)
|
||||
self.active = bool(v)
|
||||
end
|
||||
|
||||
def start()
|
||||
if !self.active return end
|
||||
self.millis.resize(0)
|
||||
self.names.resize(0)
|
||||
self.log("start")
|
||||
end
|
||||
|
||||
def log(name)
|
||||
if !self.active return end
|
||||
self.millis.push(tasmota.millis())
|
||||
self.names.push(name)
|
||||
end
|
||||
|
||||
def dump(loglevel)
|
||||
if !self.active return end
|
||||
self.log("<--end-->")
|
||||
tasmota.log("MTR: Profiler dump:", loglevel)
|
||||
var origin = self.millis[0]
|
||||
var idx = 1
|
||||
while idx < size(self.millis)
|
||||
tasmota.log(f"MTR: {self.millis[idx] - origin:4i} '{self.names[idx]}'", loglevel)
|
||||
idx += 1
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
matter.Profiler = Matter_Profiler
|
@ -66,6 +66,7 @@ class Matter_UDPServer
|
||||
static var RETRIES = 5 # 6 transmissions max (5 retries) - 1 more than spec `MRP_MAX_TRANSMISSIONS` 4.11.8 p.146
|
||||
static var MAX_PACKETS_READ = 4 # read at most 4 packets per tick
|
||||
var addr, port # local addr and port
|
||||
var device
|
||||
var listening # true if active
|
||||
var udp_socket
|
||||
var dispatch_cb # callback to call when a message is received
|
||||
@ -76,7 +77,8 @@ class Matter_UDPServer
|
||||
# Init UDP Server listening to `addr` and `port` (opt).
|
||||
#
|
||||
# By default, the server listens to `""` (all addresses) and port `5540`
|
||||
def init(addr, port)
|
||||
def init(device, addr, port)
|
||||
self.device = device
|
||||
self.addr = addr ? addr : ""
|
||||
self.port = port ? port : 5540
|
||||
self.listening = false
|
||||
@ -121,19 +123,23 @@ class Matter_UDPServer
|
||||
# Then resend queued outgoing packets.
|
||||
def loop()
|
||||
# import debug
|
||||
var profiler = self.device.profiler
|
||||
var packet_read = 0
|
||||
if self.udp_socket == nil return end
|
||||
var packet = self.udp_socket.read()
|
||||
while packet != nil
|
||||
# self.packet = packet
|
||||
profiler.start()
|
||||
packet_read += 1
|
||||
var from_addr = self.udp_socket.remote_ip
|
||||
var from_port = self.udp_socket.remote_port
|
||||
tasmota.log(format("MTR: UDP received from [%s]:%i", from_addr, from_port), 4)
|
||||
# tasmota.log("MTR: Perf/UDP_received = " + str(debug.counters()), 4)
|
||||
if self.dispatch_cb
|
||||
profiler.log("udp_loop_dispatch")
|
||||
self.dispatch_cb(packet, from_addr, from_port)
|
||||
end
|
||||
profiler.dump(2)
|
||||
# are we reading new packets?
|
||||
if packet_read < self.MAX_PACKETS_READ
|
||||
packet = self.udp_socket.read()
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -75,331 +75,338 @@ be_local_closure(Matter_IM_process_invoke_request, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[44]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* K1 */ be_nested_str_weak(Path),
|
||||
/* K2 */ be_nested_str_weak(msg),
|
||||
/* K3 */ be_nested_str_weak(InvokeRequestMessage),
|
||||
/* K4 */ be_nested_str_weak(from_TLV),
|
||||
/* K5 */ be_nested_str_weak(invoke_requests),
|
||||
/* K6 */ be_nested_str_weak(InvokeResponseMessage),
|
||||
/* K7 */ be_nested_str_weak(suppress_response),
|
||||
/* K8 */ be_nested_str_weak(invoke_responses),
|
||||
/* K9 */ be_nested_str_weak(endpoint),
|
||||
/* K10 */ be_nested_str_weak(command_path),
|
||||
/* K11 */ be_nested_str_weak(cluster),
|
||||
/* K12 */ be_nested_str_weak(command),
|
||||
/* K13 */ be_nested_str_weak(status),
|
||||
/* K14 */ be_nested_str_weak(UNSUPPORTED_COMMAND),
|
||||
/* K15 */ be_nested_str_weak(get_command_name),
|
||||
/* K16 */ be_nested_str_weak(device),
|
||||
/* K17 */ be_nested_str_weak(invoke_request),
|
||||
/* K18 */ be_nested_str_weak(session),
|
||||
/* K19 */ be_nested_str_weak(command_fields),
|
||||
/* K20 */ be_nested_str_weak(log),
|
||||
/* K21 */ be_nested_str_weak(_X28),
|
||||
/* K22 */ be_nested_str_weak(_X29_X20),
|
||||
/* K23 */ be_nested_str_weak(),
|
||||
/* K24 */ be_nested_str_weak(tasmota),
|
||||
/* K25 */ be_nested_str_weak(MTR_X3A_X20_X3ECommand_X20_X20_X20_X28_X256i_X29_X20_X25s_X20_X25s_X20_X25s),
|
||||
/* K26 */ be_nested_str_weak(local_session_id),
|
||||
/* K27 */ be_const_int(0),
|
||||
/* K28 */ be_const_int(2),
|
||||
/* K29 */ be_const_int(3),
|
||||
/* K30 */ be_nested_str_weak(InvokeResponseIB),
|
||||
/* K31 */ be_nested_str_weak(SUCCESS),
|
||||
/* K32 */ be_nested_str_weak(CommandStatusIB),
|
||||
/* K33 */ be_nested_str_weak(CommandPathIB),
|
||||
/* K34 */ be_nested_str_weak(StatusIB),
|
||||
/* K35 */ be_nested_str_weak(push),
|
||||
/* K36 */ be_nested_str_weak(MTR_X3A_X20_X3CReplied_X20_X20_X20_X28_X256i_X29_X20OK_X20exch_X3D_X25i),
|
||||
/* K37 */ be_nested_str_weak(exchange_id),
|
||||
/* K38 */ be_nested_str_weak(CommandDataIB),
|
||||
/* K39 */ be_nested_str_weak(MTR_X3A_X20_X3CReplied_X20_X20_X20_X28_X256i_X29_X20_X25s_X20_X25s),
|
||||
/* K40 */ be_nested_str_weak(MTR_X3A_X20_X3CReplied_X20_X20_X20_X28_X256i_X29_X20Status_X3D0x_X2502X_X20exch_X3D_X25i),
|
||||
/* K41 */ be_nested_str_weak(MTR_X3A_X20_Ignore_X20_X20_X20_X20_X28_X256i_X29_X20exch_X3D_X25i),
|
||||
/* K42 */ be_nested_str_weak(stop_iteration),
|
||||
/* K43 */ be_nested_str_weak(send_invoke_response),
|
||||
( &(const bvalue[46]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(device),
|
||||
/* K1 */ be_nested_str_weak(profiler),
|
||||
/* K2 */ be_nested_str_weak(log),
|
||||
/* K3 */ be_nested_str_weak(invoke_request_start),
|
||||
/* K4 */ be_nested_str_weak(matter),
|
||||
/* K5 */ be_nested_str_weak(Path),
|
||||
/* K6 */ be_nested_str_weak(msg),
|
||||
/* K7 */ be_nested_str_weak(InvokeRequestMessage),
|
||||
/* K8 */ be_nested_str_weak(from_TLV),
|
||||
/* K9 */ be_nested_str_weak(invoke_requests),
|
||||
/* K10 */ be_nested_str_weak(InvokeResponseMessage),
|
||||
/* K11 */ be_nested_str_weak(suppress_response),
|
||||
/* K12 */ be_nested_str_weak(invoke_responses),
|
||||
/* K13 */ be_nested_str_weak(endpoint),
|
||||
/* K14 */ be_nested_str_weak(command_path),
|
||||
/* K15 */ be_nested_str_weak(cluster),
|
||||
/* K16 */ be_nested_str_weak(command),
|
||||
/* K17 */ be_nested_str_weak(status),
|
||||
/* K18 */ be_nested_str_weak(UNSUPPORTED_COMMAND),
|
||||
/* K19 */ be_nested_str_weak(get_command_name),
|
||||
/* K20 */ be_nested_str_weak(invoke_request),
|
||||
/* K21 */ be_nested_str_weak(session),
|
||||
/* K22 */ be_nested_str_weak(command_fields),
|
||||
/* K23 */ be_nested_str_weak(_X28),
|
||||
/* K24 */ be_nested_str_weak(_X29_X20),
|
||||
/* K25 */ be_nested_str_weak(),
|
||||
/* K26 */ be_nested_str_weak(tasmota),
|
||||
/* K27 */ be_nested_str_weak(MTR_X3A_X20_X3ECommand_X20_X20_X20_X28_X256i_X29_X20_X25s_X20_X25s_X20_X25s),
|
||||
/* K28 */ be_nested_str_weak(local_session_id),
|
||||
/* K29 */ be_const_int(0),
|
||||
/* K30 */ be_const_int(2),
|
||||
/* K31 */ be_const_int(3),
|
||||
/* K32 */ be_nested_str_weak(InvokeResponseIB),
|
||||
/* K33 */ be_nested_str_weak(SUCCESS),
|
||||
/* K34 */ be_nested_str_weak(CommandStatusIB),
|
||||
/* K35 */ be_nested_str_weak(CommandPathIB),
|
||||
/* K36 */ be_nested_str_weak(StatusIB),
|
||||
/* K37 */ be_nested_str_weak(push),
|
||||
/* K38 */ be_nested_str_weak(MTR_X3A_X20_X3CReplied_X20_X20_X20_X28_X256i_X29_X20OK_X20exch_X3D_X25i),
|
||||
/* K39 */ be_nested_str_weak(exchange_id),
|
||||
/* K40 */ be_nested_str_weak(CommandDataIB),
|
||||
/* K41 */ be_nested_str_weak(MTR_X3A_X20_X3CReplied_X20_X20_X20_X28_X256i_X29_X20_X25s_X20_X25s),
|
||||
/* K42 */ be_nested_str_weak(MTR_X3A_X20_X3CReplied_X20_X20_X20_X28_X256i_X29_X20Status_X3D0x_X2502X_X20exch_X3D_X25i),
|
||||
/* K43 */ be_nested_str_weak(MTR_X3A_X20_Ignore_X20_X20_X20_X20_X28_X256i_X29_X20exch_X3D_X25i),
|
||||
/* K44 */ be_nested_str_weak(stop_iteration),
|
||||
/* K45 */ be_nested_str_weak(send_invoke_response),
|
||||
}),
|
||||
be_str_weak(process_invoke_request),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[276]) { /* code */
|
||||
0xB80E0000, // 0000 GETNGBL R3 K0
|
||||
0x8C0C0701, // 0001 GETMET R3 R3 K1
|
||||
0x7C0C0200, // 0002 CALL R3 1
|
||||
0x900E0401, // 0003 SETMBR R3 K2 R1
|
||||
0xB8120000, // 0004 GETNGBL R4 K0
|
||||
0x8C100903, // 0005 GETMET R4 R4 K3
|
||||
0x7C100200, // 0006 CALL R4 1
|
||||
0x8C100904, // 0007 GETMET R4 R4 K4
|
||||
0x5C180400, // 0008 MOVE R6 R2
|
||||
0x7C100400, // 0009 CALL R4 2
|
||||
0x88140905, // 000A GETMBR R5 R4 K5
|
||||
0x4C180000, // 000B LDNIL R6
|
||||
0x20140A06, // 000C NE R5 R5 R6
|
||||
0x78160104, // 000D JMPF R5 #0113
|
||||
0xB8160000, // 000E GETNGBL R5 K0
|
||||
0x8C140B06, // 000F GETMET R5 R5 K6
|
||||
0x7C140200, // 0010 CALL R5 1
|
||||
0x50180000, // 0011 LDBOOL R6 0 0
|
||||
0x90160E06, // 0012 SETMBR R5 K7 R6
|
||||
0x60180012, // 0013 GETGBL R6 G18
|
||||
0x7C180000, // 0014 CALL R6 0
|
||||
0x90161006, // 0015 SETMBR R5 K8 R6
|
||||
0x60180010, // 0016 GETGBL R6 G16
|
||||
0x881C0905, // 0017 GETMBR R7 R4 K5
|
||||
0x7C180200, // 0018 CALL R6 1
|
||||
0xA80200E7, // 0019 EXBLK 0 #0102
|
||||
0x5C1C0C00, // 001A MOVE R7 R6
|
||||
0x7C1C0000, // 001B CALL R7 0
|
||||
0x88200F0A, // 001C GETMBR R8 R7 K10
|
||||
0x88201109, // 001D GETMBR R8 R8 K9
|
||||
0x900E1208, // 001E SETMBR R3 K9 R8
|
||||
0x88200F0A, // 001F GETMBR R8 R7 K10
|
||||
0x8820110B, // 0020 GETMBR R8 R8 K11
|
||||
0x900E1608, // 0021 SETMBR R3 K11 R8
|
||||
0x88200F0A, // 0022 GETMBR R8 R7 K10
|
||||
0x8820110C, // 0023 GETMBR R8 R8 K12
|
||||
0x900E1808, // 0024 SETMBR R3 K12 R8
|
||||
0xB8220000, // 0025 GETNGBL R8 K0
|
||||
0x8820110E, // 0026 GETMBR R8 R8 K14
|
||||
0x900E1A08, // 0027 SETMBR R3 K13 R8
|
||||
0xB8220000, // 0028 GETNGBL R8 K0
|
||||
0x8C20110F, // 0029 GETMET R8 R8 K15
|
||||
0x8828070B, // 002A GETMBR R10 R3 K11
|
||||
0x882C070C, // 002B GETMBR R11 R3 K12
|
||||
0x7C200600, // 002C CALL R8 3
|
||||
0x60240008, // 002D GETGBL R9 G8
|
||||
0x5C280600, // 002E MOVE R10 R3
|
||||
0x7C240200, // 002F CALL R9 1
|
||||
0x88280110, // 0030 GETMBR R10 R0 K16
|
||||
0x8C281511, // 0031 GETMET R10 R10 K17
|
||||
0x88300312, // 0032 GETMBR R12 R1 K18
|
||||
0x88340F13, // 0033 GETMBR R13 R7 K19
|
||||
0x5C380600, // 0034 MOVE R14 R3
|
||||
0x7C280800, // 0035 CALL R10 4
|
||||
0x882C0714, // 0036 GETMBR R11 R3 K20
|
||||
0x4C300000, // 0037 LDNIL R12
|
||||
0x202C160C, // 0038 NE R11 R11 R12
|
||||
0x782E0005, // 0039 JMPF R11 #0040
|
||||
0x602C0008, // 003A GETGBL R11 G8
|
||||
0x88300714, // 003B GETMBR R12 R3 K20
|
||||
0x7C2C0200, // 003C CALL R11 1
|
||||
0x002E2A0B, // 003D ADD R11 K21 R11
|
||||
0x002C1716, // 003E ADD R11 R11 K22
|
||||
0x70020000, // 003F JMP #0041
|
||||
0x582C0017, // 0040 LDCONST R11 K23
|
||||
0xB8323000, // 0041 GETNGBL R12 K24
|
||||
0x8C301914, // 0042 GETMET R12 R12 K20
|
||||
0x60380018, // 0043 GETGBL R14 G24
|
||||
0x583C0019, // 0044 LDCONST R15 K25
|
||||
0x88400312, // 0045 GETMBR R16 R1 K18
|
||||
0x8840211A, // 0046 GETMBR R16 R16 K26
|
||||
0x5C441200, // 0047 MOVE R17 R9
|
||||
0x78220001, // 0048 JMPF R8 #004B
|
||||
0x5C481000, // 0049 MOVE R18 R8
|
||||
0x70020000, // 004A JMP #004C
|
||||
0x58480017, // 004B LDCONST R18 K23
|
||||
0x5C4C1600, // 004C MOVE R19 R11
|
||||
0x7C380A00, // 004D CALL R14 5
|
||||
0x883C0709, // 004E GETMBR R15 R3 K9
|
||||
0x203C1F1B, // 004F NE R15 R15 K27
|
||||
0x783E0001, // 0050 JMPF R15 #0053
|
||||
0x583C001C, // 0051 LDCONST R15 K28
|
||||
0x70020000, // 0052 JMP #0054
|
||||
0x583C001D, // 0053 LDCONST R15 K29
|
||||
0x7C300600, // 0054 CALL R12 3
|
||||
0x4C300000, // 0055 LDNIL R12
|
||||
0x900E280C, // 0056 SETMBR R3 K20 R12
|
||||
0xB8320000, // 0057 GETNGBL R12 K0
|
||||
0x8C30191E, // 0058 GETMET R12 R12 K30
|
||||
0x7C300200, // 0059 CALL R12 1
|
||||
0x50340200, // 005A LDBOOL R13 1 0
|
||||
0x1C34140D, // 005B EQ R13 R10 R13
|
||||
0x74360004, // 005C JMPT R13 #0062
|
||||
0x8834070D, // 005D GETMBR R13 R3 K13
|
||||
0xB83A0000, // 005E GETNGBL R14 K0
|
||||
0x88381D1F, // 005F GETMBR R14 R14 K31
|
||||
0x1C341A0E, // 0060 EQ R13 R13 R14
|
||||
0x7836002D, // 0061 JMPF R13 #0090
|
||||
0xB8360000, // 0062 GETNGBL R13 K0
|
||||
0x8C341B20, // 0063 GETMET R13 R13 K32
|
||||
0x7C340200, // 0064 CALL R13 1
|
||||
0x90321A0D, // 0065 SETMBR R12 K13 R13
|
||||
0x8834190D, // 0066 GETMBR R13 R12 K13
|
||||
0xB83A0000, // 0067 GETNGBL R14 K0
|
||||
0x8C381D21, // 0068 GETMET R14 R14 K33
|
||||
0x7C380200, // 0069 CALL R14 1
|
||||
0x9036140E, // 006A SETMBR R13 K10 R14
|
||||
0x8834190D, // 006B GETMBR R13 R12 K13
|
||||
0x88341B0A, // 006C GETMBR R13 R13 K10
|
||||
0x88380709, // 006D GETMBR R14 R3 K9
|
||||
0x9036120E, // 006E SETMBR R13 K9 R14
|
||||
0x8834190D, // 006F GETMBR R13 R12 K13
|
||||
0x88341B0A, // 0070 GETMBR R13 R13 K10
|
||||
0x8838070B, // 0071 GETMBR R14 R3 K11
|
||||
0x9036160E, // 0072 SETMBR R13 K11 R14
|
||||
0x8834190D, // 0073 GETMBR R13 R12 K13
|
||||
0x88341B0A, // 0074 GETMBR R13 R13 K10
|
||||
0x8838070C, // 0075 GETMBR R14 R3 K12
|
||||
0x9036180E, // 0076 SETMBR R13 K12 R14
|
||||
0x8834190D, // 0077 GETMBR R13 R12 K13
|
||||
0xB83A0000, // 0078 GETNGBL R14 K0
|
||||
0x8C381D22, // 0079 GETMET R14 R14 K34
|
||||
0x7C380200, // 007A CALL R14 1
|
||||
0x90361A0E, // 007B SETMBR R13 K13 R14
|
||||
0x8834190D, // 007C GETMBR R13 R12 K13
|
||||
0x88341B0D, // 007D GETMBR R13 R13 K13
|
||||
0xB83A0000, // 007E GETNGBL R14 K0
|
||||
0x88381D1F, // 007F GETMBR R14 R14 K31
|
||||
0x90361A0E, // 0080 SETMBR R13 K13 R14
|
||||
0x88340B08, // 0081 GETMBR R13 R5 K8
|
||||
0x8C341B23, // 0082 GETMET R13 R13 K35
|
||||
0x5C3C1800, // 0083 MOVE R15 R12
|
||||
0x7C340400, // 0084 CALL R13 2
|
||||
0xB8363000, // 0085 GETNGBL R13 K24
|
||||
0x8C341B14, // 0086 GETMET R13 R13 K20
|
||||
0x603C0018, // 0087 GETGBL R15 G24
|
||||
0x58400024, // 0088 LDCONST R16 K36
|
||||
0x88440312, // 0089 GETMBR R17 R1 K18
|
||||
0x8844231A, // 008A GETMBR R17 R17 K26
|
||||
0x88480325, // 008B GETMBR R18 R1 K37
|
||||
0x7C3C0600, // 008C CALL R15 3
|
||||
0x5840001D, // 008D LDCONST R16 K29
|
||||
0x7C340600, // 008E CALL R13 3
|
||||
0x70020070, // 008F JMP #0101
|
||||
0x4C340000, // 0090 LDNIL R13
|
||||
0x2034140D, // 0091 NE R13 R10 R13
|
||||
0x78360031, // 0092 JMPF R13 #00C5
|
||||
0xB8360000, // 0093 GETNGBL R13 K0
|
||||
0x8C341B26, // 0094 GETMET R13 R13 K38
|
||||
0x7C340200, // 0095 CALL R13 1
|
||||
0x9032180D, // 0096 SETMBR R12 K12 R13
|
||||
0x8834190C, // 0097 GETMBR R13 R12 K12
|
||||
0xB83A0000, // 0098 GETNGBL R14 K0
|
||||
0x8C381D21, // 0099 GETMET R14 R14 K33
|
||||
0x7C380200, // 009A CALL R14 1
|
||||
0x9036140E, // 009B SETMBR R13 K10 R14
|
||||
0x8834190C, // 009C GETMBR R13 R12 K12
|
||||
0x88341B0A, // 009D GETMBR R13 R13 K10
|
||||
0x88380709, // 009E GETMBR R14 R3 K9
|
||||
0x9036120E, // 009F SETMBR R13 K9 R14
|
||||
0x8834190C, // 00A0 GETMBR R13 R12 K12
|
||||
0x88341B0A, // 00A1 GETMBR R13 R13 K10
|
||||
0x8838070B, // 00A2 GETMBR R14 R3 K11
|
||||
0x9036160E, // 00A3 SETMBR R13 K11 R14
|
||||
0x8834190C, // 00A4 GETMBR R13 R12 K12
|
||||
0x88341B0A, // 00A5 GETMBR R13 R13 K10
|
||||
0x8838070C, // 00A6 GETMBR R14 R3 K12
|
||||
0x9036180E, // 00A7 SETMBR R13 K12 R14
|
||||
0x8834190C, // 00A8 GETMBR R13 R12 K12
|
||||
0x9036260A, // 00A9 SETMBR R13 K19 R10
|
||||
0x88340B08, // 00AA GETMBR R13 R5 K8
|
||||
0x8C341B23, // 00AB GETMET R13 R13 K35
|
||||
0x5C3C1800, // 00AC MOVE R15 R12
|
||||
0x7C340400, // 00AD CALL R13 2
|
||||
0xB8360000, // 00AE GETNGBL R13 K0
|
||||
0x8C341B0F, // 00AF GETMET R13 R13 K15
|
||||
0x883C070B, // 00B0 GETMBR R15 R3 K11
|
||||
0x8840070C, // 00B1 GETMBR R16 R3 K12
|
||||
0x7C340600, // 00B2 CALL R13 3
|
||||
0x5C201A00, // 00B3 MOVE R8 R13
|
||||
0xB8363000, // 00B4 GETNGBL R13 K24
|
||||
0x8C341B14, // 00B5 GETMET R13 R13 K20
|
||||
0x603C0018, // 00B6 GETGBL R15 G24
|
||||
0x58400027, // 00B7 LDCONST R16 K39
|
||||
0x88440312, // 00B8 GETMBR R17 R1 K18
|
||||
0x8844231A, // 00B9 GETMBR R17 R17 K26
|
||||
0x60480008, // 00BA GETGBL R18 G8
|
||||
0x5C4C0600, // 00BB MOVE R19 R3
|
||||
0x7C480200, // 00BC CALL R18 1
|
||||
0x78220001, // 00BD JMPF R8 #00C0
|
||||
0x5C4C1000, // 00BE MOVE R19 R8
|
||||
0x70020000, // 00BF JMP #00C1
|
||||
0x584C0017, // 00C0 LDCONST R19 K23
|
||||
0x7C3C0800, // 00C1 CALL R15 4
|
||||
0x5840001D, // 00C2 LDCONST R16 K29
|
||||
0x7C340600, // 00C3 CALL R13 3
|
||||
0x7002003B, // 00C4 JMP #0101
|
||||
0x8834070D, // 00C5 GETMBR R13 R3 K13
|
||||
0x4C380000, // 00C6 LDNIL R14
|
||||
0x20341A0E, // 00C7 NE R13 R13 R14
|
||||
0x7836002D, // 00C8 JMPF R13 #00F7
|
||||
0xB8360000, // 00C9 GETNGBL R13 K0
|
||||
0x8C341B20, // 00CA GETMET R13 R13 K32
|
||||
0x7C340200, // 00CB CALL R13 1
|
||||
0x90321A0D, // 00CC SETMBR R12 K13 R13
|
||||
0x8834190D, // 00CD GETMBR R13 R12 K13
|
||||
0xB83A0000, // 00CE GETNGBL R14 K0
|
||||
0x8C381D21, // 00CF GETMET R14 R14 K33
|
||||
0x7C380200, // 00D0 CALL R14 1
|
||||
0x9036140E, // 00D1 SETMBR R13 K10 R14
|
||||
0x8834190D, // 00D2 GETMBR R13 R12 K13
|
||||
0x88341B0A, // 00D3 GETMBR R13 R13 K10
|
||||
0x88380709, // 00D4 GETMBR R14 R3 K9
|
||||
0x9036120E, // 00D5 SETMBR R13 K9 R14
|
||||
0x8834190D, // 00D6 GETMBR R13 R12 K13
|
||||
0x88341B0A, // 00D7 GETMBR R13 R13 K10
|
||||
0x8838070B, // 00D8 GETMBR R14 R3 K11
|
||||
0x9036160E, // 00D9 SETMBR R13 K11 R14
|
||||
0x8834190D, // 00DA GETMBR R13 R12 K13
|
||||
0x88341B0A, // 00DB GETMBR R13 R13 K10
|
||||
0x8838070C, // 00DC GETMBR R14 R3 K12
|
||||
0x9036180E, // 00DD SETMBR R13 K12 R14
|
||||
0x8834190D, // 00DE GETMBR R13 R12 K13
|
||||
0xB83A0000, // 00DF GETNGBL R14 K0
|
||||
0x8C381D22, // 00E0 GETMET R14 R14 K34
|
||||
0x7C380200, // 00E1 CALL R14 1
|
||||
0x90361A0E, // 00E2 SETMBR R13 K13 R14
|
||||
0x8834190D, // 00E3 GETMBR R13 R12 K13
|
||||
0x88341B0D, // 00E4 GETMBR R13 R13 K13
|
||||
0x8838070D, // 00E5 GETMBR R14 R3 K13
|
||||
0x90361A0E, // 00E6 SETMBR R13 K13 R14
|
||||
0x88340B08, // 00E7 GETMBR R13 R5 K8
|
||||
0x8C341B23, // 00E8 GETMET R13 R13 K35
|
||||
0x5C3C1800, // 00E9 MOVE R15 R12
|
||||
0x7C340400, // 00EA CALL R13 2
|
||||
0xB8363000, // 00EB GETNGBL R13 K24
|
||||
0x8C341B14, // 00EC GETMET R13 R13 K20
|
||||
0x603C0018, // 00ED GETGBL R15 G24
|
||||
0x58400028, // 00EE LDCONST R16 K40
|
||||
0x88440312, // 00EF GETMBR R17 R1 K18
|
||||
0x8844231A, // 00F0 GETMBR R17 R17 K26
|
||||
0x8848070D, // 00F1 GETMBR R18 R3 K13
|
||||
0x884C0325, // 00F2 GETMBR R19 R1 K37
|
||||
0x7C3C0800, // 00F3 CALL R15 4
|
||||
0x5840001D, // 00F4 LDCONST R16 K29
|
||||
0x7C340600, // 00F5 CALL R13 3
|
||||
0x70020009, // 00F6 JMP #0101
|
||||
0xB8363000, // 00F7 GETNGBL R13 K24
|
||||
0x8C341B14, // 00F8 GETMET R13 R13 K20
|
||||
0x603C0018, // 00F9 GETGBL R15 G24
|
||||
0x58400029, // 00FA LDCONST R16 K41
|
||||
0x88440312, // 00FB GETMBR R17 R1 K18
|
||||
0x8844231A, // 00FC GETMBR R17 R17 K26
|
||||
0x88480325, // 00FD GETMBR R18 R1 K37
|
||||
0x7C3C0600, // 00FE CALL R15 3
|
||||
0x5840001D, // 00FF LDCONST R16 K29
|
||||
0x7C340600, // 0100 CALL R13 3
|
||||
0x7001FF17, // 0101 JMP #001A
|
||||
0x5818002A, // 0102 LDCONST R6 K42
|
||||
0xAC180200, // 0103 CATCH R6 1 0
|
||||
0xB0080000, // 0104 RAISE 2 R0 R0
|
||||
0x6018000C, // 0105 GETGBL R6 G12
|
||||
0x881C0B08, // 0106 GETMBR R7 R5 K8
|
||||
0x7C180200, // 0107 CALL R6 1
|
||||
0x24180D1B, // 0108 GT R6 R6 K27
|
||||
0x781A0004, // 0109 JMPF R6 #010F
|
||||
0x8C18012B, // 010A GETMET R6 R0 K43
|
||||
0x5C200200, // 010B MOVE R8 R1
|
||||
0x5C240A00, // 010C MOVE R9 R5
|
||||
0x7C180600, // 010D CALL R6 3
|
||||
0x70020001, // 010E JMP #0111
|
||||
0x50180000, // 010F LDBOOL R6 0 0
|
||||
0x80040C00, // 0110 RET 1 R6
|
||||
0x50180200, // 0111 LDBOOL R6 1 0
|
||||
0x80040C00, // 0112 RET 1 R6
|
||||
0x80000000, // 0113 RET 0
|
||||
( &(const binstruction[281]) { /* code */
|
||||
0x880C0100, // 0000 GETMBR R3 R0 K0
|
||||
0x880C0701, // 0001 GETMBR R3 R3 K1
|
||||
0x8C0C0702, // 0002 GETMET R3 R3 K2
|
||||
0x58140003, // 0003 LDCONST R5 K3
|
||||
0x7C0C0400, // 0004 CALL R3 2
|
||||
0xB80E0800, // 0005 GETNGBL R3 K4
|
||||
0x8C0C0705, // 0006 GETMET R3 R3 K5
|
||||
0x7C0C0200, // 0007 CALL R3 1
|
||||
0x900E0C01, // 0008 SETMBR R3 K6 R1
|
||||
0xB8120800, // 0009 GETNGBL R4 K4
|
||||
0x8C100907, // 000A GETMET R4 R4 K7
|
||||
0x7C100200, // 000B CALL R4 1
|
||||
0x8C100908, // 000C GETMET R4 R4 K8
|
||||
0x5C180400, // 000D MOVE R6 R2
|
||||
0x7C100400, // 000E CALL R4 2
|
||||
0x88140909, // 000F GETMBR R5 R4 K9
|
||||
0x4C180000, // 0010 LDNIL R6
|
||||
0x20140A06, // 0011 NE R5 R5 R6
|
||||
0x78160104, // 0012 JMPF R5 #0118
|
||||
0xB8160800, // 0013 GETNGBL R5 K4
|
||||
0x8C140B0A, // 0014 GETMET R5 R5 K10
|
||||
0x7C140200, // 0015 CALL R5 1
|
||||
0x50180000, // 0016 LDBOOL R6 0 0
|
||||
0x90161606, // 0017 SETMBR R5 K11 R6
|
||||
0x60180012, // 0018 GETGBL R6 G18
|
||||
0x7C180000, // 0019 CALL R6 0
|
||||
0x90161806, // 001A SETMBR R5 K12 R6
|
||||
0x60180010, // 001B GETGBL R6 G16
|
||||
0x881C0909, // 001C GETMBR R7 R4 K9
|
||||
0x7C180200, // 001D CALL R6 1
|
||||
0xA80200E7, // 001E EXBLK 0 #0107
|
||||
0x5C1C0C00, // 001F MOVE R7 R6
|
||||
0x7C1C0000, // 0020 CALL R7 0
|
||||
0x88200F0E, // 0021 GETMBR R8 R7 K14
|
||||
0x8820110D, // 0022 GETMBR R8 R8 K13
|
||||
0x900E1A08, // 0023 SETMBR R3 K13 R8
|
||||
0x88200F0E, // 0024 GETMBR R8 R7 K14
|
||||
0x8820110F, // 0025 GETMBR R8 R8 K15
|
||||
0x900E1E08, // 0026 SETMBR R3 K15 R8
|
||||
0x88200F0E, // 0027 GETMBR R8 R7 K14
|
||||
0x88201110, // 0028 GETMBR R8 R8 K16
|
||||
0x900E2008, // 0029 SETMBR R3 K16 R8
|
||||
0xB8220800, // 002A GETNGBL R8 K4
|
||||
0x88201112, // 002B GETMBR R8 R8 K18
|
||||
0x900E2208, // 002C SETMBR R3 K17 R8
|
||||
0xB8220800, // 002D GETNGBL R8 K4
|
||||
0x8C201113, // 002E GETMET R8 R8 K19
|
||||
0x8828070F, // 002F GETMBR R10 R3 K15
|
||||
0x882C0710, // 0030 GETMBR R11 R3 K16
|
||||
0x7C200600, // 0031 CALL R8 3
|
||||
0x60240008, // 0032 GETGBL R9 G8
|
||||
0x5C280600, // 0033 MOVE R10 R3
|
||||
0x7C240200, // 0034 CALL R9 1
|
||||
0x88280100, // 0035 GETMBR R10 R0 K0
|
||||
0x8C281514, // 0036 GETMET R10 R10 K20
|
||||
0x88300315, // 0037 GETMBR R12 R1 K21
|
||||
0x88340F16, // 0038 GETMBR R13 R7 K22
|
||||
0x5C380600, // 0039 MOVE R14 R3
|
||||
0x7C280800, // 003A CALL R10 4
|
||||
0x882C0702, // 003B GETMBR R11 R3 K2
|
||||
0x4C300000, // 003C LDNIL R12
|
||||
0x202C160C, // 003D NE R11 R11 R12
|
||||
0x782E0005, // 003E JMPF R11 #0045
|
||||
0x602C0008, // 003F GETGBL R11 G8
|
||||
0x88300702, // 0040 GETMBR R12 R3 K2
|
||||
0x7C2C0200, // 0041 CALL R11 1
|
||||
0x002E2E0B, // 0042 ADD R11 K23 R11
|
||||
0x002C1718, // 0043 ADD R11 R11 K24
|
||||
0x70020000, // 0044 JMP #0046
|
||||
0x582C0019, // 0045 LDCONST R11 K25
|
||||
0xB8323400, // 0046 GETNGBL R12 K26
|
||||
0x8C301902, // 0047 GETMET R12 R12 K2
|
||||
0x60380018, // 0048 GETGBL R14 G24
|
||||
0x583C001B, // 0049 LDCONST R15 K27
|
||||
0x88400315, // 004A GETMBR R16 R1 K21
|
||||
0x8840211C, // 004B GETMBR R16 R16 K28
|
||||
0x5C441200, // 004C MOVE R17 R9
|
||||
0x78220001, // 004D JMPF R8 #0050
|
||||
0x5C481000, // 004E MOVE R18 R8
|
||||
0x70020000, // 004F JMP #0051
|
||||
0x58480019, // 0050 LDCONST R18 K25
|
||||
0x5C4C1600, // 0051 MOVE R19 R11
|
||||
0x7C380A00, // 0052 CALL R14 5
|
||||
0x883C070D, // 0053 GETMBR R15 R3 K13
|
||||
0x203C1F1D, // 0054 NE R15 R15 K29
|
||||
0x783E0001, // 0055 JMPF R15 #0058
|
||||
0x583C001E, // 0056 LDCONST R15 K30
|
||||
0x70020000, // 0057 JMP #0059
|
||||
0x583C001F, // 0058 LDCONST R15 K31
|
||||
0x7C300600, // 0059 CALL R12 3
|
||||
0x4C300000, // 005A LDNIL R12
|
||||
0x900E040C, // 005B SETMBR R3 K2 R12
|
||||
0xB8320800, // 005C GETNGBL R12 K4
|
||||
0x8C301920, // 005D GETMET R12 R12 K32
|
||||
0x7C300200, // 005E CALL R12 1
|
||||
0x50340200, // 005F LDBOOL R13 1 0
|
||||
0x1C34140D, // 0060 EQ R13 R10 R13
|
||||
0x74360004, // 0061 JMPT R13 #0067
|
||||
0x88340711, // 0062 GETMBR R13 R3 K17
|
||||
0xB83A0800, // 0063 GETNGBL R14 K4
|
||||
0x88381D21, // 0064 GETMBR R14 R14 K33
|
||||
0x1C341A0E, // 0065 EQ R13 R13 R14
|
||||
0x7836002D, // 0066 JMPF R13 #0095
|
||||
0xB8360800, // 0067 GETNGBL R13 K4
|
||||
0x8C341B22, // 0068 GETMET R13 R13 K34
|
||||
0x7C340200, // 0069 CALL R13 1
|
||||
0x9032220D, // 006A SETMBR R12 K17 R13
|
||||
0x88341911, // 006B GETMBR R13 R12 K17
|
||||
0xB83A0800, // 006C GETNGBL R14 K4
|
||||
0x8C381D23, // 006D GETMET R14 R14 K35
|
||||
0x7C380200, // 006E CALL R14 1
|
||||
0x90361C0E, // 006F SETMBR R13 K14 R14
|
||||
0x88341911, // 0070 GETMBR R13 R12 K17
|
||||
0x88341B0E, // 0071 GETMBR R13 R13 K14
|
||||
0x8838070D, // 0072 GETMBR R14 R3 K13
|
||||
0x90361A0E, // 0073 SETMBR R13 K13 R14
|
||||
0x88341911, // 0074 GETMBR R13 R12 K17
|
||||
0x88341B0E, // 0075 GETMBR R13 R13 K14
|
||||
0x8838070F, // 0076 GETMBR R14 R3 K15
|
||||
0x90361E0E, // 0077 SETMBR R13 K15 R14
|
||||
0x88341911, // 0078 GETMBR R13 R12 K17
|
||||
0x88341B0E, // 0079 GETMBR R13 R13 K14
|
||||
0x88380710, // 007A GETMBR R14 R3 K16
|
||||
0x9036200E, // 007B SETMBR R13 K16 R14
|
||||
0x88341911, // 007C GETMBR R13 R12 K17
|
||||
0xB83A0800, // 007D GETNGBL R14 K4
|
||||
0x8C381D24, // 007E GETMET R14 R14 K36
|
||||
0x7C380200, // 007F CALL R14 1
|
||||
0x9036220E, // 0080 SETMBR R13 K17 R14
|
||||
0x88341911, // 0081 GETMBR R13 R12 K17
|
||||
0x88341B11, // 0082 GETMBR R13 R13 K17
|
||||
0xB83A0800, // 0083 GETNGBL R14 K4
|
||||
0x88381D21, // 0084 GETMBR R14 R14 K33
|
||||
0x9036220E, // 0085 SETMBR R13 K17 R14
|
||||
0x88340B0C, // 0086 GETMBR R13 R5 K12
|
||||
0x8C341B25, // 0087 GETMET R13 R13 K37
|
||||
0x5C3C1800, // 0088 MOVE R15 R12
|
||||
0x7C340400, // 0089 CALL R13 2
|
||||
0xB8363400, // 008A GETNGBL R13 K26
|
||||
0x8C341B02, // 008B GETMET R13 R13 K2
|
||||
0x603C0018, // 008C GETGBL R15 G24
|
||||
0x58400026, // 008D LDCONST R16 K38
|
||||
0x88440315, // 008E GETMBR R17 R1 K21
|
||||
0x8844231C, // 008F GETMBR R17 R17 K28
|
||||
0x88480327, // 0090 GETMBR R18 R1 K39
|
||||
0x7C3C0600, // 0091 CALL R15 3
|
||||
0x5840001F, // 0092 LDCONST R16 K31
|
||||
0x7C340600, // 0093 CALL R13 3
|
||||
0x70020070, // 0094 JMP #0106
|
||||
0x4C340000, // 0095 LDNIL R13
|
||||
0x2034140D, // 0096 NE R13 R10 R13
|
||||
0x78360031, // 0097 JMPF R13 #00CA
|
||||
0xB8360800, // 0098 GETNGBL R13 K4
|
||||
0x8C341B28, // 0099 GETMET R13 R13 K40
|
||||
0x7C340200, // 009A CALL R13 1
|
||||
0x9032200D, // 009B SETMBR R12 K16 R13
|
||||
0x88341910, // 009C GETMBR R13 R12 K16
|
||||
0xB83A0800, // 009D GETNGBL R14 K4
|
||||
0x8C381D23, // 009E GETMET R14 R14 K35
|
||||
0x7C380200, // 009F CALL R14 1
|
||||
0x90361C0E, // 00A0 SETMBR R13 K14 R14
|
||||
0x88341910, // 00A1 GETMBR R13 R12 K16
|
||||
0x88341B0E, // 00A2 GETMBR R13 R13 K14
|
||||
0x8838070D, // 00A3 GETMBR R14 R3 K13
|
||||
0x90361A0E, // 00A4 SETMBR R13 K13 R14
|
||||
0x88341910, // 00A5 GETMBR R13 R12 K16
|
||||
0x88341B0E, // 00A6 GETMBR R13 R13 K14
|
||||
0x8838070F, // 00A7 GETMBR R14 R3 K15
|
||||
0x90361E0E, // 00A8 SETMBR R13 K15 R14
|
||||
0x88341910, // 00A9 GETMBR R13 R12 K16
|
||||
0x88341B0E, // 00AA GETMBR R13 R13 K14
|
||||
0x88380710, // 00AB GETMBR R14 R3 K16
|
||||
0x9036200E, // 00AC SETMBR R13 K16 R14
|
||||
0x88341910, // 00AD GETMBR R13 R12 K16
|
||||
0x90362C0A, // 00AE SETMBR R13 K22 R10
|
||||
0x88340B0C, // 00AF GETMBR R13 R5 K12
|
||||
0x8C341B25, // 00B0 GETMET R13 R13 K37
|
||||
0x5C3C1800, // 00B1 MOVE R15 R12
|
||||
0x7C340400, // 00B2 CALL R13 2
|
||||
0xB8360800, // 00B3 GETNGBL R13 K4
|
||||
0x8C341B13, // 00B4 GETMET R13 R13 K19
|
||||
0x883C070F, // 00B5 GETMBR R15 R3 K15
|
||||
0x88400710, // 00B6 GETMBR R16 R3 K16
|
||||
0x7C340600, // 00B7 CALL R13 3
|
||||
0x5C201A00, // 00B8 MOVE R8 R13
|
||||
0xB8363400, // 00B9 GETNGBL R13 K26
|
||||
0x8C341B02, // 00BA GETMET R13 R13 K2
|
||||
0x603C0018, // 00BB GETGBL R15 G24
|
||||
0x58400029, // 00BC LDCONST R16 K41
|
||||
0x88440315, // 00BD GETMBR R17 R1 K21
|
||||
0x8844231C, // 00BE GETMBR R17 R17 K28
|
||||
0x60480008, // 00BF GETGBL R18 G8
|
||||
0x5C4C0600, // 00C0 MOVE R19 R3
|
||||
0x7C480200, // 00C1 CALL R18 1
|
||||
0x78220001, // 00C2 JMPF R8 #00C5
|
||||
0x5C4C1000, // 00C3 MOVE R19 R8
|
||||
0x70020000, // 00C4 JMP #00C6
|
||||
0x584C0019, // 00C5 LDCONST R19 K25
|
||||
0x7C3C0800, // 00C6 CALL R15 4
|
||||
0x5840001F, // 00C7 LDCONST R16 K31
|
||||
0x7C340600, // 00C8 CALL R13 3
|
||||
0x7002003B, // 00C9 JMP #0106
|
||||
0x88340711, // 00CA GETMBR R13 R3 K17
|
||||
0x4C380000, // 00CB LDNIL R14
|
||||
0x20341A0E, // 00CC NE R13 R13 R14
|
||||
0x7836002D, // 00CD JMPF R13 #00FC
|
||||
0xB8360800, // 00CE GETNGBL R13 K4
|
||||
0x8C341B22, // 00CF GETMET R13 R13 K34
|
||||
0x7C340200, // 00D0 CALL R13 1
|
||||
0x9032220D, // 00D1 SETMBR R12 K17 R13
|
||||
0x88341911, // 00D2 GETMBR R13 R12 K17
|
||||
0xB83A0800, // 00D3 GETNGBL R14 K4
|
||||
0x8C381D23, // 00D4 GETMET R14 R14 K35
|
||||
0x7C380200, // 00D5 CALL R14 1
|
||||
0x90361C0E, // 00D6 SETMBR R13 K14 R14
|
||||
0x88341911, // 00D7 GETMBR R13 R12 K17
|
||||
0x88341B0E, // 00D8 GETMBR R13 R13 K14
|
||||
0x8838070D, // 00D9 GETMBR R14 R3 K13
|
||||
0x90361A0E, // 00DA SETMBR R13 K13 R14
|
||||
0x88341911, // 00DB GETMBR R13 R12 K17
|
||||
0x88341B0E, // 00DC GETMBR R13 R13 K14
|
||||
0x8838070F, // 00DD GETMBR R14 R3 K15
|
||||
0x90361E0E, // 00DE SETMBR R13 K15 R14
|
||||
0x88341911, // 00DF GETMBR R13 R12 K17
|
||||
0x88341B0E, // 00E0 GETMBR R13 R13 K14
|
||||
0x88380710, // 00E1 GETMBR R14 R3 K16
|
||||
0x9036200E, // 00E2 SETMBR R13 K16 R14
|
||||
0x88341911, // 00E3 GETMBR R13 R12 K17
|
||||
0xB83A0800, // 00E4 GETNGBL R14 K4
|
||||
0x8C381D24, // 00E5 GETMET R14 R14 K36
|
||||
0x7C380200, // 00E6 CALL R14 1
|
||||
0x9036220E, // 00E7 SETMBR R13 K17 R14
|
||||
0x88341911, // 00E8 GETMBR R13 R12 K17
|
||||
0x88341B11, // 00E9 GETMBR R13 R13 K17
|
||||
0x88380711, // 00EA GETMBR R14 R3 K17
|
||||
0x9036220E, // 00EB SETMBR R13 K17 R14
|
||||
0x88340B0C, // 00EC GETMBR R13 R5 K12
|
||||
0x8C341B25, // 00ED GETMET R13 R13 K37
|
||||
0x5C3C1800, // 00EE MOVE R15 R12
|
||||
0x7C340400, // 00EF CALL R13 2
|
||||
0xB8363400, // 00F0 GETNGBL R13 K26
|
||||
0x8C341B02, // 00F1 GETMET R13 R13 K2
|
||||
0x603C0018, // 00F2 GETGBL R15 G24
|
||||
0x5840002A, // 00F3 LDCONST R16 K42
|
||||
0x88440315, // 00F4 GETMBR R17 R1 K21
|
||||
0x8844231C, // 00F5 GETMBR R17 R17 K28
|
||||
0x88480711, // 00F6 GETMBR R18 R3 K17
|
||||
0x884C0327, // 00F7 GETMBR R19 R1 K39
|
||||
0x7C3C0800, // 00F8 CALL R15 4
|
||||
0x5840001F, // 00F9 LDCONST R16 K31
|
||||
0x7C340600, // 00FA CALL R13 3
|
||||
0x70020009, // 00FB JMP #0106
|
||||
0xB8363400, // 00FC GETNGBL R13 K26
|
||||
0x8C341B02, // 00FD GETMET R13 R13 K2
|
||||
0x603C0018, // 00FE GETGBL R15 G24
|
||||
0x5840002B, // 00FF LDCONST R16 K43
|
||||
0x88440315, // 0100 GETMBR R17 R1 K21
|
||||
0x8844231C, // 0101 GETMBR R17 R17 K28
|
||||
0x88480327, // 0102 GETMBR R18 R1 K39
|
||||
0x7C3C0600, // 0103 CALL R15 3
|
||||
0x5840001F, // 0104 LDCONST R16 K31
|
||||
0x7C340600, // 0105 CALL R13 3
|
||||
0x7001FF17, // 0106 JMP #001F
|
||||
0x5818002C, // 0107 LDCONST R6 K44
|
||||
0xAC180200, // 0108 CATCH R6 1 0
|
||||
0xB0080000, // 0109 RAISE 2 R0 R0
|
||||
0x6018000C, // 010A GETGBL R6 G12
|
||||
0x881C0B0C, // 010B GETMBR R7 R5 K12
|
||||
0x7C180200, // 010C CALL R6 1
|
||||
0x24180D1D, // 010D GT R6 R6 K29
|
||||
0x781A0004, // 010E JMPF R6 #0114
|
||||
0x8C18012D, // 010F GETMET R6 R0 K45
|
||||
0x5C200200, // 0110 MOVE R8 R1
|
||||
0x5C240A00, // 0111 MOVE R9 R5
|
||||
0x7C180600, // 0112 CALL R6 3
|
||||
0x70020001, // 0113 JMP #0116
|
||||
0x50180000, // 0114 LDBOOL R6 0 0
|
||||
0x80040C00, // 0115 RET 1 R6
|
||||
0x50180200, // 0116 LDBOOL R6 1 0
|
||||
0x80040C00, // 0117 RET 1 R6
|
||||
0x80000000, // 0118 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -1880,38 +1887,47 @@ be_local_closure(Matter_IM_process_read_request, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* K1 */ be_nested_str_weak(ReadRequestMessage),
|
||||
/* K2 */ be_nested_str_weak(from_TLV),
|
||||
/* K3 */ be_nested_str_weak(attributes_requests),
|
||||
/* K4 */ be_nested_str_weak(_inner_process_read_request),
|
||||
/* K5 */ be_nested_str_weak(session),
|
||||
/* K6 */ be_nested_str_weak(send_report_data),
|
||||
( &(const bvalue[11]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(device),
|
||||
/* K1 */ be_nested_str_weak(profiler),
|
||||
/* K2 */ be_nested_str_weak(log),
|
||||
/* K3 */ be_nested_str_weak(read_request_start),
|
||||
/* K4 */ be_nested_str_weak(matter),
|
||||
/* K5 */ be_nested_str_weak(ReadRequestMessage),
|
||||
/* K6 */ be_nested_str_weak(from_TLV),
|
||||
/* K7 */ be_nested_str_weak(attributes_requests),
|
||||
/* K8 */ be_nested_str_weak(_inner_process_read_request),
|
||||
/* K9 */ be_nested_str_weak(session),
|
||||
/* K10 */ be_nested_str_weak(send_report_data),
|
||||
}),
|
||||
be_str_weak(process_read_request),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[20]) { /* code */
|
||||
0xB80E0000, // 0000 GETNGBL R3 K0
|
||||
0x8C0C0701, // 0001 GETMET R3 R3 K1
|
||||
0x7C0C0200, // 0002 CALL R3 1
|
||||
0x8C0C0702, // 0003 GETMET R3 R3 K2
|
||||
0x5C140400, // 0004 MOVE R5 R2
|
||||
0x7C0C0400, // 0005 CALL R3 2
|
||||
0x88100703, // 0006 GETMBR R4 R3 K3
|
||||
0x4C140000, // 0007 LDNIL R5
|
||||
0x20100805, // 0008 NE R4 R4 R5
|
||||
0x78120007, // 0009 JMPF R4 #0012
|
||||
0x8C100104, // 000A GETMET R4 R0 K4
|
||||
0x88180305, // 000B GETMBR R6 R1 K5
|
||||
0x5C1C0600, // 000C MOVE R7 R3
|
||||
0x7C100600, // 000D CALL R4 3
|
||||
0x8C140106, // 000E GETMET R5 R0 K6
|
||||
0x5C1C0200, // 000F MOVE R7 R1
|
||||
0x5C200800, // 0010 MOVE R8 R4
|
||||
0x7C140600, // 0011 CALL R5 3
|
||||
0x50100200, // 0012 LDBOOL R4 1 0
|
||||
0x80040800, // 0013 RET 1 R4
|
||||
( &(const binstruction[25]) { /* code */
|
||||
0x880C0100, // 0000 GETMBR R3 R0 K0
|
||||
0x880C0701, // 0001 GETMBR R3 R3 K1
|
||||
0x8C0C0702, // 0002 GETMET R3 R3 K2
|
||||
0x58140003, // 0003 LDCONST R5 K3
|
||||
0x7C0C0400, // 0004 CALL R3 2
|
||||
0xB80E0800, // 0005 GETNGBL R3 K4
|
||||
0x8C0C0705, // 0006 GETMET R3 R3 K5
|
||||
0x7C0C0200, // 0007 CALL R3 1
|
||||
0x8C0C0706, // 0008 GETMET R3 R3 K6
|
||||
0x5C140400, // 0009 MOVE R5 R2
|
||||
0x7C0C0400, // 000A CALL R3 2
|
||||
0x88100707, // 000B GETMBR R4 R3 K7
|
||||
0x4C140000, // 000C LDNIL R5
|
||||
0x20100805, // 000D NE R4 R4 R5
|
||||
0x78120007, // 000E JMPF R4 #0017
|
||||
0x8C100108, // 000F GETMET R4 R0 K8
|
||||
0x88180309, // 0010 GETMBR R6 R1 K9
|
||||
0x5C1C0600, // 0011 MOVE R7 R3
|
||||
0x7C100600, // 0012 CALL R4 3
|
||||
0x8C14010A, // 0013 GETMET R5 R0 K10
|
||||
0x5C1C0200, // 0014 MOVE R7 R1
|
||||
0x5C200800, // 0015 MOVE R8 R4
|
||||
0x7C140600, // 0016 CALL R5 3
|
||||
0x50100200, // 0017 LDBOOL R4 1 0
|
||||
0x80040800, // 0018 RET 1 R4
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -19,18 +19,26 @@ be_local_closure(Matter_MessageHandler_send_response_frame, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(device),
|
||||
/* K1 */ be_nested_str_weak(msg_send),
|
||||
/* K1 */ be_nested_str_weak(profiler),
|
||||
/* K2 */ be_nested_str_weak(log),
|
||||
/* K3 */ be_nested_str_weak(send_response_frame),
|
||||
/* K4 */ be_nested_str_weak(msg_send),
|
||||
}),
|
||||
be_str_weak(send_response_frame),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
0x5C100200, // 0002 MOVE R4 R1
|
||||
0x7C080400, // 0003 CALL R2 2
|
||||
0x80000000, // 0004 RET 0
|
||||
0x88080501, // 0001 GETMBR R2 R2 K1
|
||||
0x8C080502, // 0002 GETMET R2 R2 K2
|
||||
0x58100003, // 0003 LDCONST R4 K3
|
||||
0x7C080400, // 0004 CALL R2 2
|
||||
0x88080100, // 0005 GETMBR R2 R0 K0
|
||||
0x8C080504, // 0006 GETMET R2 R2 K4
|
||||
0x5C100200, // 0007 MOVE R4 R1
|
||||
0x7C080400, // 0008 CALL R2 2
|
||||
0x80000000, // 0009 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -213,400 +221,413 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[66]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* K1 */ be_nested_str_weak(Frame),
|
||||
/* K2 */ be_nested_str_weak(decode_header),
|
||||
/* K3 */ be_nested_str_weak(sec_p),
|
||||
/* K4 */ be_nested_str_weak(device),
|
||||
/* K5 */ be_nested_str_weak(sessions),
|
||||
/* K6 */ be_nested_str_weak(find_session_source_id_unsecure),
|
||||
/* K7 */ be_nested_str_weak(source_node_id),
|
||||
/* K8 */ be_nested_str_weak(control_message),
|
||||
/* K9 */ be_nested_str_weak(process_incoming_control_message),
|
||||
/* K10 */ be_nested_str_weak(local_session_id),
|
||||
/* K11 */ be_const_int(0),
|
||||
/* K12 */ be_nested_str_weak(sec_sesstype),
|
||||
/* K13 */ be_nested_str_weak(_ip),
|
||||
/* K14 */ be_nested_str_weak(_port),
|
||||
/* K15 */ be_nested_str_weak(_message_handler),
|
||||
/* K16 */ be_nested_str_weak(session),
|
||||
/* K17 */ be_nested_str_weak(_counter_insecure_rcv),
|
||||
/* K18 */ be_nested_str_weak(validate),
|
||||
/* K19 */ be_nested_str_weak(message_counter),
|
||||
/* K20 */ be_nested_str_weak(tasmota),
|
||||
/* K21 */ be_nested_str_weak(log),
|
||||
/* K22 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20unencrypted_X20message_X20_X3D_X20_X25i_X20ref_X20_X3D_X20_X25i),
|
||||
/* K23 */ be_nested_str_weak(val),
|
||||
/* K24 */ be_nested_str_weak(send_simple_ack),
|
||||
/* K25 */ be_nested_str_weak(decode_payload),
|
||||
/* K26 */ be_nested_str_weak(received_ack),
|
||||
/* K27 */ be_nested_str_weak(opcode),
|
||||
/* K28 */ be_nested_str_weak(get_opcode_name),
|
||||
/* K29 */ be_nested_str_weak(0x_X2502X),
|
||||
/* K30 */ be_nested_str_weak(MTR_X3A_X20_X3EReceived_X20_X20_X28_X256i_X29_X20_X25s_X20rid_X3D_X25i_X20exch_X3D_X25i_X20from_X20_X5B_X25s_X5D_X3A_X25i),
|
||||
/* K31 */ be_nested_str_weak(exchange_id),
|
||||
/* K32 */ be_const_int(3),
|
||||
/* K33 */ be_nested_str_weak(MTR_X3A_X20_X3Ercv_X20Ack_X20_X20_X20_X28_X256i_X29_X20rid_X3D_X25i_X20exch_X3D_X25i_X20ack_X3D_X25s_X20_X25sfrom_X20_X5B_X25s_X5D_X3A_X25i),
|
||||
/* K34 */ be_nested_str_weak(x_flag_r),
|
||||
/* K35 */ be_nested_str_weak(_X7Breliable_X7D_X20),
|
||||
/* K36 */ be_nested_str_weak(),
|
||||
/* K37 */ be_nested_str_weak(ack_message_counter),
|
||||
/* K38 */ be_nested_str_weak(commissioning),
|
||||
/* K39 */ be_nested_str_weak(process_incoming),
|
||||
/* K40 */ be_nested_str_weak(MTR_X3A_X20decode_X20header_X3A_X20local_session_id_X3D_X25i_X20message_counter_X3D_X25i),
|
||||
/* K41 */ be_nested_str_weak(get_session_by_local_session_id),
|
||||
/* K42 */ be_nested_str_weak(MTR_X3A_X20unknown_X20local_session_id_X3D),
|
||||
/* K43 */ be_nested_str_weak(counter_rcv_validate),
|
||||
/* K44 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20encrypted_X20message_X20_X3D_X20),
|
||||
/* K45 */ be_nested_str_weak(_X20counter_X3D),
|
||||
/* K46 */ be_nested_str_weak(counter_rcv),
|
||||
/* K47 */ be_nested_str_weak(send_encrypted_ack),
|
||||
/* K48 */ be_nested_str_weak(decrypt),
|
||||
/* K49 */ be_nested_str_weak(raw),
|
||||
/* K50 */ be_nested_str_weak(payload_idx),
|
||||
/* K51 */ be_const_int(1),
|
||||
/* K52 */ be_nested_str_weak(MTR_X3A_X20_X3E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Decrypted_X20message_X3A_X20protocol_id_X3A),
|
||||
/* K53 */ be_nested_str_weak(protocol_id),
|
||||
/* K54 */ be_nested_str_weak(_X20opcode_X3D),
|
||||
/* K55 */ be_nested_str_weak(_X20exchange_id_X3D),
|
||||
/* K56 */ be_nested_str_weak(im),
|
||||
/* K57 */ be_nested_str_weak(process_incoming_ack),
|
||||
/* K58 */ be_nested_str_weak(send_enqueued),
|
||||
/* K59 */ be_nested_str_weak(MTR_X3A_X20ignoring_X20unhandled_X20protocol_id_X3A),
|
||||
/* K60 */ be_nested_str_weak(MTR_X3A_X20MessageHandler_X3A_X3Amsg_received_X20exception_X3A_X20),
|
||||
/* K61 */ be_nested_str_weak(_X3B),
|
||||
/* K62 */ be_const_int(2),
|
||||
/* K63 */ be_nested_str_weak(_debug_present),
|
||||
/* K64 */ be_nested_str_weak(debug),
|
||||
/* K65 */ be_nested_str_weak(traceback),
|
||||
( &(const bvalue[69]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(device),
|
||||
/* K1 */ be_nested_str_weak(profiler),
|
||||
/* K2 */ be_nested_str_weak(log),
|
||||
/* K3 */ be_nested_str_weak(msg_received),
|
||||
/* K4 */ be_nested_str_weak(matter),
|
||||
/* K5 */ be_nested_str_weak(Frame),
|
||||
/* K6 */ be_nested_str_weak(decode_header),
|
||||
/* K7 */ be_nested_str_weak(sec_p),
|
||||
/* K8 */ be_nested_str_weak(sessions),
|
||||
/* K9 */ be_nested_str_weak(find_session_source_id_unsecure),
|
||||
/* K10 */ be_nested_str_weak(source_node_id),
|
||||
/* K11 */ be_nested_str_weak(control_message),
|
||||
/* K12 */ be_nested_str_weak(process_incoming_control_message),
|
||||
/* K13 */ be_nested_str_weak(local_session_id),
|
||||
/* K14 */ be_const_int(0),
|
||||
/* K15 */ be_nested_str_weak(sec_sesstype),
|
||||
/* K16 */ be_nested_str_weak(_ip),
|
||||
/* K17 */ be_nested_str_weak(_port),
|
||||
/* K18 */ be_nested_str_weak(_message_handler),
|
||||
/* K19 */ be_nested_str_weak(session),
|
||||
/* K20 */ be_nested_str_weak(_counter_insecure_rcv),
|
||||
/* K21 */ be_nested_str_weak(validate),
|
||||
/* K22 */ be_nested_str_weak(message_counter),
|
||||
/* K23 */ be_nested_str_weak(tasmota),
|
||||
/* K24 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20unencrypted_X20message_X20_X3D_X20_X25i_X20ref_X20_X3D_X20_X25i),
|
||||
/* K25 */ be_nested_str_weak(val),
|
||||
/* K26 */ be_nested_str_weak(send_simple_ack),
|
||||
/* K27 */ be_nested_str_weak(decode_payload),
|
||||
/* K28 */ be_nested_str_weak(received_ack),
|
||||
/* K29 */ be_nested_str_weak(opcode),
|
||||
/* K30 */ be_nested_str_weak(get_opcode_name),
|
||||
/* K31 */ be_nested_str_weak(0x_X2502X),
|
||||
/* K32 */ be_nested_str_weak(MTR_X3A_X20_X3EReceived_X20_X20_X28_X256i_X29_X20_X25s_X20rid_X3D_X25i_X20exch_X3D_X25i_X20from_X20_X5B_X25s_X5D_X3A_X25i),
|
||||
/* K33 */ be_nested_str_weak(exchange_id),
|
||||
/* K34 */ be_const_int(3),
|
||||
/* K35 */ be_nested_str_weak(MTR_X3A_X20_X3Ercv_X20Ack_X20_X20_X20_X28_X256i_X29_X20rid_X3D_X25i_X20exch_X3D_X25i_X20ack_X3D_X25s_X20_X25sfrom_X20_X5B_X25s_X5D_X3A_X25i),
|
||||
/* K36 */ be_nested_str_weak(x_flag_r),
|
||||
/* K37 */ be_nested_str_weak(_X7Breliable_X7D_X20),
|
||||
/* K38 */ be_nested_str_weak(),
|
||||
/* K39 */ be_nested_str_weak(ack_message_counter),
|
||||
/* K40 */ be_nested_str_weak(commissioning),
|
||||
/* K41 */ be_nested_str_weak(process_incoming),
|
||||
/* K42 */ be_nested_str_weak(MTR_X3A_X20decode_X20header_X3A_X20local_session_id_X3D_X25i_X20message_counter_X3D_X25i),
|
||||
/* K43 */ be_nested_str_weak(get_session_by_local_session_id),
|
||||
/* K44 */ be_nested_str_weak(MTR_X3A_X20unknown_X20local_session_id_X3D),
|
||||
/* K45 */ be_nested_str_weak(counter_rcv_validate),
|
||||
/* K46 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20encrypted_X20message_X20_X3D_X20),
|
||||
/* K47 */ be_nested_str_weak(_X20counter_X3D),
|
||||
/* K48 */ be_nested_str_weak(counter_rcv),
|
||||
/* K49 */ be_nested_str_weak(send_encrypted_ack),
|
||||
/* K50 */ be_nested_str_weak(decrypt),
|
||||
/* K51 */ be_nested_str_weak(raw),
|
||||
/* K52 */ be_nested_str_weak(payload_idx),
|
||||
/* K53 */ be_const_int(1),
|
||||
/* K54 */ be_nested_str_weak(MTR_X3A_X20_X3E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Decrypted_X20message_X3A_X20protocol_id_X3A),
|
||||
/* K55 */ be_nested_str_weak(protocol_id),
|
||||
/* K56 */ be_nested_str_weak(_X20opcode_X3D),
|
||||
/* K57 */ be_nested_str_weak(_X20exchange_id_X3D),
|
||||
/* K58 */ be_nested_str_weak(im),
|
||||
/* K59 */ be_nested_str_weak(process_incoming_ack),
|
||||
/* K60 */ be_nested_str_weak(send_enqueued),
|
||||
/* K61 */ be_nested_str_weak(process_IM_end),
|
||||
/* K62 */ be_nested_str_weak(MTR_X3A_X20ignoring_X20unhandled_X20protocol_id_X3A),
|
||||
/* K63 */ be_nested_str_weak(MTR_X3A_X20MessageHandler_X3A_X3Amsg_received_X20exception_X3A_X20),
|
||||
/* K64 */ be_nested_str_weak(_X3B),
|
||||
/* K65 */ be_const_int(2),
|
||||
/* K66 */ be_nested_str_weak(_debug_present),
|
||||
/* K67 */ be_nested_str_weak(debug),
|
||||
/* K68 */ be_nested_str_weak(traceback),
|
||||
}),
|
||||
be_str_weak(msg_received),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[323]) { /* code */
|
||||
( &(const binstruction[333]) { /* code */
|
||||
0x50100000, // 0000 LDBOOL R4 0 0
|
||||
0xA8020126, // 0001 EXBLK 0 #0129
|
||||
0xB8160000, // 0002 GETNGBL R5 K0
|
||||
0x8C140B01, // 0003 GETMET R5 R5 K1
|
||||
0x5C1C0000, // 0004 MOVE R7 R0
|
||||
0x5C200200, // 0005 MOVE R8 R1
|
||||
0x5C240400, // 0006 MOVE R9 R2
|
||||
0x5C280600, // 0007 MOVE R10 R3
|
||||
0x7C140A00, // 0008 CALL R5 5
|
||||
0x8C180B02, // 0009 GETMET R6 R5 K2
|
||||
0x7C180200, // 000A CALL R6 1
|
||||
0x5C1C0C00, // 000B MOVE R7 R6
|
||||
0x741E0002, // 000C JMPT R7 #0010
|
||||
0x501C0000, // 000D LDBOOL R7 0 0
|
||||
0xA8040001, // 000E EXBLK 1 1
|
||||
0x80040E00, // 000F RET 1 R7
|
||||
0x881C0B03, // 0010 GETMBR R7 R5 K3
|
||||
0x781E000C, // 0011 JMPF R7 #001F
|
||||
0x881C0104, // 0012 GETMBR R7 R0 K4
|
||||
0x881C0F05, // 0013 GETMBR R7 R7 K5
|
||||
0x8C1C0F06, // 0014 GETMET R7 R7 K6
|
||||
0x88240B07, // 0015 GETMBR R9 R5 K7
|
||||
0x542A0059, // 0016 LDINT R10 90
|
||||
0x7C1C0600, // 0017 CALL R7 3
|
||||
0x88200108, // 0018 GETMBR R8 R0 K8
|
||||
0x8C201109, // 0019 GETMET R8 R8 K9
|
||||
0x5C280A00, // 001A MOVE R10 R5
|
||||
0x7C200400, // 001B CALL R8 2
|
||||
0xA8040001, // 001C EXBLK 1 1
|
||||
0x80041000, // 001D RET 1 R8
|
||||
0x70020105, // 001E JMP #0125
|
||||
0x881C0B0A, // 001F GETMBR R7 R5 K10
|
||||
0x1C1C0F0B, // 0020 EQ R7 R7 K11
|
||||
0x781E0070, // 0021 JMPF R7 #0093
|
||||
0x881C0B0C, // 0022 GETMBR R7 R5 K12
|
||||
0x1C1C0F0B, // 0023 EQ R7 R7 K11
|
||||
0x781E006D, // 0024 JMPF R7 #0093
|
||||
0x881C0104, // 0025 GETMBR R7 R0 K4
|
||||
0x881C0F05, // 0026 GETMBR R7 R7 K5
|
||||
0x8C1C0F06, // 0027 GETMET R7 R7 K6
|
||||
0x88240B07, // 0028 GETMBR R9 R5 K7
|
||||
0x542A0059, // 0029 LDINT R10 90
|
||||
0x7C1C0600, // 002A CALL R7 3
|
||||
0x780A0000, // 002B JMPF R2 #002D
|
||||
0x901E1A02, // 002C SETMBR R7 K13 R2
|
||||
0x780E0000, // 002D JMPF R3 #002F
|
||||
0x901E1C03, // 002E SETMBR R7 K14 R3
|
||||
0x901E1E00, // 002F SETMBR R7 K15 R0
|
||||
0x90162007, // 0030 SETMBR R5 K16 R7
|
||||
0x88200F11, // 0031 GETMBR R8 R7 K17
|
||||
0x8C201112, // 0032 GETMET R8 R8 K18
|
||||
0x88280B13, // 0033 GETMBR R10 R5 K19
|
||||
0x502C0000, // 0034 LDBOOL R11 0 0
|
||||
0x7C200600, // 0035 CALL R8 3
|
||||
0x74220011, // 0036 JMPT R8 #0049
|
||||
0xB8222800, // 0037 GETNGBL R8 K20
|
||||
0x8C201115, // 0038 GETMET R8 R8 K21
|
||||
0x60280018, // 0039 GETGBL R10 G24
|
||||
0x582C0016, // 003A LDCONST R11 K22
|
||||
0x88300B13, // 003B GETMBR R12 R5 K19
|
||||
0x88340F11, // 003C GETMBR R13 R7 K17
|
||||
0x8C341B17, // 003D GETMET R13 R13 K23
|
||||
0x7C340200, // 003E CALL R13 1
|
||||
0x7C280600, // 003F CALL R10 3
|
||||
0x542E0003, // 0040 LDINT R11 4
|
||||
0x7C200600, // 0041 CALL R8 3
|
||||
0x8C200118, // 0042 GETMET R8 R0 K24
|
||||
0x5C280A00, // 0043 MOVE R10 R5
|
||||
0x502C0000, // 0044 LDBOOL R11 0 0
|
||||
0x7C200600, // 0045 CALL R8 3
|
||||
0x50200000, // 0046 LDBOOL R8 0 0
|
||||
0xA8040001, // 0047 EXBLK 1 1
|
||||
0x80041000, // 0048 RET 1 R8
|
||||
0x8C200B19, // 0049 GETMET R8 R5 K25
|
||||
0x7C200200, // 004A CALL R8 1
|
||||
0x74220002, // 004B JMPT R8 #004F
|
||||
0x50200000, // 004C LDBOOL R8 0 0
|
||||
0xA8040001, // 004D EXBLK 1 1
|
||||
0x80041000, // 004E RET 1 R8
|
||||
0x88200104, // 004F GETMBR R8 R0 K4
|
||||
0x8C20111A, // 0050 GETMET R8 R8 K26
|
||||
0x5C280A00, // 0051 MOVE R10 R5
|
||||
0x7C200400, // 0052 CALL R8 2
|
||||
0x88200B1B, // 0053 GETMBR R8 R5 K27
|
||||
0x5426000F, // 0054 LDINT R9 16
|
||||
0x20201009, // 0055 NE R8 R8 R9
|
||||
0x78220018, // 0056 JMPF R8 #0070
|
||||
0xB8220000, // 0057 GETNGBL R8 K0
|
||||
0x8C20111C, // 0058 GETMET R8 R8 K28
|
||||
0x88280B1B, // 0059 GETMBR R10 R5 K27
|
||||
0x7C200400, // 005A CALL R8 2
|
||||
0x5C241000, // 005B MOVE R9 R8
|
||||
0x74260004, // 005C JMPT R9 #0062
|
||||
0x60240018, // 005D GETGBL R9 G24
|
||||
0x5828001D, // 005E LDCONST R10 K29
|
||||
0x882C0B1B, // 005F GETMBR R11 R5 K27
|
||||
0x7C240400, // 0060 CALL R9 2
|
||||
0x5C201200, // 0061 MOVE R8 R9
|
||||
0xB8262800, // 0062 GETNGBL R9 K20
|
||||
0x8C241315, // 0063 GETMET R9 R9 K21
|
||||
0x602C0018, // 0064 GETGBL R11 G24
|
||||
0x5830001E, // 0065 LDCONST R12 K30
|
||||
0x88340F0A, // 0066 GETMBR R13 R7 K10
|
||||
0x5C381000, // 0067 MOVE R14 R8
|
||||
0x883C0B13, // 0068 GETMBR R15 R5 K19
|
||||
0x88400B1F, // 0069 GETMBR R16 R5 K31
|
||||
0x5C440400, // 006A MOVE R17 R2
|
||||
0x5C480600, // 006B MOVE R18 R3
|
||||
0x7C2C0E00, // 006C CALL R11 7
|
||||
0x58300020, // 006D LDCONST R12 K32
|
||||
0x7C240600, // 006E CALL R9 3
|
||||
0x70020013, // 006F JMP #0084
|
||||
0xB8222800, // 0070 GETNGBL R8 K20
|
||||
0x8C201115, // 0071 GETMET R8 R8 K21
|
||||
0x60280018, // 0072 GETGBL R10 G24
|
||||
0x582C0021, // 0073 LDCONST R11 K33
|
||||
0x88300F0A, // 0074 GETMBR R12 R7 K10
|
||||
0x88340B13, // 0075 GETMBR R13 R5 K19
|
||||
0x88380B22, // 0076 GETMBR R14 R5 K34
|
||||
0x783A0001, // 0077 JMPF R14 #007A
|
||||
0x58380023, // 0078 LDCONST R14 K35
|
||||
0x70020000, // 0079 JMP #007B
|
||||
0x58380024, // 007A LDCONST R14 K36
|
||||
0x883C0B1F, // 007B GETMBR R15 R5 K31
|
||||
0x60400008, // 007C GETGBL R16 G8
|
||||
0x88440B25, // 007D GETMBR R17 R5 K37
|
||||
0x7C400200, // 007E CALL R16 1
|
||||
0x5C440400, // 007F MOVE R17 R2
|
||||
0x5C480600, // 0080 MOVE R18 R3
|
||||
0x7C281000, // 0081 CALL R10 8
|
||||
0x542E0003, // 0082 LDINT R11 4
|
||||
0x7C200600, // 0083 CALL R8 3
|
||||
0x88200126, // 0084 GETMBR R8 R0 K38
|
||||
0x8C201127, // 0085 GETMET R8 R8 K39
|
||||
0x5C280A00, // 0086 MOVE R10 R5
|
||||
0x7C200400, // 0087 CALL R8 2
|
||||
0x5C101000, // 0088 MOVE R4 R8
|
||||
0x5C200800, // 0089 MOVE R8 R4
|
||||
0x74220003, // 008A JMPT R8 #008F
|
||||
0x8C200118, // 008B GETMET R8 R0 K24
|
||||
0x5C280A00, // 008C MOVE R10 R5
|
||||
0x502C0000, // 008D LDBOOL R11 0 0
|
||||
0x7C200600, // 008E CALL R8 3
|
||||
0x50200200, // 008F LDBOOL R8 1 0
|
||||
0xA8040001, // 0090 EXBLK 1 1
|
||||
0x80041000, // 0091 RET 1 R8
|
||||
0x70020091, // 0092 JMP #0125
|
||||
0xB81E2800, // 0093 GETNGBL R7 K20
|
||||
0x8C1C0F15, // 0094 GETMET R7 R7 K21
|
||||
0x60240018, // 0095 GETGBL R9 G24
|
||||
0x58280028, // 0096 LDCONST R10 K40
|
||||
0x882C0B0A, // 0097 GETMBR R11 R5 K10
|
||||
0x88300B13, // 0098 GETMBR R12 R5 K19
|
||||
0x7C240600, // 0099 CALL R9 3
|
||||
0x542A0003, // 009A LDINT R10 4
|
||||
0x7C1C0600, // 009B CALL R7 3
|
||||
0x881C0104, // 009C GETMBR R7 R0 K4
|
||||
0x881C0F05, // 009D GETMBR R7 R7 K5
|
||||
0x8C1C0F29, // 009E GETMET R7 R7 K41
|
||||
0x88240B0A, // 009F GETMBR R9 R5 K10
|
||||
0x7C1C0400, // 00A0 CALL R7 2
|
||||
0x4C200000, // 00A1 LDNIL R8
|
||||
0x1C200E08, // 00A2 EQ R8 R7 R8
|
||||
0x7822000A, // 00A3 JMPF R8 #00AF
|
||||
0xB8222800, // 00A4 GETNGBL R8 K20
|
||||
0x8C201115, // 00A5 GETMET R8 R8 K21
|
||||
0x60280008, // 00A6 GETGBL R10 G8
|
||||
0x882C0B0A, // 00A7 GETMBR R11 R5 K10
|
||||
0x7C280200, // 00A8 CALL R10 1
|
||||
0x002A540A, // 00A9 ADD R10 K42 R10
|
||||
0x582C0020, // 00AA LDCONST R11 K32
|
||||
0x7C200600, // 00AB CALL R8 3
|
||||
0x50200000, // 00AC LDBOOL R8 0 0
|
||||
0xA8040001, // 00AD EXBLK 1 1
|
||||
0x80041000, // 00AE RET 1 R8
|
||||
0x780A0000, // 00AF JMPF R2 #00B1
|
||||
0x901E1A02, // 00B0 SETMBR R7 K13 R2
|
||||
0x780E0000, // 00B1 JMPF R3 #00B3
|
||||
0x901E1C03, // 00B2 SETMBR R7 K14 R3
|
||||
0x901E1E00, // 00B3 SETMBR R7 K15 R0
|
||||
0x90162007, // 00B4 SETMBR R5 K16 R7
|
||||
0x8C200F2B, // 00B5 GETMET R8 R7 K43
|
||||
0x88280B13, // 00B6 GETMBR R10 R5 K19
|
||||
0x502C0200, // 00B7 LDBOOL R11 1 0
|
||||
0x7C200600, // 00B8 CALL R8 3
|
||||
0x74220013, // 00B9 JMPT R8 #00CE
|
||||
0xB8222800, // 00BA GETNGBL R8 K20
|
||||
0x8C201115, // 00BB GETMET R8 R8 K21
|
||||
0x60280008, // 00BC GETGBL R10 G8
|
||||
0x882C0B13, // 00BD GETMBR R11 R5 K19
|
||||
0x7C280200, // 00BE CALL R10 1
|
||||
0x002A580A, // 00BF ADD R10 K44 R10
|
||||
0x0028152D, // 00C0 ADD R10 R10 K45
|
||||
0x602C0008, // 00C1 GETGBL R11 G8
|
||||
0x88300F2E, // 00C2 GETMBR R12 R7 K46
|
||||
0x7C2C0200, // 00C3 CALL R11 1
|
||||
0x0028140B, // 00C4 ADD R10 R10 R11
|
||||
0x582C0020, // 00C5 LDCONST R11 K32
|
||||
0x7C200600, // 00C6 CALL R8 3
|
||||
0x8C20012F, // 00C7 GETMET R8 R0 K47
|
||||
0x5C280A00, // 00C8 MOVE R10 R5
|
||||
0x502C0000, // 00C9 LDBOOL R11 0 0
|
||||
0x7C200600, // 00CA CALL R8 3
|
||||
0x50200000, // 00CB LDBOOL R8 0 0
|
||||
0xA8040001, // 00CC EXBLK 1 1
|
||||
0x80041000, // 00CD RET 1 R8
|
||||
0x8C200B30, // 00CE GETMET R8 R5 K48
|
||||
0x7C200200, // 00CF CALL R8 1
|
||||
0x5C241000, // 00D0 MOVE R9 R8
|
||||
0x74260002, // 00D1 JMPT R9 #00D5
|
||||
0x50240000, // 00D2 LDBOOL R9 0 0
|
||||
0xA8040001, // 00D3 EXBLK 1 1
|
||||
0x80041200, // 00D4 RET 1 R9
|
||||
0x88240B32, // 00D5 GETMBR R9 R5 K50
|
||||
0x04241333, // 00D6 SUB R9 R9 K51
|
||||
0x40261609, // 00D7 CONNECT R9 K11 R9
|
||||
0x88280B31, // 00D8 GETMBR R10 R5 K49
|
||||
0x94241409, // 00D9 GETIDX R9 R10 R9
|
||||
0x90166209, // 00DA SETMBR R5 K49 R9
|
||||
0x88240B31, // 00DB GETMBR R9 R5 K49
|
||||
0x40241208, // 00DC CONNECT R9 R9 R8
|
||||
0x8C240B19, // 00DD GETMET R9 R5 K25
|
||||
0x7C240200, // 00DE CALL R9 1
|
||||
0xB8262800, // 00DF GETNGBL R9 K20
|
||||
0x8C241315, // 00E0 GETMET R9 R9 K21
|
||||
0x602C0008, // 00E1 GETGBL R11 G8
|
||||
0x88300B35, // 00E2 GETMBR R12 R5 K53
|
||||
0x7C2C0200, // 00E3 CALL R11 1
|
||||
0x002E680B, // 00E4 ADD R11 K52 R11
|
||||
0x002C1736, // 00E5 ADD R11 R11 K54
|
||||
0x60300008, // 00E6 GETGBL R12 G8
|
||||
0x88340B1B, // 00E7 GETMBR R13 R5 K27
|
||||
0x7C300200, // 00E8 CALL R12 1
|
||||
0x002C160C, // 00E9 ADD R11 R11 R12
|
||||
0x002C1737, // 00EA ADD R11 R11 K55
|
||||
0x88140100, // 0001 GETMBR R5 R0 K0
|
||||
0x88140B01, // 0002 GETMBR R5 R5 K1
|
||||
0x8C140B02, // 0003 GETMET R5 R5 K2
|
||||
0x581C0003, // 0004 LDCONST R7 K3
|
||||
0x7C140400, // 0005 CALL R5 2
|
||||
0xA802012B, // 0006 EXBLK 0 #0133
|
||||
0xB8160800, // 0007 GETNGBL R5 K4
|
||||
0x8C140B05, // 0008 GETMET R5 R5 K5
|
||||
0x5C1C0000, // 0009 MOVE R7 R0
|
||||
0x5C200200, // 000A MOVE R8 R1
|
||||
0x5C240400, // 000B MOVE R9 R2
|
||||
0x5C280600, // 000C MOVE R10 R3
|
||||
0x7C140A00, // 000D CALL R5 5
|
||||
0x8C180B06, // 000E GETMET R6 R5 K6
|
||||
0x7C180200, // 000F CALL R6 1
|
||||
0x5C1C0C00, // 0010 MOVE R7 R6
|
||||
0x741E0002, // 0011 JMPT R7 #0015
|
||||
0x501C0000, // 0012 LDBOOL R7 0 0
|
||||
0xA8040001, // 0013 EXBLK 1 1
|
||||
0x80040E00, // 0014 RET 1 R7
|
||||
0x881C0B07, // 0015 GETMBR R7 R5 K7
|
||||
0x781E000C, // 0016 JMPF R7 #0024
|
||||
0x881C0100, // 0017 GETMBR R7 R0 K0
|
||||
0x881C0F08, // 0018 GETMBR R7 R7 K8
|
||||
0x8C1C0F09, // 0019 GETMET R7 R7 K9
|
||||
0x88240B0A, // 001A GETMBR R9 R5 K10
|
||||
0x542A0059, // 001B LDINT R10 90
|
||||
0x7C1C0600, // 001C CALL R7 3
|
||||
0x8820010B, // 001D GETMBR R8 R0 K11
|
||||
0x8C20110C, // 001E GETMET R8 R8 K12
|
||||
0x5C280A00, // 001F MOVE R10 R5
|
||||
0x7C200400, // 0020 CALL R8 2
|
||||
0xA8040001, // 0021 EXBLK 1 1
|
||||
0x80041000, // 0022 RET 1 R8
|
||||
0x7002010A, // 0023 JMP #012F
|
||||
0x881C0B0D, // 0024 GETMBR R7 R5 K13
|
||||
0x1C1C0F0E, // 0025 EQ R7 R7 K14
|
||||
0x781E0070, // 0026 JMPF R7 #0098
|
||||
0x881C0B0F, // 0027 GETMBR R7 R5 K15
|
||||
0x1C1C0F0E, // 0028 EQ R7 R7 K14
|
||||
0x781E006D, // 0029 JMPF R7 #0098
|
||||
0x881C0100, // 002A GETMBR R7 R0 K0
|
||||
0x881C0F08, // 002B GETMBR R7 R7 K8
|
||||
0x8C1C0F09, // 002C GETMET R7 R7 K9
|
||||
0x88240B0A, // 002D GETMBR R9 R5 K10
|
||||
0x542A0059, // 002E LDINT R10 90
|
||||
0x7C1C0600, // 002F CALL R7 3
|
||||
0x780A0000, // 0030 JMPF R2 #0032
|
||||
0x901E2002, // 0031 SETMBR R7 K16 R2
|
||||
0x780E0000, // 0032 JMPF R3 #0034
|
||||
0x901E2203, // 0033 SETMBR R7 K17 R3
|
||||
0x901E2400, // 0034 SETMBR R7 K18 R0
|
||||
0x90162607, // 0035 SETMBR R5 K19 R7
|
||||
0x88200F14, // 0036 GETMBR R8 R7 K20
|
||||
0x8C201115, // 0037 GETMET R8 R8 K21
|
||||
0x88280B16, // 0038 GETMBR R10 R5 K22
|
||||
0x502C0000, // 0039 LDBOOL R11 0 0
|
||||
0x7C200600, // 003A CALL R8 3
|
||||
0x74220011, // 003B JMPT R8 #004E
|
||||
0xB8222E00, // 003C GETNGBL R8 K23
|
||||
0x8C201102, // 003D GETMET R8 R8 K2
|
||||
0x60280018, // 003E GETGBL R10 G24
|
||||
0x582C0018, // 003F LDCONST R11 K24
|
||||
0x88300B16, // 0040 GETMBR R12 R5 K22
|
||||
0x88340F14, // 0041 GETMBR R13 R7 K20
|
||||
0x8C341B19, // 0042 GETMET R13 R13 K25
|
||||
0x7C340200, // 0043 CALL R13 1
|
||||
0x7C280600, // 0044 CALL R10 3
|
||||
0x542E0003, // 0045 LDINT R11 4
|
||||
0x7C200600, // 0046 CALL R8 3
|
||||
0x8C20011A, // 0047 GETMET R8 R0 K26
|
||||
0x5C280A00, // 0048 MOVE R10 R5
|
||||
0x502C0000, // 0049 LDBOOL R11 0 0
|
||||
0x7C200600, // 004A CALL R8 3
|
||||
0x50200000, // 004B LDBOOL R8 0 0
|
||||
0xA8040001, // 004C EXBLK 1 1
|
||||
0x80041000, // 004D RET 1 R8
|
||||
0x8C200B1B, // 004E GETMET R8 R5 K27
|
||||
0x7C200200, // 004F CALL R8 1
|
||||
0x74220002, // 0050 JMPT R8 #0054
|
||||
0x50200000, // 0051 LDBOOL R8 0 0
|
||||
0xA8040001, // 0052 EXBLK 1 1
|
||||
0x80041000, // 0053 RET 1 R8
|
||||
0x88200100, // 0054 GETMBR R8 R0 K0
|
||||
0x8C20111C, // 0055 GETMET R8 R8 K28
|
||||
0x5C280A00, // 0056 MOVE R10 R5
|
||||
0x7C200400, // 0057 CALL R8 2
|
||||
0x88200B1D, // 0058 GETMBR R8 R5 K29
|
||||
0x5426000F, // 0059 LDINT R9 16
|
||||
0x20201009, // 005A NE R8 R8 R9
|
||||
0x78220018, // 005B JMPF R8 #0075
|
||||
0xB8220800, // 005C GETNGBL R8 K4
|
||||
0x8C20111E, // 005D GETMET R8 R8 K30
|
||||
0x88280B1D, // 005E GETMBR R10 R5 K29
|
||||
0x7C200400, // 005F CALL R8 2
|
||||
0x5C241000, // 0060 MOVE R9 R8
|
||||
0x74260004, // 0061 JMPT R9 #0067
|
||||
0x60240018, // 0062 GETGBL R9 G24
|
||||
0x5828001F, // 0063 LDCONST R10 K31
|
||||
0x882C0B1D, // 0064 GETMBR R11 R5 K29
|
||||
0x7C240400, // 0065 CALL R9 2
|
||||
0x5C201200, // 0066 MOVE R8 R9
|
||||
0xB8262E00, // 0067 GETNGBL R9 K23
|
||||
0x8C241302, // 0068 GETMET R9 R9 K2
|
||||
0x602C0018, // 0069 GETGBL R11 G24
|
||||
0x58300020, // 006A LDCONST R12 K32
|
||||
0x88340F0D, // 006B GETMBR R13 R7 K13
|
||||
0x5C381000, // 006C MOVE R14 R8
|
||||
0x883C0B16, // 006D GETMBR R15 R5 K22
|
||||
0x88400B21, // 006E GETMBR R16 R5 K33
|
||||
0x5C440400, // 006F MOVE R17 R2
|
||||
0x5C480600, // 0070 MOVE R18 R3
|
||||
0x7C2C0E00, // 0071 CALL R11 7
|
||||
0x58300022, // 0072 LDCONST R12 K34
|
||||
0x7C240600, // 0073 CALL R9 3
|
||||
0x70020013, // 0074 JMP #0089
|
||||
0xB8222E00, // 0075 GETNGBL R8 K23
|
||||
0x8C201102, // 0076 GETMET R8 R8 K2
|
||||
0x60280018, // 0077 GETGBL R10 G24
|
||||
0x582C0023, // 0078 LDCONST R11 K35
|
||||
0x88300F0D, // 0079 GETMBR R12 R7 K13
|
||||
0x88340B16, // 007A GETMBR R13 R5 K22
|
||||
0x88380B24, // 007B GETMBR R14 R5 K36
|
||||
0x783A0001, // 007C JMPF R14 #007F
|
||||
0x58380025, // 007D LDCONST R14 K37
|
||||
0x70020000, // 007E JMP #0080
|
||||
0x58380026, // 007F LDCONST R14 K38
|
||||
0x883C0B21, // 0080 GETMBR R15 R5 K33
|
||||
0x60400008, // 0081 GETGBL R16 G8
|
||||
0x88440B27, // 0082 GETMBR R17 R5 K39
|
||||
0x7C400200, // 0083 CALL R16 1
|
||||
0x5C440400, // 0084 MOVE R17 R2
|
||||
0x5C480600, // 0085 MOVE R18 R3
|
||||
0x7C281000, // 0086 CALL R10 8
|
||||
0x542E0003, // 0087 LDINT R11 4
|
||||
0x7C200600, // 0088 CALL R8 3
|
||||
0x88200128, // 0089 GETMBR R8 R0 K40
|
||||
0x8C201129, // 008A GETMET R8 R8 K41
|
||||
0x5C280A00, // 008B MOVE R10 R5
|
||||
0x7C200400, // 008C CALL R8 2
|
||||
0x5C101000, // 008D MOVE R4 R8
|
||||
0x5C200800, // 008E MOVE R8 R4
|
||||
0x74220003, // 008F JMPT R8 #0094
|
||||
0x8C20011A, // 0090 GETMET R8 R0 K26
|
||||
0x5C280A00, // 0091 MOVE R10 R5
|
||||
0x502C0000, // 0092 LDBOOL R11 0 0
|
||||
0x7C200600, // 0093 CALL R8 3
|
||||
0x50200200, // 0094 LDBOOL R8 1 0
|
||||
0xA8040001, // 0095 EXBLK 1 1
|
||||
0x80041000, // 0096 RET 1 R8
|
||||
0x70020096, // 0097 JMP #012F
|
||||
0xB81E2E00, // 0098 GETNGBL R7 K23
|
||||
0x8C1C0F02, // 0099 GETMET R7 R7 K2
|
||||
0x60240018, // 009A GETGBL R9 G24
|
||||
0x5828002A, // 009B LDCONST R10 K42
|
||||
0x882C0B0D, // 009C GETMBR R11 R5 K13
|
||||
0x88300B16, // 009D GETMBR R12 R5 K22
|
||||
0x7C240600, // 009E CALL R9 3
|
||||
0x542A0003, // 009F LDINT R10 4
|
||||
0x7C1C0600, // 00A0 CALL R7 3
|
||||
0x881C0100, // 00A1 GETMBR R7 R0 K0
|
||||
0x881C0F08, // 00A2 GETMBR R7 R7 K8
|
||||
0x8C1C0F2B, // 00A3 GETMET R7 R7 K43
|
||||
0x88240B0D, // 00A4 GETMBR R9 R5 K13
|
||||
0x7C1C0400, // 00A5 CALL R7 2
|
||||
0x4C200000, // 00A6 LDNIL R8
|
||||
0x1C200E08, // 00A7 EQ R8 R7 R8
|
||||
0x7822000A, // 00A8 JMPF R8 #00B4
|
||||
0xB8222E00, // 00A9 GETNGBL R8 K23
|
||||
0x8C201102, // 00AA GETMET R8 R8 K2
|
||||
0x60280008, // 00AB GETGBL R10 G8
|
||||
0x882C0B0D, // 00AC GETMBR R11 R5 K13
|
||||
0x7C280200, // 00AD CALL R10 1
|
||||
0x002A580A, // 00AE ADD R10 K44 R10
|
||||
0x582C0022, // 00AF LDCONST R11 K34
|
||||
0x7C200600, // 00B0 CALL R8 3
|
||||
0x50200000, // 00B1 LDBOOL R8 0 0
|
||||
0xA8040001, // 00B2 EXBLK 1 1
|
||||
0x80041000, // 00B3 RET 1 R8
|
||||
0x780A0000, // 00B4 JMPF R2 #00B6
|
||||
0x901E2002, // 00B5 SETMBR R7 K16 R2
|
||||
0x780E0000, // 00B6 JMPF R3 #00B8
|
||||
0x901E2203, // 00B7 SETMBR R7 K17 R3
|
||||
0x901E2400, // 00B8 SETMBR R7 K18 R0
|
||||
0x90162607, // 00B9 SETMBR R5 K19 R7
|
||||
0x8C200F2D, // 00BA GETMET R8 R7 K45
|
||||
0x88280B16, // 00BB GETMBR R10 R5 K22
|
||||
0x502C0200, // 00BC LDBOOL R11 1 0
|
||||
0x7C200600, // 00BD CALL R8 3
|
||||
0x74220013, // 00BE JMPT R8 #00D3
|
||||
0xB8222E00, // 00BF GETNGBL R8 K23
|
||||
0x8C201102, // 00C0 GETMET R8 R8 K2
|
||||
0x60280008, // 00C1 GETGBL R10 G8
|
||||
0x882C0B16, // 00C2 GETMBR R11 R5 K22
|
||||
0x7C280200, // 00C3 CALL R10 1
|
||||
0x002A5C0A, // 00C4 ADD R10 K46 R10
|
||||
0x0028152F, // 00C5 ADD R10 R10 K47
|
||||
0x602C0008, // 00C6 GETGBL R11 G8
|
||||
0x88300F30, // 00C7 GETMBR R12 R7 K48
|
||||
0x7C2C0200, // 00C8 CALL R11 1
|
||||
0x0028140B, // 00C9 ADD R10 R10 R11
|
||||
0x582C0022, // 00CA LDCONST R11 K34
|
||||
0x7C200600, // 00CB CALL R8 3
|
||||
0x8C200131, // 00CC GETMET R8 R0 K49
|
||||
0x5C280A00, // 00CD MOVE R10 R5
|
||||
0x502C0000, // 00CE LDBOOL R11 0 0
|
||||
0x7C200600, // 00CF CALL R8 3
|
||||
0x50200000, // 00D0 LDBOOL R8 0 0
|
||||
0xA8040001, // 00D1 EXBLK 1 1
|
||||
0x80041000, // 00D2 RET 1 R8
|
||||
0x8C200B32, // 00D3 GETMET R8 R5 K50
|
||||
0x7C200200, // 00D4 CALL R8 1
|
||||
0x5C241000, // 00D5 MOVE R9 R8
|
||||
0x74260002, // 00D6 JMPT R9 #00DA
|
||||
0x50240000, // 00D7 LDBOOL R9 0 0
|
||||
0xA8040001, // 00D8 EXBLK 1 1
|
||||
0x80041200, // 00D9 RET 1 R9
|
||||
0x88240B34, // 00DA GETMBR R9 R5 K52
|
||||
0x04241335, // 00DB SUB R9 R9 K53
|
||||
0x40261C09, // 00DC CONNECT R9 K14 R9
|
||||
0x88280B33, // 00DD GETMBR R10 R5 K51
|
||||
0x94241409, // 00DE GETIDX R9 R10 R9
|
||||
0x90166609, // 00DF SETMBR R5 K51 R9
|
||||
0x88240B33, // 00E0 GETMBR R9 R5 K51
|
||||
0x40241208, // 00E1 CONNECT R9 R9 R8
|
||||
0x8C240B1B, // 00E2 GETMET R9 R5 K27
|
||||
0x7C240200, // 00E3 CALL R9 1
|
||||
0xB8262E00, // 00E4 GETNGBL R9 K23
|
||||
0x8C241302, // 00E5 GETMET R9 R9 K2
|
||||
0x602C0008, // 00E6 GETGBL R11 G8
|
||||
0x88300B37, // 00E7 GETMBR R12 R5 K55
|
||||
0x7C2C0200, // 00E8 CALL R11 1
|
||||
0x002E6C0B, // 00E9 ADD R11 K54 R11
|
||||
0x002C1738, // 00EA ADD R11 R11 K56
|
||||
0x60300008, // 00EB GETGBL R12 G8
|
||||
0x88340B1F, // 00EC GETMBR R13 R5 K31
|
||||
0x543AFFFE, // 00ED LDINT R14 65535
|
||||
0x2C341A0E, // 00EE AND R13 R13 R14
|
||||
0x7C300200, // 00EF CALL R12 1
|
||||
0x002C160C, // 00F0 ADD R11 R11 R12
|
||||
0x54320003, // 00F1 LDINT R12 4
|
||||
0x7C240600, // 00F2 CALL R9 3
|
||||
0x88240104, // 00F3 GETMBR R9 R0 K4
|
||||
0x8C24131A, // 00F4 GETMET R9 R9 K26
|
||||
0x5C2C0A00, // 00F5 MOVE R11 R5
|
||||
0x7C240400, // 00F6 CALL R9 2
|
||||
0x88240B35, // 00F7 GETMBR R9 R5 K53
|
||||
0x1C28130B, // 00F8 EQ R10 R9 K11
|
||||
0x782A000F, // 00F9 JMPF R10 #010A
|
||||
0x88280B1B, // 00FA GETMBR R10 R5 K27
|
||||
0x542E000F, // 00FB LDINT R11 16
|
||||
0x1C28140B, // 00FC EQ R10 R10 R11
|
||||
0x782A0009, // 00FD JMPF R10 #0108
|
||||
0x88280138, // 00FE GETMBR R10 R0 K56
|
||||
0x8C281539, // 00FF GETMET R10 R10 K57
|
||||
0x5C300A00, // 0100 MOVE R12 R5
|
||||
0x7C280400, // 0101 CALL R10 2
|
||||
0x5C101400, // 0102 MOVE R4 R10
|
||||
0x78120003, // 0103 JMPF R4 #0108
|
||||
0x88280138, // 0104 GETMBR R10 R0 K56
|
||||
0x8C28153A, // 0105 GETMET R10 R10 K58
|
||||
0x5C300000, // 0106 MOVE R12 R0
|
||||
0x7C280400, // 0107 CALL R10 2
|
||||
0x50100200, // 0108 LDBOOL R4 1 0
|
||||
0x7002001A, // 0109 JMP #0125
|
||||
0x1C281333, // 010A EQ R10 R9 K51
|
||||
0x782A0010, // 010B JMPF R10 #011D
|
||||
0x88280138, // 010C GETMBR R10 R0 K56
|
||||
0x8C281527, // 010D GETMET R10 R10 K39
|
||||
0x5C300A00, // 010E MOVE R12 R5
|
||||
0x7C280400, // 010F CALL R10 2
|
||||
0x5C101400, // 0110 MOVE R4 R10
|
||||
0x78120004, // 0111 JMPF R4 #0117
|
||||
0x88280138, // 0112 GETMBR R10 R0 K56
|
||||
0x8C28153A, // 0113 GETMET R10 R10 K58
|
||||
0x5C300000, // 0114 MOVE R12 R0
|
||||
0x7C280400, // 0115 CALL R10 2
|
||||
0x70020003, // 0116 JMP #011B
|
||||
0x8C28012F, // 0117 GETMET R10 R0 K47
|
||||
0x5C300A00, // 0118 MOVE R12 R5
|
||||
0x50340200, // 0119 LDBOOL R13 1 0
|
||||
0x7C280600, // 011A CALL R10 3
|
||||
0x50100200, // 011B LDBOOL R4 1 0
|
||||
0x70020007, // 011C JMP #0125
|
||||
0xB82A2800, // 011D GETNGBL R10 K20
|
||||
0x8C281515, // 011E GETMET R10 R10 K21
|
||||
0x60300008, // 011F GETGBL R12 G8
|
||||
0x5C341200, // 0120 MOVE R13 R9
|
||||
0x7C300200, // 0121 CALL R12 1
|
||||
0x0032760C, // 0122 ADD R12 K59 R12
|
||||
0x58340020, // 0123 LDCONST R13 K32
|
||||
0x88340B1D, // 00EC GETMBR R13 R5 K29
|
||||
0x7C300200, // 00ED CALL R12 1
|
||||
0x002C160C, // 00EE ADD R11 R11 R12
|
||||
0x002C1739, // 00EF ADD R11 R11 K57
|
||||
0x60300008, // 00F0 GETGBL R12 G8
|
||||
0x88340B21, // 00F1 GETMBR R13 R5 K33
|
||||
0x543AFFFE, // 00F2 LDINT R14 65535
|
||||
0x2C341A0E, // 00F3 AND R13 R13 R14
|
||||
0x7C300200, // 00F4 CALL R12 1
|
||||
0x002C160C, // 00F5 ADD R11 R11 R12
|
||||
0x54320003, // 00F6 LDINT R12 4
|
||||
0x7C240600, // 00F7 CALL R9 3
|
||||
0x88240100, // 00F8 GETMBR R9 R0 K0
|
||||
0x8C24131C, // 00F9 GETMET R9 R9 K28
|
||||
0x5C2C0A00, // 00FA MOVE R11 R5
|
||||
0x7C240400, // 00FB CALL R9 2
|
||||
0x88240B37, // 00FC GETMBR R9 R5 K55
|
||||
0x1C28130E, // 00FD EQ R10 R9 K14
|
||||
0x782A000F, // 00FE JMPF R10 #010F
|
||||
0x88280B1D, // 00FF GETMBR R10 R5 K29
|
||||
0x542E000F, // 0100 LDINT R11 16
|
||||
0x1C28140B, // 0101 EQ R10 R10 R11
|
||||
0x782A0009, // 0102 JMPF R10 #010D
|
||||
0x8828013A, // 0103 GETMBR R10 R0 K58
|
||||
0x8C28153B, // 0104 GETMET R10 R10 K59
|
||||
0x5C300A00, // 0105 MOVE R12 R5
|
||||
0x7C280400, // 0106 CALL R10 2
|
||||
0x5C101400, // 0107 MOVE R4 R10
|
||||
0x78120003, // 0108 JMPF R4 #010D
|
||||
0x8828013A, // 0109 GETMBR R10 R0 K58
|
||||
0x8C28153C, // 010A GETMET R10 R10 K60
|
||||
0x5C300000, // 010B MOVE R12 R0
|
||||
0x7C280400, // 010C CALL R10 2
|
||||
0x50100200, // 010D LDBOOL R4 1 0
|
||||
0x7002001F, // 010E JMP #012F
|
||||
0x1C281335, // 010F EQ R10 R9 K53
|
||||
0x782A0015, // 0110 JMPF R10 #0127
|
||||
0x8828013A, // 0111 GETMBR R10 R0 K58
|
||||
0x8C281529, // 0112 GETMET R10 R10 K41
|
||||
0x5C300A00, // 0113 MOVE R12 R5
|
||||
0x7C280400, // 0114 CALL R10 2
|
||||
0x5C101400, // 0115 MOVE R4 R10
|
||||
0x88280100, // 0116 GETMBR R10 R0 K0
|
||||
0x88281501, // 0117 GETMBR R10 R10 K1
|
||||
0x8C281502, // 0118 GETMET R10 R10 K2
|
||||
0x5830003D, // 0119 LDCONST R12 K61
|
||||
0x7C280400, // 011A CALL R10 2
|
||||
0x78120004, // 011B JMPF R4 #0121
|
||||
0x8828013A, // 011C GETMBR R10 R0 K58
|
||||
0x8C28153C, // 011D GETMET R10 R10 K60
|
||||
0x5C300000, // 011E MOVE R12 R0
|
||||
0x7C280400, // 011F CALL R10 2
|
||||
0x70020003, // 0120 JMP #0125
|
||||
0x8C280131, // 0121 GETMET R10 R0 K49
|
||||
0x5C300A00, // 0122 MOVE R12 R5
|
||||
0x50340200, // 0123 LDBOOL R13 1 0
|
||||
0x7C280600, // 0124 CALL R10 3
|
||||
0xA8040001, // 0125 EXBLK 1 1
|
||||
0x80040800, // 0126 RET 1 R4
|
||||
0xA8040001, // 0127 EXBLK 1 1
|
||||
0x70020018, // 0128 JMP #0142
|
||||
0xAC140002, // 0129 CATCH R5 0 2
|
||||
0x70020015, // 012A JMP #0141
|
||||
0xB81E2800, // 012B GETNGBL R7 K20
|
||||
0x8C1C0F15, // 012C GETMET R7 R7 K21
|
||||
0x60240008, // 012D GETGBL R9 G8
|
||||
0x5C280A00, // 012E MOVE R10 R5
|
||||
0x7C240200, // 012F CALL R9 1
|
||||
0x00267809, // 0130 ADD R9 K60 R9
|
||||
0x0024133D, // 0131 ADD R9 R9 K61
|
||||
0x60280008, // 0132 GETGBL R10 G8
|
||||
0x5C2C0C00, // 0133 MOVE R11 R6
|
||||
0x7C280200, // 0134 CALL R10 1
|
||||
0x0024120A, // 0135 ADD R9 R9 R10
|
||||
0x5828003E, // 0136 LDCONST R10 K62
|
||||
0x7C1C0600, // 0137 CALL R7 3
|
||||
0xB81E2800, // 0138 GETNGBL R7 K20
|
||||
0x881C0F3F, // 0139 GETMBR R7 R7 K63
|
||||
0x781E0002, // 013A JMPF R7 #013E
|
||||
0xA41E8000, // 013B IMPORT R7 K64
|
||||
0x8C200F41, // 013C GETMET R8 R7 K65
|
||||
0x7C200200, // 013D CALL R8 1
|
||||
0x501C0000, // 013E LDBOOL R7 0 0
|
||||
0x80040E00, // 013F RET 1 R7
|
||||
0x70020000, // 0140 JMP #0142
|
||||
0xB0080000, // 0141 RAISE 2 R0 R0
|
||||
0x80000000, // 0142 RET 0
|
||||
0x50100200, // 0125 LDBOOL R4 1 0
|
||||
0x70020007, // 0126 JMP #012F
|
||||
0xB82A2E00, // 0127 GETNGBL R10 K23
|
||||
0x8C281502, // 0128 GETMET R10 R10 K2
|
||||
0x60300008, // 0129 GETGBL R12 G8
|
||||
0x5C341200, // 012A MOVE R13 R9
|
||||
0x7C300200, // 012B CALL R12 1
|
||||
0x00327C0C, // 012C ADD R12 K62 R12
|
||||
0x58340022, // 012D LDCONST R13 K34
|
||||
0x7C280600, // 012E CALL R10 3
|
||||
0xA8040001, // 012F EXBLK 1 1
|
||||
0x80040800, // 0130 RET 1 R4
|
||||
0xA8040001, // 0131 EXBLK 1 1
|
||||
0x70020018, // 0132 JMP #014C
|
||||
0xAC140002, // 0133 CATCH R5 0 2
|
||||
0x70020015, // 0134 JMP #014B
|
||||
0xB81E2E00, // 0135 GETNGBL R7 K23
|
||||
0x8C1C0F02, // 0136 GETMET R7 R7 K2
|
||||
0x60240008, // 0137 GETGBL R9 G8
|
||||
0x5C280A00, // 0138 MOVE R10 R5
|
||||
0x7C240200, // 0139 CALL R9 1
|
||||
0x00267E09, // 013A ADD R9 K63 R9
|
||||
0x00241340, // 013B ADD R9 R9 K64
|
||||
0x60280008, // 013C GETGBL R10 G8
|
||||
0x5C2C0C00, // 013D MOVE R11 R6
|
||||
0x7C280200, // 013E CALL R10 1
|
||||
0x0024120A, // 013F ADD R9 R9 R10
|
||||
0x58280041, // 0140 LDCONST R10 K65
|
||||
0x7C1C0600, // 0141 CALL R7 3
|
||||
0xB81E2E00, // 0142 GETNGBL R7 K23
|
||||
0x881C0F42, // 0143 GETMBR R7 R7 K66
|
||||
0x781E0002, // 0144 JMPF R7 #0148
|
||||
0xA41E8600, // 0145 IMPORT R7 K67
|
||||
0x8C200F44, // 0146 GETMET R8 R7 K68
|
||||
0x7C200200, // 0147 CALL R8 1
|
||||
0x501C0000, // 0148 LDBOOL R7 0 0
|
||||
0x80040E00, // 0149 RET 1 R7
|
||||
0x70020000, // 014A JMP #014C
|
||||
0xB0080000, // 014B RAISE 2 R0 R0
|
||||
0x80000000, // 014C RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -0,0 +1,270 @@
|
||||
/* Solidification of Matter_Profiler.h */
|
||||
/********************************************************************\
|
||||
* Generated code, don't edit *
|
||||
\********************************************************************/
|
||||
#include "be_constobj.h"
|
||||
|
||||
extern const bclass be_class_Matter_Profiler;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: set_active
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Profiler_set_active, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 1]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(active),
|
||||
}),
|
||||
be_str_weak(set_active),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 5]) { /* code */
|
||||
0x60080017, // 0000 GETGBL R2 G23
|
||||
0x5C0C0200, // 0001 MOVE R3 R1
|
||||
0x7C080200, // 0002 CALL R2 1
|
||||
0x90020002, // 0003 SETMBR R0 K0 R2
|
||||
0x80000000, // 0004 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: start
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Profiler_start, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(active),
|
||||
/* K1 */ be_nested_str_weak(millis),
|
||||
/* K2 */ be_nested_str_weak(resize),
|
||||
/* K3 */ be_const_int(0),
|
||||
/* K4 */ be_nested_str_weak(names),
|
||||
/* K5 */ be_nested_str_weak(log),
|
||||
/* K6 */ be_nested_str_weak(start),
|
||||
}),
|
||||
be_str_weak(start),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[15]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x74060000, // 0001 JMPT R1 #0003
|
||||
0x80000200, // 0002 RET 0
|
||||
0x88040101, // 0003 GETMBR R1 R0 K1
|
||||
0x8C040302, // 0004 GETMET R1 R1 K2
|
||||
0x580C0003, // 0005 LDCONST R3 K3
|
||||
0x7C040400, // 0006 CALL R1 2
|
||||
0x88040104, // 0007 GETMBR R1 R0 K4
|
||||
0x8C040302, // 0008 GETMET R1 R1 K2
|
||||
0x580C0003, // 0009 LDCONST R3 K3
|
||||
0x7C040400, // 000A CALL R1 2
|
||||
0x8C040105, // 000B GETMET R1 R0 K5
|
||||
0x580C0006, // 000C LDCONST R3 K6
|
||||
0x7C040400, // 000D CALL R1 2
|
||||
0x80000000, // 000E RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: log
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Profiler_log, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(active),
|
||||
/* K1 */ be_nested_str_weak(millis),
|
||||
/* K2 */ be_nested_str_weak(push),
|
||||
/* K3 */ be_nested_str_weak(tasmota),
|
||||
/* K4 */ be_nested_str_weak(names),
|
||||
}),
|
||||
be_str_weak(log),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[14]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x740A0000, // 0001 JMPT R2 #0003
|
||||
0x80000400, // 0002 RET 0
|
||||
0x88080101, // 0003 GETMBR R2 R0 K1
|
||||
0x8C080502, // 0004 GETMET R2 R2 K2
|
||||
0xB8120600, // 0005 GETNGBL R4 K3
|
||||
0x8C100901, // 0006 GETMET R4 R4 K1
|
||||
0x7C100200, // 0007 CALL R4 1
|
||||
0x7C080400, // 0008 CALL R2 2
|
||||
0x88080104, // 0009 GETMBR R2 R0 K4
|
||||
0x8C080502, // 000A GETMET R2 R2 K2
|
||||
0x5C100200, // 000B MOVE R4 R1
|
||||
0x7C080400, // 000C CALL R2 2
|
||||
0x80000000, // 000D RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: init
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Profiler_init, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 5]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(active),
|
||||
/* K1 */ be_nested_str_weak(millis),
|
||||
/* K2 */ be_nested_str_weak(resize),
|
||||
/* K3 */ be_nested_str_weak(PREALLOCATED),
|
||||
/* K4 */ be_nested_str_weak(names),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[17]) { /* code */
|
||||
0x50040000, // 0000 LDBOOL R1 0 0
|
||||
0x90020001, // 0001 SETMBR R0 K0 R1
|
||||
0x60040012, // 0002 GETGBL R1 G18
|
||||
0x7C040000, // 0003 CALL R1 0
|
||||
0x90020201, // 0004 SETMBR R0 K1 R1
|
||||
0x88040101, // 0005 GETMBR R1 R0 K1
|
||||
0x8C040302, // 0006 GETMET R1 R1 K2
|
||||
0x880C0103, // 0007 GETMBR R3 R0 K3
|
||||
0x7C040400, // 0008 CALL R1 2
|
||||
0x60040012, // 0009 GETGBL R1 G18
|
||||
0x7C040000, // 000A CALL R1 0
|
||||
0x90020801, // 000B SETMBR R0 K4 R1
|
||||
0x88040104, // 000C GETMBR R1 R0 K4
|
||||
0x8C040302, // 000D GETMET R1 R1 K2
|
||||
0x880C0103, // 000E GETMBR R3 R0 K3
|
||||
0x7C040400, // 000F CALL R1 2
|
||||
0x80000000, // 0010 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: dump
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Profiler_dump, /* name */
|
||||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[10]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(active),
|
||||
/* K1 */ be_nested_str_weak(log),
|
||||
/* K2 */ be_nested_str_weak(_X3C_X2D_X2Dend_X2D_X2D_X3E),
|
||||
/* K3 */ be_nested_str_weak(tasmota),
|
||||
/* K4 */ be_nested_str_weak(MTR_X3A_X20Profiler_X20dump_X3A),
|
||||
/* K5 */ be_nested_str_weak(millis),
|
||||
/* K6 */ be_const_int(0),
|
||||
/* K7 */ be_const_int(1),
|
||||
/* K8 */ be_nested_str_weak(MTR_X3A_X20_X20_X20_X254i_X20_X27_X25s_X27),
|
||||
/* K9 */ be_nested_str_weak(names),
|
||||
}),
|
||||
be_str_weak(dump),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[34]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x740A0000, // 0001 JMPT R2 #0003
|
||||
0x80000400, // 0002 RET 0
|
||||
0x8C080101, // 0003 GETMET R2 R0 K1
|
||||
0x58100002, // 0004 LDCONST R4 K2
|
||||
0x7C080400, // 0005 CALL R2 2
|
||||
0xB80A0600, // 0006 GETNGBL R2 K3
|
||||
0x8C080501, // 0007 GETMET R2 R2 K1
|
||||
0x58100004, // 0008 LDCONST R4 K4
|
||||
0x5C140200, // 0009 MOVE R5 R1
|
||||
0x7C080600, // 000A CALL R2 3
|
||||
0x88080105, // 000B GETMBR R2 R0 K5
|
||||
0x94080506, // 000C GETIDX R2 R2 K6
|
||||
0x580C0007, // 000D LDCONST R3 K7
|
||||
0x6010000C, // 000E GETGBL R4 G12
|
||||
0x88140105, // 000F GETMBR R5 R0 K5
|
||||
0x7C100200, // 0010 CALL R4 1
|
||||
0x14100604, // 0011 LT R4 R3 R4
|
||||
0x7812000D, // 0012 JMPF R4 #0021
|
||||
0xB8120600, // 0013 GETNGBL R4 K3
|
||||
0x8C100901, // 0014 GETMET R4 R4 K1
|
||||
0x60180018, // 0015 GETGBL R6 G24
|
||||
0x581C0008, // 0016 LDCONST R7 K8
|
||||
0x88200105, // 0017 GETMBR R8 R0 K5
|
||||
0x94201003, // 0018 GETIDX R8 R8 R3
|
||||
0x04201002, // 0019 SUB R8 R8 R2
|
||||
0x88240109, // 001A GETMBR R9 R0 K9
|
||||
0x94241203, // 001B GETIDX R9 R9 R3
|
||||
0x7C180600, // 001C CALL R6 3
|
||||
0x5C1C0200, // 001D MOVE R7 R1
|
||||
0x7C100600, // 001E CALL R4 3
|
||||
0x000C0707, // 001F ADD R3 R3 K7
|
||||
0x7001FFEC, // 0020 JMP #000E
|
||||
0x80000000, // 0021 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified class: Matter_Profiler
|
||||
********************************************************************/
|
||||
be_local_class(Matter_Profiler,
|
||||
3,
|
||||
NULL,
|
||||
be_nested_map(9,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(set_active, 5), be_const_closure(Matter_Profiler_set_active_closure) },
|
||||
{ be_const_key_weak(millis, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(start, 4), be_const_closure(Matter_Profiler_start_closure) },
|
||||
{ be_const_key_weak(active, 1), be_const_var(2) },
|
||||
{ be_const_key_weak(PREALLOCATED, -1), be_const_int(50) },
|
||||
{ be_const_key_weak(log, -1), be_const_closure(Matter_Profiler_log_closure) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_Profiler_init_closure) },
|
||||
{ be_const_key_weak(names, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(dump, -1), be_const_closure(Matter_Profiler_dump_closure) },
|
||||
})),
|
||||
be_str_weak(Matter_Profiler)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
void be_load_Matter_Profiler_class(bvm *vm) {
|
||||
be_pushntvclass(vm, &be_class_Matter_Profiler);
|
||||
be_setglobal(vm, "Matter_Profiler");
|
||||
be_pop(vm, 1);
|
||||
}
|
||||
/********************************************************************/
|
||||
/* End of solidification */
|
@ -120,69 +120,86 @@ void be_load_Matter_UDPPacket_sent_class(bvm *vm) {
|
||||
extern const bclass be_class_Matter_UDPServer;
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: received_ack
|
||||
** Solidified function: _backoff_time
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_UDPServer_received_ack, /* name */
|
||||
be_local_closure(Matter_UDPServer__backoff_time, /* name */
|
||||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
1, /* argc */
|
||||
4, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[10]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(ack_message_counter),
|
||||
/* K1 */ be_nested_str_weak(exchange_id),
|
||||
/* K2 */ be_const_int(0),
|
||||
/* K3 */ be_nested_str_weak(packets_sent),
|
||||
/* K4 */ be_nested_str_weak(msg_id),
|
||||
/* K5 */ be_nested_str_weak(remove),
|
||||
/* K6 */ be_nested_str_weak(tasmota),
|
||||
/* K7 */ be_nested_str_weak(log),
|
||||
/* K8 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Removed_X20packet_X20from_X20sending_X20list_X20id_X3D),
|
||||
/* K9 */ be_const_int(1),
|
||||
1, /* has sup protos */
|
||||
( &(const struct bproto*[ 1]) {
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
2, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_const_int(1),
|
||||
/* K1 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(power_int),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0x58080000, // 0000 LDCONST R2 K0
|
||||
0x240C0301, // 0001 GT R3 R1 K1
|
||||
0x780E0002, // 0002 JMPF R3 #0006
|
||||
0x08080400, // 0003 MUL R2 R2 R0
|
||||
0x04040300, // 0004 SUB R1 R1 K0
|
||||
0x7001FFFA, // 0005 JMP #0001
|
||||
0x80040400, // 0006 RET 1 R2
|
||||
})
|
||||
),
|
||||
}),
|
||||
be_str_weak(received_ack),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 8]) { /* constants */
|
||||
/* K0 */ be_const_class(be_class_Matter_UDPServer),
|
||||
/* K1 */ be_nested_str_weak(math),
|
||||
/* K2 */ be_nested_str_weak(rand),
|
||||
/* K3 */ be_const_int(0),
|
||||
/* K4 */ be_const_int(1),
|
||||
/* K5 */ be_const_real_hex(0x3FCCCCCD),
|
||||
/* K6 */ be_const_real_hex(0x3F800000),
|
||||
/* K7 */ be_const_real_hex(0x3E800000),
|
||||
}),
|
||||
be_str_weak(_backoff_time),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[36]) { /* code */
|
||||
0x88080300, // 0000 GETMBR R2 R1 K0
|
||||
0x880C0301, // 0001 GETMBR R3 R1 K1
|
||||
0x4C100000, // 0002 LDNIL R4
|
||||
0x1C100404, // 0003 EQ R4 R2 R4
|
||||
0x78120000, // 0004 JMPF R4 #0006
|
||||
0x80000800, // 0005 RET 0
|
||||
0x58100002, // 0006 LDCONST R4 K2
|
||||
0x6014000C, // 0007 GETGBL R5 G12
|
||||
0x88180103, // 0008 GETMBR R6 R0 K3
|
||||
( &(const binstruction[29]) { /* code */
|
||||
0x58040000, // 0000 LDCONST R1 K0
|
||||
0x84080000, // 0001 CLOSURE R2 P0
|
||||
0xA40E0200, // 0002 IMPORT R3 K1
|
||||
0x5412012B, // 0003 LDINT R4 300
|
||||
0x6014000A, // 0004 GETGBL R5 G10
|
||||
0x8C180702, // 0005 GETMET R6 R3 K2
|
||||
0x7C180200, // 0006 CALL R6 1
|
||||
0x541E00FE, // 0007 LDINT R7 255
|
||||
0x2C180C07, // 0008 AND R6 R6 R7
|
||||
0x7C140200, // 0009 CALL R5 1
|
||||
0x14140805, // 000A LT R5 R4 R5
|
||||
0x78160016, // 000B JMPF R5 #0023
|
||||
0x88140103, // 000C GETMBR R5 R0 K3
|
||||
0x94140A04, // 000D GETIDX R5 R5 R4
|
||||
0x88180B04, // 000E GETMBR R6 R5 K4
|
||||
0x1C180C02, // 000F EQ R6 R6 R2
|
||||
0x781A000F, // 0010 JMPF R6 #0021
|
||||
0x88180B01, // 0011 GETMBR R6 R5 K1
|
||||
0x1C180C03, // 0012 EQ R6 R6 R3
|
||||
0x781A000C, // 0013 JMPF R6 #0021
|
||||
0x88180103, // 0014 GETMBR R6 R0 K3
|
||||
0x8C180D05, // 0015 GETMET R6 R6 K5
|
||||
0x5C200800, // 0016 MOVE R8 R4
|
||||
0x7C180400, // 0017 CALL R6 2
|
||||
0xB81A0C00, // 0018 GETNGBL R6 K6
|
||||
0x8C180D07, // 0019 GETMET R6 R6 K7
|
||||
0x60200008, // 001A GETGBL R8 G8
|
||||
0x5C240400, // 001B MOVE R9 R2
|
||||
0x7C200200, // 001C CALL R8 1
|
||||
0x00221008, // 001D ADD R8 K8 R8
|
||||
0x54260003, // 001E LDINT R9 4
|
||||
0x7C180600, // 001F CALL R6 3
|
||||
0x70020000, // 0020 JMP #0022
|
||||
0x00100909, // 0021 ADD R4 R4 K9
|
||||
0x7001FFE3, // 0022 JMP #0007
|
||||
0x80000000, // 0023 RET 0
|
||||
0x541A00FE, // 000A LDINT R6 255
|
||||
0x0C140A06, // 000B DIV R5 R5 R6
|
||||
0x24180103, // 000C GT R6 R0 K3
|
||||
0x781A0001, // 000D JMPF R6 #0010
|
||||
0x04180104, // 000E SUB R6 R0 K4
|
||||
0x70020000, // 000F JMP #0011
|
||||
0x58180003, // 0010 LDCONST R6 K3
|
||||
0x5C1C0400, // 0011 MOVE R7 R2
|
||||
0x58200005, // 0012 LDCONST R8 K5
|
||||
0x5C240C00, // 0013 MOVE R9 R6
|
||||
0x7C1C0400, // 0014 CALL R7 2
|
||||
0x081C0807, // 0015 MUL R7 R4 R7
|
||||
0x08200B07, // 0016 MUL R8 R5 K7
|
||||
0x00220C08, // 0017 ADD R8 K6 R8
|
||||
0x081C0E08, // 0018 MUL R7 R7 R8
|
||||
0x60200009, // 0019 GETGBL R8 G9
|
||||
0x5C240E00, // 001A MOVE R9 R7
|
||||
0x7C200200, // 001B CALL R8 1
|
||||
0x80041000, // 001C RET 1 R8
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -214,27 +231,43 @@ be_local_closure(Matter_UDPServer_every_second, /* name */
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: every_50ms
|
||||
** Solidified function: send_UDP
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_UDPServer_every_50ms, /* name */
|
||||
be_local_closure(Matter_UDPServer_send_UDP, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 1]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(loop),
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* K1 */ be_nested_str_weak(UDPPacket_sent),
|
||||
/* K2 */ be_nested_str_weak(send),
|
||||
/* K3 */ be_nested_str_weak(msg_id),
|
||||
/* K4 */ be_nested_str_weak(packets_sent),
|
||||
/* K5 */ be_nested_str_weak(push),
|
||||
}),
|
||||
be_str_weak(every_50ms),
|
||||
be_str_weak(send_UDP),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 3]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x7C040200, // 0001 CALL R1 1
|
||||
0x80000000, // 0002 RET 0
|
||||
( &(const binstruction[14]) { /* code */
|
||||
0xB80A0000, // 0000 GETNGBL R2 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
0x5C100200, // 0002 MOVE R4 R1
|
||||
0x7C080400, // 0003 CALL R2 2
|
||||
0x8C0C0102, // 0004 GETMET R3 R0 K2
|
||||
0x5C140400, // 0005 MOVE R5 R2
|
||||
0x7C0C0400, // 0006 CALL R3 2
|
||||
0x880C0503, // 0007 GETMBR R3 R2 K3
|
||||
0x780E0003, // 0008 JMPF R3 #000D
|
||||
0x880C0104, // 0009 GETMBR R3 R0 K4
|
||||
0x8C0C0705, // 000A GETMET R3 R3 K5
|
||||
0x5C140400, // 000B MOVE R5 R2
|
||||
0x7C0C0400, // 000C CALL R3 2
|
||||
0x80000000, // 000D RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -346,98 +379,11 @@ be_local_closure(Matter_UDPServer__resend_packets, /* name */
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: _backoff_time
|
||||
** Solidified function: received_ack
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_UDPServer__backoff_time, /* name */
|
||||
be_local_closure(Matter_UDPServer_received_ack, /* name */
|
||||
be_nested_proto(
|
||||
10, /* nstack */
|
||||
1, /* argc */
|
||||
4, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
1, /* has sup protos */
|
||||
( &(const struct bproto*[ 1]) {
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
2, /* argc */
|
||||
0, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_const_int(1),
|
||||
/* K1 */ be_const_int(0),
|
||||
}),
|
||||
be_str_weak(power_int),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 7]) { /* code */
|
||||
0x58080000, // 0000 LDCONST R2 K0
|
||||
0x240C0301, // 0001 GT R3 R1 K1
|
||||
0x780E0002, // 0002 JMPF R3 #0006
|
||||
0x08080400, // 0003 MUL R2 R2 R0
|
||||
0x04040300, // 0004 SUB R1 R1 K0
|
||||
0x7001FFFA, // 0005 JMP #0001
|
||||
0x80040400, // 0006 RET 1 R2
|
||||
})
|
||||
),
|
||||
}),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 8]) { /* constants */
|
||||
/* K0 */ be_const_class(be_class_Matter_UDPServer),
|
||||
/* K1 */ be_nested_str_weak(math),
|
||||
/* K2 */ be_nested_str_weak(rand),
|
||||
/* K3 */ be_const_int(0),
|
||||
/* K4 */ be_const_int(1),
|
||||
/* K5 */ be_const_real_hex(0x3FCCCCCD),
|
||||
/* K6 */ be_const_real_hex(0x3F800000),
|
||||
/* K7 */ be_const_real_hex(0x3E800000),
|
||||
}),
|
||||
be_str_weak(_backoff_time),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[29]) { /* code */
|
||||
0x58040000, // 0000 LDCONST R1 K0
|
||||
0x84080000, // 0001 CLOSURE R2 P0
|
||||
0xA40E0200, // 0002 IMPORT R3 K1
|
||||
0x5412012B, // 0003 LDINT R4 300
|
||||
0x6014000A, // 0004 GETGBL R5 G10
|
||||
0x8C180702, // 0005 GETMET R6 R3 K2
|
||||
0x7C180200, // 0006 CALL R6 1
|
||||
0x541E00FE, // 0007 LDINT R7 255
|
||||
0x2C180C07, // 0008 AND R6 R6 R7
|
||||
0x7C140200, // 0009 CALL R5 1
|
||||
0x541A00FE, // 000A LDINT R6 255
|
||||
0x0C140A06, // 000B DIV R5 R5 R6
|
||||
0x24180103, // 000C GT R6 R0 K3
|
||||
0x781A0001, // 000D JMPF R6 #0010
|
||||
0x04180104, // 000E SUB R6 R0 K4
|
||||
0x70020000, // 000F JMP #0011
|
||||
0x58180003, // 0010 LDCONST R6 K3
|
||||
0x5C1C0400, // 0011 MOVE R7 R2
|
||||
0x58200005, // 0012 LDCONST R8 K5
|
||||
0x5C240C00, // 0013 MOVE R9 R6
|
||||
0x7C1C0400, // 0014 CALL R7 2
|
||||
0x081C0807, // 0015 MUL R7 R4 R7
|
||||
0x08200B07, // 0016 MUL R8 R5 K7
|
||||
0x00220C08, // 0017 ADD R8 K6 R8
|
||||
0x081C0E08, // 0018 MUL R7 R7 R8
|
||||
0x60200009, // 0019 GETGBL R8 G9
|
||||
0x5C240E00, // 001A MOVE R9 R7
|
||||
0x7C200200, // 001B CALL R8 1
|
||||
0x80041000, // 001C RET 1 R8
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: start
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_UDPServer_start, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
@ -445,44 +391,85 @@ be_local_closure(Matter_UDPServer_start, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[12]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(listening),
|
||||
/* K1 */ be_nested_str_weak(udp_socket),
|
||||
/* K2 */ be_nested_str_weak(udp),
|
||||
/* K3 */ be_nested_str_weak(begin),
|
||||
/* K4 */ be_nested_str_weak(addr),
|
||||
/* K5 */ be_nested_str_weak(port),
|
||||
/* K6 */ be_nested_str_weak(network_error),
|
||||
/* K7 */ be_nested_str_weak(could_X20not_X20open_X20UDP_X20server),
|
||||
/* K8 */ be_nested_str_weak(dispatch_cb),
|
||||
/* K9 */ be_nested_str_weak(tasmota),
|
||||
/* K10 */ be_nested_str_weak(add_fast_loop),
|
||||
/* K11 */ be_nested_str_weak(loop_cb),
|
||||
( &(const bvalue[10]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(ack_message_counter),
|
||||
/* K1 */ be_nested_str_weak(exchange_id),
|
||||
/* K2 */ be_const_int(0),
|
||||
/* K3 */ be_nested_str_weak(packets_sent),
|
||||
/* K4 */ be_nested_str_weak(msg_id),
|
||||
/* K5 */ be_nested_str_weak(remove),
|
||||
/* K6 */ be_nested_str_weak(tasmota),
|
||||
/* K7 */ be_nested_str_weak(log),
|
||||
/* K8 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Removed_X20packet_X20from_X20sending_X20list_X20id_X3D),
|
||||
/* K9 */ be_const_int(1),
|
||||
}),
|
||||
be_str_weak(start),
|
||||
be_str_weak(received_ack),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[21]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x740A0011, // 0001 JMPT R2 #0014
|
||||
0xB80A0400, // 0002 GETNGBL R2 K2
|
||||
0x7C080000, // 0003 CALL R2 0
|
||||
0x90020202, // 0004 SETMBR R0 K1 R2
|
||||
0x88080101, // 0005 GETMBR R2 R0 K1
|
||||
0x8C080503, // 0006 GETMET R2 R2 K3
|
||||
0x88100104, // 0007 GETMBR R4 R0 K4
|
||||
0x88140105, // 0008 GETMBR R5 R0 K5
|
||||
0x7C080600, // 0009 CALL R2 3
|
||||
0x5C0C0400, // 000A MOVE R3 R2
|
||||
0x740E0000, // 000B JMPT R3 #000D
|
||||
0xB0060D07, // 000C RAISE 1 K6 K7
|
||||
0x500C0200, // 000D LDBOOL R3 1 0
|
||||
0x90020003, // 000E SETMBR R0 K0 R3
|
||||
0x90021001, // 000F SETMBR R0 K8 R1
|
||||
0xB80E1200, // 0010 GETNGBL R3 K9
|
||||
0x8C0C070A, // 0011 GETMET R3 R3 K10
|
||||
0x8814010B, // 0012 GETMBR R5 R0 K11
|
||||
0x7C0C0400, // 0013 CALL R3 2
|
||||
0x80000000, // 0014 RET 0
|
||||
( &(const binstruction[36]) { /* code */
|
||||
0x88080300, // 0000 GETMBR R2 R1 K0
|
||||
0x880C0301, // 0001 GETMBR R3 R1 K1
|
||||
0x4C100000, // 0002 LDNIL R4
|
||||
0x1C100404, // 0003 EQ R4 R2 R4
|
||||
0x78120000, // 0004 JMPF R4 #0006
|
||||
0x80000800, // 0005 RET 0
|
||||
0x58100002, // 0006 LDCONST R4 K2
|
||||
0x6014000C, // 0007 GETGBL R5 G12
|
||||
0x88180103, // 0008 GETMBR R6 R0 K3
|
||||
0x7C140200, // 0009 CALL R5 1
|
||||
0x14140805, // 000A LT R5 R4 R5
|
||||
0x78160016, // 000B JMPF R5 #0023
|
||||
0x88140103, // 000C GETMBR R5 R0 K3
|
||||
0x94140A04, // 000D GETIDX R5 R5 R4
|
||||
0x88180B04, // 000E GETMBR R6 R5 K4
|
||||
0x1C180C02, // 000F EQ R6 R6 R2
|
||||
0x781A000F, // 0010 JMPF R6 #0021
|
||||
0x88180B01, // 0011 GETMBR R6 R5 K1
|
||||
0x1C180C03, // 0012 EQ R6 R6 R3
|
||||
0x781A000C, // 0013 JMPF R6 #0021
|
||||
0x88180103, // 0014 GETMBR R6 R0 K3
|
||||
0x8C180D05, // 0015 GETMET R6 R6 K5
|
||||
0x5C200800, // 0016 MOVE R8 R4
|
||||
0x7C180400, // 0017 CALL R6 2
|
||||
0xB81A0C00, // 0018 GETNGBL R6 K6
|
||||
0x8C180D07, // 0019 GETMET R6 R6 K7
|
||||
0x60200008, // 001A GETGBL R8 G8
|
||||
0x5C240400, // 001B MOVE R9 R2
|
||||
0x7C200200, // 001C CALL R8 1
|
||||
0x00221008, // 001D ADD R8 K8 R8
|
||||
0x54260003, // 001E LDINT R9 4
|
||||
0x7C180600, // 001F CALL R6 3
|
||||
0x70020000, // 0020 JMP #0022
|
||||
0x00100909, // 0021 ADD R4 R4 K9
|
||||
0x7001FFE3, // 0022 JMP #0007
|
||||
0x80000000, // 0023 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: every_50ms
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_UDPServer_every_50ms, /* name */
|
||||
be_nested_proto(
|
||||
3, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 1]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(loop),
|
||||
}),
|
||||
be_str_weak(every_50ms),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[ 3]) { /* code */
|
||||
0x8C040100, // 0000 GETMET R1 R0 K0
|
||||
0x7C040200, // 0001 CALL R1 1
|
||||
0x80000000, // 0002 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -494,8 +481,8 @@ be_local_closure(Matter_UDPServer_start, /* name */
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_UDPServer_init, /* name */
|
||||
be_nested_proto(
|
||||
4, /* nstack */
|
||||
3, /* argc */
|
||||
5, /* nstack */
|
||||
4, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
@ -526,80 +513,38 @@ be_local_closure(Matter_UDPServer_init, /* name */
|
||||
),
|
||||
}),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(addr),
|
||||
/* K1 */ be_nested_str_weak(),
|
||||
/* K2 */ be_nested_str_weak(port),
|
||||
/* K3 */ be_nested_str_weak(listening),
|
||||
/* K4 */ be_nested_str_weak(packets_sent),
|
||||
/* K5 */ be_nested_str_weak(loop_cb),
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(device),
|
||||
/* K1 */ be_nested_str_weak(addr),
|
||||
/* K2 */ be_nested_str_weak(),
|
||||
/* K3 */ be_nested_str_weak(port),
|
||||
/* K4 */ be_nested_str_weak(listening),
|
||||
/* K5 */ be_nested_str_weak(packets_sent),
|
||||
/* K6 */ be_nested_str_weak(loop_cb),
|
||||
}),
|
||||
be_str_weak(init),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[19]) { /* code */
|
||||
0x78060001, // 0000 JMPF R1 #0003
|
||||
0x5C0C0200, // 0001 MOVE R3 R1
|
||||
0x70020000, // 0002 JMP #0004
|
||||
0x580C0001, // 0003 LDCONST R3 K1
|
||||
0x90020003, // 0004 SETMBR R0 K0 R3
|
||||
0x780A0001, // 0005 JMPF R2 #0008
|
||||
0x5C0C0400, // 0006 MOVE R3 R2
|
||||
0x70020000, // 0007 JMP #0009
|
||||
0x540E15A3, // 0008 LDINT R3 5540
|
||||
0x90020403, // 0009 SETMBR R0 K2 R3
|
||||
0x500C0000, // 000A LDBOOL R3 0 0
|
||||
0x90020603, // 000B SETMBR R0 K3 R3
|
||||
0x600C0012, // 000C GETGBL R3 G18
|
||||
0x7C0C0000, // 000D CALL R3 0
|
||||
0x90020803, // 000E SETMBR R0 K4 R3
|
||||
0x840C0000, // 000F CLOSURE R3 P0
|
||||
0x90020A03, // 0010 SETMBR R0 K5 R3
|
||||
0xA0000000, // 0011 CLOSE R0
|
||||
0x80000000, // 0012 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: send_UDP
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_UDPServer_send_UDP, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* K1 */ be_nested_str_weak(UDPPacket_sent),
|
||||
/* K2 */ be_nested_str_weak(send),
|
||||
/* K3 */ be_nested_str_weak(msg_id),
|
||||
/* K4 */ be_nested_str_weak(packets_sent),
|
||||
/* K5 */ be_nested_str_weak(push),
|
||||
}),
|
||||
be_str_weak(send_UDP),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[14]) { /* code */
|
||||
0xB80A0000, // 0000 GETNGBL R2 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
0x5C100200, // 0002 MOVE R4 R1
|
||||
0x7C080400, // 0003 CALL R2 2
|
||||
0x8C0C0102, // 0004 GETMET R3 R0 K2
|
||||
0x5C140400, // 0005 MOVE R5 R2
|
||||
0x7C0C0400, // 0006 CALL R3 2
|
||||
0x880C0503, // 0007 GETMBR R3 R2 K3
|
||||
0x780E0003, // 0008 JMPF R3 #000D
|
||||
0x880C0104, // 0009 GETMBR R3 R0 K4
|
||||
0x8C0C0705, // 000A GETMET R3 R3 K5
|
||||
0x5C140400, // 000B MOVE R5 R2
|
||||
0x7C0C0400, // 000C CALL R3 2
|
||||
0x80000000, // 000D RET 0
|
||||
( &(const binstruction[20]) { /* code */
|
||||
0x90020001, // 0000 SETMBR R0 K0 R1
|
||||
0x780A0001, // 0001 JMPF R2 #0004
|
||||
0x5C100400, // 0002 MOVE R4 R2
|
||||
0x70020000, // 0003 JMP #0005
|
||||
0x58100002, // 0004 LDCONST R4 K2
|
||||
0x90020204, // 0005 SETMBR R0 K1 R4
|
||||
0x780E0001, // 0006 JMPF R3 #0009
|
||||
0x5C100600, // 0007 MOVE R4 R3
|
||||
0x70020000, // 0008 JMP #000A
|
||||
0x541215A3, // 0009 LDINT R4 5540
|
||||
0x90020604, // 000A SETMBR R0 K3 R4
|
||||
0x50100000, // 000B LDBOOL R4 0 0
|
||||
0x90020804, // 000C SETMBR R0 K4 R4
|
||||
0x60100012, // 000D GETGBL R4 G18
|
||||
0x7C100000, // 000E CALL R4 0
|
||||
0x90020A04, // 000F SETMBR R0 K5 R4
|
||||
0x84100000, // 0010 CLOSURE R4 P0
|
||||
0x90020C04, // 0011 SETMBR R0 K6 R4
|
||||
0xA0000000, // 0012 CLOSE R0
|
||||
0x80000000, // 0013 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -726,7 +671,7 @@ be_local_closure(Matter_UDPServer_stop, /* name */
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_UDPServer_loop, /* name */
|
||||
be_nested_proto(
|
||||
11, /* nstack */
|
||||
12, /* nstack */
|
||||
1, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
@ -734,69 +679,142 @@ be_local_closure(Matter_UDPServer_loop, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[12]) { /* constants */
|
||||
/* K0 */ be_const_int(0),
|
||||
/* K1 */ be_nested_str_weak(udp_socket),
|
||||
/* K2 */ be_nested_str_weak(read),
|
||||
/* K3 */ be_const_int(1),
|
||||
/* K4 */ be_nested_str_weak(remote_ip),
|
||||
/* K5 */ be_nested_str_weak(remote_port),
|
||||
/* K6 */ be_nested_str_weak(tasmota),
|
||||
/* K7 */ be_nested_str_weak(log),
|
||||
/* K8 */ be_nested_str_weak(MTR_X3A_X20UDP_X20received_X20from_X20_X5B_X25s_X5D_X3A_X25i),
|
||||
/* K9 */ be_nested_str_weak(dispatch_cb),
|
||||
/* K10 */ be_nested_str_weak(MAX_PACKETS_READ),
|
||||
/* K11 */ be_nested_str_weak(_resend_packets),
|
||||
( &(const bvalue[18]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(device),
|
||||
/* K1 */ be_nested_str_weak(profiler),
|
||||
/* K2 */ be_const_int(0),
|
||||
/* K3 */ be_nested_str_weak(udp_socket),
|
||||
/* K4 */ be_nested_str_weak(read),
|
||||
/* K5 */ be_nested_str_weak(start),
|
||||
/* K6 */ be_const_int(1),
|
||||
/* K7 */ be_nested_str_weak(remote_ip),
|
||||
/* K8 */ be_nested_str_weak(remote_port),
|
||||
/* K9 */ be_nested_str_weak(tasmota),
|
||||
/* K10 */ be_nested_str_weak(log),
|
||||
/* K11 */ be_nested_str_weak(MTR_X3A_X20UDP_X20received_X20from_X20_X5B_X25s_X5D_X3A_X25i),
|
||||
/* K12 */ be_nested_str_weak(dispatch_cb),
|
||||
/* K13 */ be_nested_str_weak(udp_loop_dispatch),
|
||||
/* K14 */ be_nested_str_weak(dump),
|
||||
/* K15 */ be_const_int(2),
|
||||
/* K16 */ be_nested_str_weak(MAX_PACKETS_READ),
|
||||
/* K17 */ be_nested_str_weak(_resend_packets),
|
||||
}),
|
||||
be_str_weak(loop),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[46]) { /* code */
|
||||
0x58040000, // 0000 LDCONST R1 K0
|
||||
0x88080101, // 0001 GETMBR R2 R0 K1
|
||||
0x4C0C0000, // 0002 LDNIL R3
|
||||
0x1C080403, // 0003 EQ R2 R2 R3
|
||||
0x780A0000, // 0004 JMPF R2 #0006
|
||||
0x80000400, // 0005 RET 0
|
||||
0x88080101, // 0006 GETMBR R2 R0 K1
|
||||
0x8C080502, // 0007 GETMET R2 R2 K2
|
||||
0x7C080200, // 0008 CALL R2 1
|
||||
0x4C0C0000, // 0009 LDNIL R3
|
||||
0x200C0403, // 000A NE R3 R2 R3
|
||||
0x780E001E, // 000B JMPF R3 #002B
|
||||
0x00040303, // 000C ADD R1 R1 K3
|
||||
0x880C0101, // 000D GETMBR R3 R0 K1
|
||||
0x880C0704, // 000E GETMBR R3 R3 K4
|
||||
0x88100101, // 000F GETMBR R4 R0 K1
|
||||
0x88100905, // 0010 GETMBR R4 R4 K5
|
||||
0xB8160C00, // 0011 GETNGBL R5 K6
|
||||
0x8C140B07, // 0012 GETMET R5 R5 K7
|
||||
0x601C0018, // 0013 GETGBL R7 G24
|
||||
0x58200008, // 0014 LDCONST R8 K8
|
||||
0x5C240600, // 0015 MOVE R9 R3
|
||||
0x5C280800, // 0016 MOVE R10 R4
|
||||
0x7C1C0600, // 0017 CALL R7 3
|
||||
0x54220003, // 0018 LDINT R8 4
|
||||
0x7C140600, // 0019 CALL R5 3
|
||||
0x88140109, // 001A GETMBR R5 R0 K9
|
||||
0x78160004, // 001B JMPF R5 #0021
|
||||
0x8C140109, // 001C GETMET R5 R0 K9
|
||||
0x5C1C0400, // 001D MOVE R7 R2
|
||||
0x5C200600, // 001E MOVE R8 R3
|
||||
0x5C240800, // 001F MOVE R9 R4
|
||||
0x7C140800, // 0020 CALL R5 4
|
||||
0x8814010A, // 0021 GETMBR R5 R0 K10
|
||||
0x14140205, // 0022 LT R5 R1 R5
|
||||
0x78160004, // 0023 JMPF R5 #0029
|
||||
0x88140101, // 0024 GETMBR R5 R0 K1
|
||||
0x8C140B02, // 0025 GETMET R5 R5 K2
|
||||
0x7C140200, // 0026 CALL R5 1
|
||||
0x5C080A00, // 0027 MOVE R2 R5
|
||||
0x70020000, // 0028 JMP #002A
|
||||
0x4C080000, // 0029 LDNIL R2
|
||||
0x7001FFDD, // 002A JMP #0009
|
||||
0x8C0C010B, // 002B GETMET R3 R0 K11
|
||||
0x7C0C0200, // 002C CALL R3 1
|
||||
0x80000000, // 002D RET 0
|
||||
( &(const binstruction[56]) { /* code */
|
||||
0x88040100, // 0000 GETMBR R1 R0 K0
|
||||
0x88040301, // 0001 GETMBR R1 R1 K1
|
||||
0x58080002, // 0002 LDCONST R2 K2
|
||||
0x880C0103, // 0003 GETMBR R3 R0 K3
|
||||
0x4C100000, // 0004 LDNIL R4
|
||||
0x1C0C0604, // 0005 EQ R3 R3 R4
|
||||
0x780E0000, // 0006 JMPF R3 #0008
|
||||
0x80000600, // 0007 RET 0
|
||||
0x880C0103, // 0008 GETMBR R3 R0 K3
|
||||
0x8C0C0704, // 0009 GETMET R3 R3 K4
|
||||
0x7C0C0200, // 000A CALL R3 1
|
||||
0x4C100000, // 000B LDNIL R4
|
||||
0x20100604, // 000C NE R4 R3 R4
|
||||
0x78120026, // 000D JMPF R4 #0035
|
||||
0x8C100305, // 000E GETMET R4 R1 K5
|
||||
0x7C100200, // 000F CALL R4 1
|
||||
0x00080506, // 0010 ADD R2 R2 K6
|
||||
0x88100103, // 0011 GETMBR R4 R0 K3
|
||||
0x88100907, // 0012 GETMBR R4 R4 K7
|
||||
0x88140103, // 0013 GETMBR R5 R0 K3
|
||||
0x88140B08, // 0014 GETMBR R5 R5 K8
|
||||
0xB81A1200, // 0015 GETNGBL R6 K9
|
||||
0x8C180D0A, // 0016 GETMET R6 R6 K10
|
||||
0x60200018, // 0017 GETGBL R8 G24
|
||||
0x5824000B, // 0018 LDCONST R9 K11
|
||||
0x5C280800, // 0019 MOVE R10 R4
|
||||
0x5C2C0A00, // 001A MOVE R11 R5
|
||||
0x7C200600, // 001B CALL R8 3
|
||||
0x54260003, // 001C LDINT R9 4
|
||||
0x7C180600, // 001D CALL R6 3
|
||||
0x8818010C, // 001E GETMBR R6 R0 K12
|
||||
0x781A0007, // 001F JMPF R6 #0028
|
||||
0x8C18030A, // 0020 GETMET R6 R1 K10
|
||||
0x5820000D, // 0021 LDCONST R8 K13
|
||||
0x7C180400, // 0022 CALL R6 2
|
||||
0x8C18010C, // 0023 GETMET R6 R0 K12
|
||||
0x5C200600, // 0024 MOVE R8 R3
|
||||
0x5C240800, // 0025 MOVE R9 R4
|
||||
0x5C280A00, // 0026 MOVE R10 R5
|
||||
0x7C180800, // 0027 CALL R6 4
|
||||
0x8C18030E, // 0028 GETMET R6 R1 K14
|
||||
0x5820000F, // 0029 LDCONST R8 K15
|
||||
0x7C180400, // 002A CALL R6 2
|
||||
0x88180110, // 002B GETMBR R6 R0 K16
|
||||
0x14180406, // 002C LT R6 R2 R6
|
||||
0x781A0004, // 002D JMPF R6 #0033
|
||||
0x88180103, // 002E GETMBR R6 R0 K3
|
||||
0x8C180D04, // 002F GETMET R6 R6 K4
|
||||
0x7C180200, // 0030 CALL R6 1
|
||||
0x5C0C0C00, // 0031 MOVE R3 R6
|
||||
0x70020000, // 0032 JMP #0034
|
||||
0x4C0C0000, // 0033 LDNIL R3
|
||||
0x7001FFD5, // 0034 JMP #000B
|
||||
0x8C100111, // 0035 GETMET R4 R0 K17
|
||||
0x7C100200, // 0036 CALL R4 1
|
||||
0x80000000, // 0037 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
/*******************************************************************/
|
||||
|
||||
|
||||
/********************************************************************
|
||||
** Solidified function: start
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_UDPServer_start, /* name */
|
||||
be_nested_proto(
|
||||
6, /* nstack */
|
||||
2, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
NULL, /* no upvals */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[12]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(listening),
|
||||
/* K1 */ be_nested_str_weak(udp_socket),
|
||||
/* K2 */ be_nested_str_weak(udp),
|
||||
/* K3 */ be_nested_str_weak(begin),
|
||||
/* K4 */ be_nested_str_weak(addr),
|
||||
/* K5 */ be_nested_str_weak(port),
|
||||
/* K6 */ be_nested_str_weak(network_error),
|
||||
/* K7 */ be_nested_str_weak(could_X20not_X20open_X20UDP_X20server),
|
||||
/* K8 */ be_nested_str_weak(dispatch_cb),
|
||||
/* K9 */ be_nested_str_weak(tasmota),
|
||||
/* K10 */ be_nested_str_weak(add_fast_loop),
|
||||
/* K11 */ be_nested_str_weak(loop_cb),
|
||||
}),
|
||||
be_str_weak(start),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[21]) { /* code */
|
||||
0x88080100, // 0000 GETMBR R2 R0 K0
|
||||
0x740A0011, // 0001 JMPT R2 #0014
|
||||
0xB80A0400, // 0002 GETNGBL R2 K2
|
||||
0x7C080000, // 0003 CALL R2 0
|
||||
0x90020202, // 0004 SETMBR R0 K1 R2
|
||||
0x88080101, // 0005 GETMBR R2 R0 K1
|
||||
0x8C080503, // 0006 GETMET R2 R2 K3
|
||||
0x88100104, // 0007 GETMBR R4 R0 K4
|
||||
0x88140105, // 0008 GETMBR R5 R0 K5
|
||||
0x7C080600, // 0009 CALL R2 3
|
||||
0x5C0C0400, // 000A MOVE R3 R2
|
||||
0x740E0000, // 000B JMPT R3 #000D
|
||||
0xB0060D07, // 000C RAISE 1 K6 K7
|
||||
0x500C0200, // 000D LDBOOL R3 1 0
|
||||
0x90020003, // 000E SETMBR R0 K0 R3
|
||||
0x90021001, // 000F SETMBR R0 K8 R1
|
||||
0xB80E1200, // 0010 GETNGBL R3 K9
|
||||
0x8C0C070A, // 0011 GETMET R3 R3 K10
|
||||
0x8814010B, // 0012 GETMBR R5 R0 K11
|
||||
0x7C0C0400, // 0013 CALL R3 2
|
||||
0x80000000, // 0014 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -807,30 +825,31 @@ be_local_closure(Matter_UDPServer_loop, /* name */
|
||||
** Solidified class: Matter_UDPServer
|
||||
********************************************************************/
|
||||
be_local_class(Matter_UDPServer,
|
||||
7,
|
||||
8,
|
||||
NULL,
|
||||
be_nested_map(20,
|
||||
be_nested_map(21,
|
||||
( (struct bmapnode*) &(const bmapnode[]) {
|
||||
{ be_const_key_weak(every_second, -1), be_const_closure(Matter_UDPServer_every_second_closure) },
|
||||
{ be_const_key_weak(RETRIES, -1), be_const_int(5) },
|
||||
{ be_const_key_weak(udp_socket, -1), be_const_var(3) },
|
||||
{ be_const_key_weak(packets_sent, -1), be_const_var(5) },
|
||||
{ be_const_key_weak(received_ack, -1), be_const_closure(Matter_UDPServer_received_ack_closure) },
|
||||
{ be_const_key_weak(dispatch_cb, 0), be_const_var(4) },
|
||||
{ be_const_key_weak(send, -1), be_const_closure(Matter_UDPServer_send_closure) },
|
||||
{ be_const_key_weak(send_UDP, 13), be_const_closure(Matter_UDPServer_send_UDP_closure) },
|
||||
{ be_const_key_weak(every_50ms, 12), be_const_closure(Matter_UDPServer_every_50ms_closure) },
|
||||
{ be_const_key_weak(loop_cb, 3), be_const_var(6) },
|
||||
{ be_const_key_weak(port, 16), be_const_var(1) },
|
||||
{ be_const_key_weak(start, 6), be_const_closure(Matter_UDPServer_start_closure) },
|
||||
{ be_const_key_weak(MAX_PACKETS_READ, 2), be_const_int(4) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_UDPServer_init_closure) },
|
||||
{ be_const_key_weak(listening, -1), be_const_var(2) },
|
||||
{ be_const_key_weak(_resend_packets, 7), be_const_closure(Matter_UDPServer__resend_packets_closure) },
|
||||
{ be_const_key_weak(_backoff_time, -1), be_const_static_closure(Matter_UDPServer__backoff_time_closure) },
|
||||
{ be_const_key_weak(stop, -1), be_const_closure(Matter_UDPServer_stop_closure) },
|
||||
{ be_const_key_weak(loop_cb, -1), be_const_var(7) },
|
||||
{ be_const_key_weak(addr, -1), be_const_var(0) },
|
||||
{ be_const_key_weak(loop, -1), be_const_closure(Matter_UDPServer_loop_closure) },
|
||||
{ be_const_key_weak(dispatch_cb, 10), be_const_var(5) },
|
||||
{ be_const_key_weak(every_second, -1), be_const_closure(Matter_UDPServer_every_second_closure) },
|
||||
{ be_const_key_weak(send_UDP, 0), be_const_closure(Matter_UDPServer_send_UDP_closure) },
|
||||
{ be_const_key_weak(loop, 18), be_const_closure(Matter_UDPServer_loop_closure) },
|
||||
{ be_const_key_weak(device, 11), be_const_var(2) },
|
||||
{ be_const_key_weak(_resend_packets, -1), be_const_closure(Matter_UDPServer__resend_packets_closure) },
|
||||
{ be_const_key_weak(MAX_PACKETS_READ, 14), be_const_int(4) },
|
||||
{ be_const_key_weak(_backoff_time, 5), be_const_static_closure(Matter_UDPServer__backoff_time_closure) },
|
||||
{ be_const_key_weak(every_50ms, -1), be_const_closure(Matter_UDPServer_every_50ms_closure) },
|
||||
{ be_const_key_weak(listening, -1), be_const_var(3) },
|
||||
{ be_const_key_weak(init, -1), be_const_closure(Matter_UDPServer_init_closure) },
|
||||
{ be_const_key_weak(RETRIES, -1), be_const_int(5) },
|
||||
{ be_const_key_weak(packets_sent, 1), be_const_var(6) },
|
||||
{ be_const_key_weak(udp_socket, -1), be_const_var(4) },
|
||||
{ be_const_key_weak(send, -1), be_const_closure(Matter_UDPServer_send_closure) },
|
||||
{ be_const_key_weak(stop, -1), be_const_closure(Matter_UDPServer_stop_closure) },
|
||||
{ be_const_key_weak(received_ack, -1), be_const_closure(Matter_UDPServer_received_ack_closure) },
|
||||
{ be_const_key_weak(port, -1), be_const_var(1) },
|
||||
{ be_const_key_weak(start, -1), be_const_closure(Matter_UDPServer_start_closure) },
|
||||
})),
|
||||
be_str_weak(Matter_UDPServer)
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user