mirror of https://github.com/arendst/Tasmota.git
Matter simplify code (#21729)
This commit is contained in:
parent
522d7f6ee4
commit
152239c3ac
|
@ -318,7 +318,7 @@ class Matter_IM
|
|||
# 0 = EnableTagCompression bool opt
|
||||
# 1 = Node
|
||||
# 2 = Endpoint
|
||||
# 3 = Cluste
|
||||
# 3 = Cluster
|
||||
# 4 = Attribute
|
||||
# 5 = ListIndex (opt)
|
||||
#
|
||||
|
@ -602,7 +602,6 @@ class Matter_IM
|
|||
# returns `true` if processed, `false` if silently ignored,
|
||||
# or raises an exception
|
||||
def process_read_request_pull(msg, val)
|
||||
matter.profiler.log("read_request_start_pull")
|
||||
var query = matter.ReadRequestMessage().from_TLV(val)
|
||||
var generator_or_arr = self.process_read_or_subscribe_request_pull(query, msg)
|
||||
var event_generator_or_arr = self.process_read_or_subscribe_request_event_pull(query, msg)
|
||||
|
@ -767,7 +766,6 @@ class Matter_IM
|
|||
ctx.status = matter.UNSUPPORTED_ATTRIBUTE # new fallback error
|
||||
res = pi.read_attribute(msg.session, ctx, self.tlv_solo)
|
||||
end
|
||||
matter.profiler.log("read_request_solo read done")
|
||||
|
||||
if res != nil
|
||||
|
||||
|
@ -826,8 +824,6 @@ class Matter_IM
|
|||
responder.send_response_frame(resp)
|
||||
|
||||
# postpone lengthy operations after sending back response
|
||||
matter.profiler.log("RESPONSE SENT")
|
||||
|
||||
var attr_name
|
||||
if tasmota.loglevel(3)
|
||||
attr_name = matter.get_attribute_name(ctx.cluster, ctx.attribute)
|
||||
|
@ -909,7 +905,6 @@ class Matter_IM
|
|||
# import debug
|
||||
# structure is `ReadRequestMessage` 10.6.2 p.558
|
||||
# log("MTR: IM:invoke_request processing start", 4)
|
||||
matter.profiler.log("invoke_request_start")
|
||||
var ctx = matter.Path()
|
||||
ctx.msg = msg
|
||||
|
||||
|
@ -929,7 +924,6 @@ class Matter_IM
|
|||
var cmd_name = matter.get_command_name(ctx.cluster, ctx.command)
|
||||
var ctx_str = str(ctx) # keep string before invoking, it is modified by response
|
||||
var res = self.device.invoke_request(msg.session, q.command_fields, ctx)
|
||||
matter.profiler.log("COMMAND DONE")
|
||||
var params_log = (ctx.log != nil) ? "(" + str(ctx.log) + ") " : ""
|
||||
log(format("MTR: >Command (%6i) %s %s %s", msg.session.local_session_id, ctx_str, cmd_name ? cmd_name : "", params_log), 3)
|
||||
# log("MTR: Perf/Command = " + str(debug.counters()), 4)
|
||||
|
@ -983,14 +977,12 @@ class Matter_IM
|
|||
# or raises an exception
|
||||
def process_invoke_request_solo(msg, ctx)
|
||||
# import debug
|
||||
matter.profiler.log("invoke_request_solo_start")
|
||||
ctx.msg = msg
|
||||
ctx.status = matter.UNSUPPORTED_COMMAND #default error if returned `nil`
|
||||
|
||||
var cmd_name = matter.get_command_name(ctx.cluster, ctx.command)
|
||||
var ctx_str = str(ctx) # keep string before invoking, it is modified by response
|
||||
var res = self.device.invoke_request(msg.session, ctx.command_fields, ctx)
|
||||
matter.profiler.log("COMMAND DONE")
|
||||
var params_log = (ctx.log != nil) ? "(" + str(ctx.log) + ") " : ""
|
||||
if tasmota.loglevel(3)
|
||||
log(format("MTR: >Command1 (%6i) %s %s %s", msg.session.local_session_id, ctx_str, cmd_name ? cmd_name : "", params_log), 3)
|
||||
|
@ -1041,7 +1033,6 @@ class Matter_IM
|
|||
resp.encode_frame(raw, msg_raw) # payload in cleartext
|
||||
resp.encrypt()
|
||||
responder.send_response_frame(resp)
|
||||
matter.profiler.log("RESPONSE SENT")
|
||||
|
||||
return true
|
||||
end
|
||||
|
@ -1225,6 +1216,7 @@ class Matter_IM
|
|||
var event_generator_or_arr = sub.update_event_generator_array()
|
||||
|
||||
var report_data_msg = matter.IM_ReportDataSubscribed_Pull(session._message_handler, session, generator_or_arr, event_generator_or_arr, sub)
|
||||
|
||||
self.send_queue.push(report_data_msg) # push message to queue
|
||||
self.send_enqueued(session._message_handler) # and send queued messages now
|
||||
end
|
||||
|
|
|
@ -86,7 +86,6 @@ class Matter_MessageHandler
|
|||
def msg_received(raw, addr, port)
|
||||
var ret = false
|
||||
|
||||
matter.profiler.log("msg_received")
|
||||
try
|
||||
# log("MTR: MessageHandler::msg_received raw="+raw.tohex(), 4)
|
||||
var frame = matter.Frame(self, raw, addr, port)
|
||||
|
@ -170,7 +169,7 @@ class Matter_MessageHandler
|
|||
end
|
||||
|
||||
var decrypt_ok = frame.decrypt()
|
||||
matter.profiler.log("msg_received_header_frame_decrypted")
|
||||
# matter.profiler.log("msg_received_header_frame_decrypted")
|
||||
if !decrypt_ok return false end
|
||||
|
||||
# matter.profiler.log("msg_received_payload_undecoded")
|
||||
|
@ -201,9 +200,7 @@ class Matter_MessageHandler
|
|||
ret = true
|
||||
elif protocol_id == 0x0001 # PROTOCOL_ID_INTERACTION_MODEL
|
||||
# dispatch to IM Protocol Messages
|
||||
matter.profiler.log("process_IM_start")
|
||||
ret = self.im.process_incoming(frame)
|
||||
matter.profiler.log("process_IM_end")
|
||||
# if `ret` is true, we have something to send
|
||||
if ret
|
||||
self.im.send_enqueued(self)
|
||||
|
@ -250,7 +247,6 @@ class Matter_MessageHandler
|
|||
# msg.exchange_id: exchange id (int)
|
||||
# msg.local_session_id: local session (for logging)
|
||||
def send_response_frame(msg)
|
||||
matter.profiler.log("send_response_frame")
|
||||
self.device.msg_send(msg)
|
||||
end
|
||||
|
||||
|
|
|
@ -221,7 +221,7 @@ class Matter_Plugin_Root : Matter_Plugin
|
|||
elif attribute == 0x0001 # ---------- VendorName / string ----------
|
||||
return tlv_solo.set(TLV.UTF1, "Tasmota")
|
||||
elif attribute == 0x0002 # ---------- VendorID / vendor-id ----------
|
||||
return tlv_solo.set(TLV.U2, self.device.vendorid) # Vendor ID reserved for development
|
||||
return tlv_solo.set(TLV.U2, self.device.VENDOR_ID) # Vendor ID reserved for development
|
||||
elif attribute == 0x0003 # ---------- ProductName / string ----------
|
||||
return tlv_solo.set(TLV.UTF1, tasmota.cmd("DeviceName", true)['DeviceName'])
|
||||
elif attribute == 0x0004 # ---------- ProductID / u16 (opt) ----------
|
||||
|
|
|
@ -139,7 +139,7 @@ class Matter_UDPServer
|
|||
end
|
||||
# log("MTR: Perf/UDP_received = " + str(debug.counters()), 4)
|
||||
if self.dispatch_cb
|
||||
profiler.log("udp_loop_dispatch")
|
||||
# profiler.log("udp_loop_dispatch")
|
||||
self.dispatch_cb(packet, from_addr, from_port)
|
||||
end
|
||||
profiler.dump(2)
|
||||
|
|
|
@ -55,8 +55,6 @@ class Matter_Device
|
|||
var commissioning_instance_eth # random instance name for commissioning (mDNS)
|
||||
var hostname_wifi # MAC-derived hostname for commissioning
|
||||
var hostname_eth # MAC-derived hostname for commissioning
|
||||
var vendorid
|
||||
var productid
|
||||
# mDNS active announces
|
||||
var mdns_pase_eth # do we have an active PASE mDNS announce for eth
|
||||
var mdns_pase_wifi # do we have an active PASE mDNS announce for wifi
|
||||
|
@ -69,12 +67,6 @@ class Matter_Device
|
|||
var disable_bridge_mode # default is bridge mode, this flag disables this mode for some non-compliant controllers
|
||||
var next_ep # next endpoint to be allocated for bridge, start at 1
|
||||
var debug # debug mode, output all values when responding to read request with wildcard
|
||||
# context for PBKDF
|
||||
var root_iterations # PBKDF number of iterations
|
||||
# PBKDF information used only during PASE (freed afterwards)
|
||||
var root_salt
|
||||
var root_w0
|
||||
var root_L
|
||||
# cron equivalent to call `read_sensors()` regularly and dispatch to all entpoints
|
||||
var probe_sensor_time # number of milliseconds to wait between each `read_sensors()` or `nil` if none active
|
||||
var probe_sensor_timestamp # timestamp for `read_sensors()` probe (in millis())
|
||||
|
@ -95,11 +87,7 @@ class Matter_Device
|
|||
self.plugins = []
|
||||
self.plugins_persist = false # plugins need to saved only when the first fabric is associated
|
||||
self.plugins_config_remotes = {}
|
||||
self.vendorid = self.VENDOR_ID
|
||||
self.productid = self.PRODUCT_ID
|
||||
self.root_iterations = self.PBKDF_ITERATIONS
|
||||
self.next_ep = 1 # start at endpoint 1 for dynamically allocated endpoints
|
||||
self.root_salt = crypto.random(16)
|
||||
self.next_ep = 2 # start at endpoint 2 for dynamically allocated endpoints (1 reserved for aggregator)
|
||||
self.ipv4only = false
|
||||
self.disable_bridge_mode = false
|
||||
self.load_param()
|
||||
|
@ -173,8 +161,21 @@ class Matter_Device
|
|||
tasmota.publish_result(format('{"Matter":{"Commissioning":1,"PairingCode":"%s","QRCode":"%s"}}', pairing_code, qr_code), 'Matter')
|
||||
|
||||
# compute PBKDF
|
||||
self._compute_pbkdf(self.root_passcode, self.root_iterations, self.root_salt)
|
||||
self.start_basic_commissioning(timeout_s, self.root_iterations, self.root_discriminator, self.root_salt, self.root_w0, #-self.root_w1,-# self.root_L, nil)
|
||||
import crypto
|
||||
var root_salt = crypto.random(16)
|
||||
|
||||
# Compute the PBKDF parameters for SPAKE2+ from root parameters
|
||||
var passcode = bytes().add(self.root_passcode, 4)
|
||||
|
||||
var tv = crypto.PBKDF2_HMAC_SHA256().derive(passcode, root_salt, self.PBKDF_ITERATIONS, 80)
|
||||
var w0s = tv[0..39]
|
||||
var w1s = tv[40..79]
|
||||
|
||||
var root_w0 = crypto.EC_P256().mod(w0s)
|
||||
var w1 = crypto.EC_P256().mod(w1s) # w1 is temporarily computed then discarded
|
||||
# self.root_w1 = crypto.EC_P256().mod(w1s)
|
||||
var root_L = crypto.EC_P256().public_key(w1)
|
||||
self.start_basic_commissioning(timeout_s, self.PBKDF_ITERATIONS, self.root_discriminator, root_salt, root_w0, #-self.root_w1,-# root_L, nil)
|
||||
end
|
||||
|
||||
#####################################################################
|
||||
|
@ -254,37 +255,13 @@ class Matter_Device
|
|||
return self.commissioning_open != nil
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# (internal) Compute the PBKDF parameters for SPAKE2+ from root parameters
|
||||
#
|
||||
def _compute_pbkdf(passcode_int, iterations, salt)
|
||||
import crypto
|
||||
var passcode = bytes().add(passcode_int, 4)
|
||||
|
||||
var tv = crypto.PBKDF2_HMAC_SHA256().derive(passcode, salt, iterations, 80)
|
||||
var w0s = tv[0..39]
|
||||
var w1s = tv[40..79]
|
||||
|
||||
self.root_w0 = crypto.EC_P256().mod(w0s)
|
||||
var w1 = crypto.EC_P256().mod(w1s) # w1 is temporarily computed then discarded
|
||||
# self.root_w1 = crypto.EC_P256().mod(w1s)
|
||||
self.root_L = crypto.EC_P256().public_key(w1)
|
||||
|
||||
# log("MTR: ******************************", 4)
|
||||
# log("MTR: salt = " + self.root_salt.tohex(), 4)
|
||||
# log("MTR: passcode_hex = " + passcode.tohex(), 4)
|
||||
# log("MTR: w0 = " + self.root_w0.tohex(), 4)
|
||||
# log("MTR: L = " + self.root_L.tohex(), 4)
|
||||
# log("MTR: ******************************", 4)
|
||||
end
|
||||
|
||||
#############################################################
|
||||
# Compute QR Code content - can be done only for root PASE
|
||||
def compute_qrcode_content()
|
||||
var raw = bytes().resize(11) # we don't use TLV Data so it's only 88 bits or 11 bytes
|
||||
# version is `000` dont touch
|
||||
raw.setbits(3, 16, self.vendorid)
|
||||
raw.setbits(19, 16, self.productid)
|
||||
raw.setbits(3, 16, self.VENDOR_ID)
|
||||
raw.setbits(19, 16, self.PRODUCT_ID)
|
||||
# custom flow = 0 (offset=35, len=2)
|
||||
raw.setbits(37, 8, 0x04) # already on IP network
|
||||
raw.setbits(45, 12, self.root_discriminator & 0xFFF)
|
||||
|
@ -452,10 +429,6 @@ class Matter_Device
|
|||
import mdns
|
||||
|
||||
self.stop_basic_commissioning() # close all PASE commissioning information
|
||||
# clear any PBKDF information to free memory
|
||||
self.root_w0 = nil
|
||||
# self.root_w1 = nil
|
||||
self.root_L = nil
|
||||
|
||||
self.mdns_announce_op_discovery(fabric)
|
||||
end
|
||||
|
@ -878,7 +851,7 @@ class Matter_Device
|
|||
import crypto
|
||||
|
||||
var services = {
|
||||
"VP":str(self.vendorid) + "+" + str(self.productid),
|
||||
"VP": f"{self.VENDOR_ID}+{self.PRODUCT_ID}",
|
||||
"D": self.commissioning_discriminator,
|
||||
"CM":1, # requires passcode
|
||||
"T":0, # no support for TCP
|
||||
|
@ -904,7 +877,7 @@ class Matter_Device
|
|||
subtype = "_S" + str((self.commissioning_discriminator & 0xF00) >> 8)
|
||||
log("MTR: adding subtype: "+subtype, 3)
|
||||
mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype)
|
||||
subtype = "_V" + str(self.vendorid)
|
||||
subtype = "_V" + str(self.VENDOR_ID)
|
||||
log("MTR: adding subtype: "+subtype, 3)
|
||||
mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_eth, self.hostname_eth, subtype)
|
||||
subtype = "_CM1"
|
||||
|
@ -926,7 +899,7 @@ class Matter_Device
|
|||
subtype = "_S" + str((self.commissioning_discriminator & 0xF00) >> 8)
|
||||
log("MTR: adding subtype: "+subtype, 3)
|
||||
mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
|
||||
subtype = "_V" + str(self.vendorid)
|
||||
subtype = "_V" + str(self.VENDOR_ID)
|
||||
log("MTR: adding subtype: "+subtype, 3)
|
||||
mdns.add_subtype("_matterc", "_udp", self.commissioning_instance_wifi, self.hostname_wifi, subtype)
|
||||
subtype = "_CM1"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -147,435 +147,410 @@ be_local_closure(class_Matter_MessageHandler_msg_received, /* name */
|
|||
0, /* has sup protos */
|
||||
&be_class_Matter_MessageHandler,
|
||||
1, /* has constants */
|
||||
( &(const bvalue[70]) { /* constants */
|
||||
( &(const bvalue[65]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* K1 */ be_nested_str_weak(profiler),
|
||||
/* K2 */ be_nested_str_weak(log),
|
||||
/* K3 */ be_nested_str_weak(msg_received),
|
||||
/* K4 */ be_nested_str_weak(Frame),
|
||||
/* K5 */ be_nested_str_weak(decode_header),
|
||||
/* K6 */ be_nested_str_weak(sec_p),
|
||||
/* K7 */ be_nested_str_weak(device),
|
||||
/* 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(loglevel),
|
||||
/* K25 */ 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),
|
||||
/* K26 */ be_nested_str_weak(val),
|
||||
/* K27 */ be_nested_str_weak(send_simple_ack),
|
||||
/* K28 */ be_nested_str_weak(decode_payload),
|
||||
/* K29 */ be_nested_str_weak(received_ack),
|
||||
/* K30 */ be_nested_str_weak(opcode),
|
||||
/* K31 */ be_nested_str_weak(get_opcode_name),
|
||||
/* K32 */ be_nested_str_weak(0x_X2502X),
|
||||
/* K33 */ be_const_int(3),
|
||||
/* K34 */ be_nested_str_weak(MTR_X3A_X20_X3EReceived_X20_X20_X28_X256i_X29_X20_X25s_X20from_X20_X5B_X25s_X5D_X3A_X25i),
|
||||
/* 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(exchange_id),
|
||||
/* K40 */ be_nested_str_weak(ack_message_counter),
|
||||
/* K41 */ be_nested_str_weak(commissioning),
|
||||
/* K42 */ be_nested_str_weak(process_incoming),
|
||||
/* K43 */ be_nested_str_weak(MTR_X3A_X20decode_X20header_X3A_X20local_session_id_X3D_X25i_X20message_counter_X3D_X25i),
|
||||
/* K44 */ be_nested_str_weak(get_session_by_local_session_id),
|
||||
/* K45 */ be_nested_str_weak(MTR_X3A_X20unknown_X20local_session_id_X3D),
|
||||
/* K46 */ be_nested_str_weak(counter_rcv_validate),
|
||||
/* K47 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20encrypted_X20message_X20_X3D_X20),
|
||||
/* K48 */ be_nested_str_weak(_X20counter_X3D),
|
||||
/* K49 */ be_nested_str_weak(counter_rcv),
|
||||
/* K50 */ be_nested_str_weak(send_encrypted_ack),
|
||||
/* K51 */ be_nested_str_weak(decrypt),
|
||||
/* K52 */ be_nested_str_weak(msg_received_header_frame_decrypted),
|
||||
/* K53 */ be_nested_str_weak(MTR_X3A_X20_X3E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Decrypted_X20message_X3A_X20protocol_id_X3A),
|
||||
/* K54 */ be_nested_str_weak(protocol_id),
|
||||
/* K55 */ be_nested_str_weak(_X20opcode_X3D),
|
||||
/* K56 */ be_nested_str_weak(_X20exchange_id_X3D),
|
||||
/* K57 */ be_nested_str_weak(im),
|
||||
/* K58 */ be_nested_str_weak(process_incoming_ack),
|
||||
/* K59 */ be_nested_str_weak(send_enqueued),
|
||||
/* K60 */ be_const_int(1),
|
||||
/* K61 */ be_nested_str_weak(process_IM_start),
|
||||
/* K62 */ be_nested_str_weak(process_IM_end),
|
||||
/* K63 */ be_nested_str_weak(MTR_X3A_X20ignoring_X20unhandled_X20protocol_id_X3A),
|
||||
/* K64 */ be_nested_str_weak(MTR_X3A_X20MessageHandler_X3A_X3Amsg_received_X20exception_X3A_X20),
|
||||
/* K65 */ be_nested_str_weak(_X3B),
|
||||
/* K66 */ be_const_int(2),
|
||||
/* K67 */ be_nested_str_weak(_debug_present),
|
||||
/* K68 */ be_nested_str_weak(debug),
|
||||
/* K69 */ be_nested_str_weak(traceback),
|
||||
/* 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(loglevel),
|
||||
/* K22 */ be_nested_str_weak(log),
|
||||
/* K23 */ 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),
|
||||
/* K24 */ be_nested_str_weak(val),
|
||||
/* K25 */ be_nested_str_weak(send_simple_ack),
|
||||
/* K26 */ be_nested_str_weak(decode_payload),
|
||||
/* K27 */ be_nested_str_weak(received_ack),
|
||||
/* K28 */ be_nested_str_weak(opcode),
|
||||
/* K29 */ be_nested_str_weak(get_opcode_name),
|
||||
/* K30 */ be_nested_str_weak(0x_X2502X),
|
||||
/* K31 */ be_const_int(3),
|
||||
/* K32 */ be_nested_str_weak(MTR_X3A_X20_X3EReceived_X20_X20_X28_X256i_X29_X20_X25s_X20from_X20_X5B_X25s_X5D_X3A_X25i),
|
||||
/* 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(exchange_id),
|
||||
/* K38 */ be_nested_str_weak(ack_message_counter),
|
||||
/* K39 */ be_nested_str_weak(commissioning),
|
||||
/* K40 */ be_nested_str_weak(process_incoming),
|
||||
/* K41 */ be_nested_str_weak(MTR_X3A_X20decode_X20header_X3A_X20local_session_id_X3D_X25i_X20message_counter_X3D_X25i),
|
||||
/* K42 */ be_nested_str_weak(get_session_by_local_session_id),
|
||||
/* K43 */ be_nested_str_weak(MTR_X3A_X20unknown_X20local_session_id_X3D),
|
||||
/* K44 */ be_nested_str_weak(counter_rcv_validate),
|
||||
/* K45 */ be_nested_str_weak(MTR_X3A_X20_X2E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Duplicate_X20encrypted_X20message_X20_X3D_X20),
|
||||
/* K46 */ be_nested_str_weak(_X20counter_X3D),
|
||||
/* K47 */ be_nested_str_weak(counter_rcv),
|
||||
/* K48 */ be_nested_str_weak(send_encrypted_ack),
|
||||
/* K49 */ be_nested_str_weak(decrypt),
|
||||
/* K50 */ be_nested_str_weak(MTR_X3A_X20_X3E_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20Decrypted_X20message_X3A_X20protocol_id_X3A),
|
||||
/* K51 */ be_nested_str_weak(protocol_id),
|
||||
/* K52 */ be_nested_str_weak(_X20opcode_X3D),
|
||||
/* K53 */ be_nested_str_weak(_X20exchange_id_X3D),
|
||||
/* K54 */ be_nested_str_weak(im),
|
||||
/* K55 */ be_nested_str_weak(process_incoming_ack),
|
||||
/* K56 */ be_nested_str_weak(send_enqueued),
|
||||
/* K57 */ be_const_int(1),
|
||||
/* K58 */ be_nested_str_weak(MTR_X3A_X20ignoring_X20unhandled_X20protocol_id_X3A),
|
||||
/* K59 */ be_nested_str_weak(MTR_X3A_X20MessageHandler_X3A_X3Amsg_received_X20exception_X3A_X20),
|
||||
/* K60 */ be_nested_str_weak(_X3B),
|
||||
/* K61 */ be_const_int(2),
|
||||
/* K62 */ be_nested_str_weak(_debug_present),
|
||||
/* K63 */ be_nested_str_weak(debug),
|
||||
/* K64 */ be_nested_str_weak(traceback),
|
||||
}),
|
||||
be_str_weak(msg_received),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[354]) { /* code */
|
||||
( &(const binstruction[334]) { /* code */
|
||||
0x50100000, // 0000 LDBOOL R4 0 0
|
||||
0xB8160000, // 0001 GETNGBL R5 K0
|
||||
0x88140B01, // 0002 GETMBR R5 R5 K1
|
||||
0x8C140B02, // 0003 GETMET R5 R5 K2
|
||||
0x581C0003, // 0004 LDCONST R7 K3
|
||||
0x7C140400, // 0005 CALL R5 2
|
||||
0xA8020141, // 0006 EXBLK 0 #0149
|
||||
0xB8160000, // 0007 GETNGBL R5 K0
|
||||
0x8C140B04, // 0008 GETMET R5 R5 K4
|
||||
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
|
||||
0x8C180B05, // 000E GETMET R6 R5 K5
|
||||
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
|
||||
0x881C0B06, // 0015 GETMBR R7 R5 K6
|
||||
0x781E000C, // 0016 JMPF R7 #0024
|
||||
0x881C0107, // 0017 GETMBR R7 R0 K7
|
||||
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
|
||||
0x70020120, // 0023 JMP #0145
|
||||
0x881C0B0D, // 0024 GETMBR R7 R5 K13
|
||||
0x1C1C0F0E, // 0025 EQ R7 R7 K14
|
||||
0x781E007A, // 0026 JMPF R7 #00A2
|
||||
0x881C0B0F, // 0027 GETMBR R7 R5 K15
|
||||
0x1C1C0F0E, // 0028 EQ R7 R7 K14
|
||||
0x781E0077, // 0029 JMPF R7 #00A2
|
||||
0x881C0107, // 002A GETMBR R7 R0 K7
|
||||
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
|
||||
0x74220015, // 003B JMPT R8 #0052
|
||||
0xB8222E00, // 003C GETNGBL R8 K23
|
||||
0x8C201118, // 003D GETMET R8 R8 K24
|
||||
0x542A0003, // 003E LDINT R10 4
|
||||
0x7C200400, // 003F CALL R8 2
|
||||
0x78220009, // 0040 JMPF R8 #004B
|
||||
0xB8220400, // 0041 GETNGBL R8 K2
|
||||
0x60240018, // 0042 GETGBL R9 G24
|
||||
0x58280019, // 0043 LDCONST R10 K25
|
||||
0x882C0B16, // 0044 GETMBR R11 R5 K22
|
||||
0x88300F14, // 0045 GETMBR R12 R7 K20
|
||||
0x8C30191A, // 0046 GETMET R12 R12 K26
|
||||
0x7C300200, // 0047 CALL R12 1
|
||||
0x7C240600, // 0048 CALL R9 3
|
||||
0x542A0003, // 0049 LDINT R10 4
|
||||
0x7C200400, // 004A CALL R8 2
|
||||
0x8C20011B, // 004B GETMET R8 R0 K27
|
||||
0x5C280A00, // 004C MOVE R10 R5
|
||||
0x502C0000, // 004D LDBOOL R11 0 0
|
||||
0x7C200600, // 004E CALL R8 3
|
||||
0x50200000, // 004F LDBOOL R8 0 0
|
||||
0xA8040001, // 0050 EXBLK 1 1
|
||||
0x80041000, // 0051 RET 1 R8
|
||||
0x8C200B1C, // 0052 GETMET R8 R5 K28
|
||||
0x7C200200, // 0053 CALL R8 1
|
||||
0x74220002, // 0054 JMPT R8 #0058
|
||||
0x50200000, // 0055 LDBOOL R8 0 0
|
||||
0xA8040001, // 0056 EXBLK 1 1
|
||||
0x80041000, // 0057 RET 1 R8
|
||||
0x88200107, // 0058 GETMBR R8 R0 K7
|
||||
0x8C20111D, // 0059 GETMET R8 R8 K29
|
||||
0x5C280A00, // 005A MOVE R10 R5
|
||||
0x7C200400, // 005B CALL R8 2
|
||||
0x88200B1E, // 005C GETMBR R8 R5 K30
|
||||
0x5426000F, // 005D LDINT R9 16
|
||||
0x20201009, // 005E NE R8 R8 R9
|
||||
0x7822001A, // 005F JMPF R8 #007B
|
||||
0xB8220000, // 0060 GETNGBL R8 K0
|
||||
0x8C20111F, // 0061 GETMET R8 R8 K31
|
||||
0x88280B1E, // 0062 GETMBR R10 R5 K30
|
||||
0x7C200400, // 0063 CALL R8 2
|
||||
0x5C241000, // 0064 MOVE R9 R8
|
||||
0x74260004, // 0065 JMPT R9 #006B
|
||||
0x60240018, // 0066 GETGBL R9 G24
|
||||
0x58280020, // 0067 LDCONST R10 K32
|
||||
0x882C0B1E, // 0068 GETMBR R11 R5 K30
|
||||
0xA8020132, // 0001 EXBLK 0 #0135
|
||||
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
|
||||
0x70020111, // 001E JMP #0131
|
||||
0x881C0B0A, // 001F GETMBR R7 R5 K10
|
||||
0x1C1C0F0B, // 0020 EQ R7 R7 K11
|
||||
0x781E007A, // 0021 JMPF R7 #009D
|
||||
0x881C0B0C, // 0022 GETMBR R7 R5 K12
|
||||
0x1C1C0F0B, // 0023 EQ R7 R7 K11
|
||||
0x781E0077, // 0024 JMPF R7 #009D
|
||||
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
|
||||
0x74220015, // 0036 JMPT R8 #004D
|
||||
0xB8222800, // 0037 GETNGBL R8 K20
|
||||
0x8C201115, // 0038 GETMET R8 R8 K21
|
||||
0x542A0003, // 0039 LDINT R10 4
|
||||
0x7C200400, // 003A CALL R8 2
|
||||
0x78220009, // 003B JMPF R8 #0046
|
||||
0xB8222C00, // 003C GETNGBL R8 K22
|
||||
0x60240018, // 003D GETGBL R9 G24
|
||||
0x58280017, // 003E LDCONST R10 K23
|
||||
0x882C0B13, // 003F GETMBR R11 R5 K19
|
||||
0x88300F11, // 0040 GETMBR R12 R7 K17
|
||||
0x8C301918, // 0041 GETMET R12 R12 K24
|
||||
0x7C300200, // 0042 CALL R12 1
|
||||
0x7C240600, // 0043 CALL R9 3
|
||||
0x542A0003, // 0044 LDINT R10 4
|
||||
0x7C200400, // 0045 CALL R8 2
|
||||
0x8C200119, // 0046 GETMET R8 R0 K25
|
||||
0x5C280A00, // 0047 MOVE R10 R5
|
||||
0x502C0000, // 0048 LDBOOL R11 0 0
|
||||
0x7C200600, // 0049 CALL R8 3
|
||||
0x50200000, // 004A LDBOOL R8 0 0
|
||||
0xA8040001, // 004B EXBLK 1 1
|
||||
0x80041000, // 004C RET 1 R8
|
||||
0x8C200B1A, // 004D GETMET R8 R5 K26
|
||||
0x7C200200, // 004E CALL R8 1
|
||||
0x74220002, // 004F JMPT R8 #0053
|
||||
0x50200000, // 0050 LDBOOL R8 0 0
|
||||
0xA8040001, // 0051 EXBLK 1 1
|
||||
0x80041000, // 0052 RET 1 R8
|
||||
0x88200104, // 0053 GETMBR R8 R0 K4
|
||||
0x8C20111B, // 0054 GETMET R8 R8 K27
|
||||
0x5C280A00, // 0055 MOVE R10 R5
|
||||
0x7C200400, // 0056 CALL R8 2
|
||||
0x88200B1C, // 0057 GETMBR R8 R5 K28
|
||||
0x5426000F, // 0058 LDINT R9 16
|
||||
0x20201009, // 0059 NE R8 R8 R9
|
||||
0x7822001A, // 005A JMPF R8 #0076
|
||||
0xB8220000, // 005B GETNGBL R8 K0
|
||||
0x8C20111D, // 005C GETMET R8 R8 K29
|
||||
0x88280B1C, // 005D GETMBR R10 R5 K28
|
||||
0x7C200400, // 005E CALL R8 2
|
||||
0x5C241000, // 005F MOVE R9 R8
|
||||
0x74260004, // 0060 JMPT R9 #0066
|
||||
0x60240018, // 0061 GETGBL R9 G24
|
||||
0x5828001E, // 0062 LDCONST R10 K30
|
||||
0x882C0B1C, // 0063 GETMBR R11 R5 K28
|
||||
0x7C240400, // 0064 CALL R9 2
|
||||
0x5C201200, // 0065 MOVE R8 R9
|
||||
0xB8262800, // 0066 GETNGBL R9 K20
|
||||
0x8C241315, // 0067 GETMET R9 R9 K21
|
||||
0x582C001F, // 0068 LDCONST R11 K31
|
||||
0x7C240400, // 0069 CALL R9 2
|
||||
0x5C201200, // 006A MOVE R8 R9
|
||||
0xB8262E00, // 006B GETNGBL R9 K23
|
||||
0x8C241318, // 006C GETMET R9 R9 K24
|
||||
0x582C0021, // 006D LDCONST R11 K33
|
||||
0x7C240400, // 006E CALL R9 2
|
||||
0x78260009, // 006F JMPF R9 #007A
|
||||
0xB8260400, // 0070 GETNGBL R9 K2
|
||||
0x60280018, // 0071 GETGBL R10 G24
|
||||
0x582C0022, // 0072 LDCONST R11 K34
|
||||
0x88300F0D, // 0073 GETMBR R12 R7 K13
|
||||
0x5C341000, // 0074 MOVE R13 R8
|
||||
0x5C380400, // 0075 MOVE R14 R2
|
||||
0x5C3C0600, // 0076 MOVE R15 R3
|
||||
0x7C280A00, // 0077 CALL R10 5
|
||||
0x582C0021, // 0078 LDCONST R11 K33
|
||||
0x7C240400, // 0079 CALL R9 2
|
||||
0x70020017, // 007A JMP #0093
|
||||
0xB8222E00, // 007B GETNGBL R8 K23
|
||||
0x8C201118, // 007C GETMET R8 R8 K24
|
||||
0x542A0003, // 007D LDINT R10 4
|
||||
0x7C200400, // 007E CALL R8 2
|
||||
0x78220012, // 007F JMPF R8 #0093
|
||||
0xB8220400, // 0080 GETNGBL R8 K2
|
||||
0x60240018, // 0081 GETGBL R9 G24
|
||||
0x58280023, // 0082 LDCONST R10 K35
|
||||
0x882C0F0D, // 0083 GETMBR R11 R7 K13
|
||||
0x88300B16, // 0084 GETMBR R12 R5 K22
|
||||
0x88340B24, // 0085 GETMBR R13 R5 K36
|
||||
0x78360001, // 0086 JMPF R13 #0089
|
||||
0x58340025, // 0087 LDCONST R13 K37
|
||||
0x70020000, // 0088 JMP #008A
|
||||
0x58340026, // 0089 LDCONST R13 K38
|
||||
0x88380B27, // 008A GETMBR R14 R5 K39
|
||||
0x603C0008, // 008B GETGBL R15 G8
|
||||
0x88400B28, // 008C GETMBR R16 R5 K40
|
||||
0x7C3C0200, // 008D CALL R15 1
|
||||
0x5C400400, // 008E MOVE R16 R2
|
||||
0x5C440600, // 008F MOVE R17 R3
|
||||
0x7C241000, // 0090 CALL R9 8
|
||||
0x542A0003, // 0091 LDINT R10 4
|
||||
0x7C200400, // 0092 CALL R8 2
|
||||
0x88200129, // 0093 GETMBR R8 R0 K41
|
||||
0x8C20112A, // 0094 GETMET R8 R8 K42
|
||||
0x5C280A00, // 0095 MOVE R10 R5
|
||||
0x7C200400, // 0096 CALL R8 2
|
||||
0x5C101000, // 0097 MOVE R4 R8
|
||||
0x5C200800, // 0098 MOVE R8 R4
|
||||
0x74220003, // 0099 JMPT R8 #009E
|
||||
0x8C20011B, // 009A GETMET R8 R0 K27
|
||||
0x5C280A00, // 009B MOVE R10 R5
|
||||
0x502C0000, // 009C LDBOOL R11 0 0
|
||||
0x7C200600, // 009D CALL R8 3
|
||||
0x50200200, // 009E LDBOOL R8 1 0
|
||||
0xA8040001, // 009F EXBLK 1 1
|
||||
0x80041000, // 00A0 RET 1 R8
|
||||
0x700200A2, // 00A1 JMP #0145
|
||||
0xB81E2E00, // 00A2 GETNGBL R7 K23
|
||||
0x8C1C0F18, // 00A3 GETMET R7 R7 K24
|
||||
0x54260003, // 00A4 LDINT R9 4
|
||||
0x7C1C0400, // 00A5 CALL R7 2
|
||||
0x781E0007, // 00A6 JMPF R7 #00AF
|
||||
0xB81E0400, // 00A7 GETNGBL R7 K2
|
||||
0x60200018, // 00A8 GETGBL R8 G24
|
||||
0x5824002B, // 00A9 LDCONST R9 K43
|
||||
0x88280B0D, // 00AA GETMBR R10 R5 K13
|
||||
0x882C0B16, // 00AB GETMBR R11 R5 K22
|
||||
0x7C200600, // 00AC CALL R8 3
|
||||
0x54260003, // 00AD LDINT R9 4
|
||||
0x78260009, // 006A JMPF R9 #0075
|
||||
0xB8262C00, // 006B GETNGBL R9 K22
|
||||
0x60280018, // 006C GETGBL R10 G24
|
||||
0x582C0020, // 006D LDCONST R11 K32
|
||||
0x88300F0A, // 006E GETMBR R12 R7 K10
|
||||
0x5C341000, // 006F MOVE R13 R8
|
||||
0x5C380400, // 0070 MOVE R14 R2
|
||||
0x5C3C0600, // 0071 MOVE R15 R3
|
||||
0x7C280A00, // 0072 CALL R10 5
|
||||
0x582C001F, // 0073 LDCONST R11 K31
|
||||
0x7C240400, // 0074 CALL R9 2
|
||||
0x70020017, // 0075 JMP #008E
|
||||
0xB8222800, // 0076 GETNGBL R8 K20
|
||||
0x8C201115, // 0077 GETMET R8 R8 K21
|
||||
0x542A0003, // 0078 LDINT R10 4
|
||||
0x7C200400, // 0079 CALL R8 2
|
||||
0x78220012, // 007A JMPF R8 #008E
|
||||
0xB8222C00, // 007B GETNGBL R8 K22
|
||||
0x60240018, // 007C GETGBL R9 G24
|
||||
0x58280021, // 007D LDCONST R10 K33
|
||||
0x882C0F0A, // 007E GETMBR R11 R7 K10
|
||||
0x88300B13, // 007F GETMBR R12 R5 K19
|
||||
0x88340B22, // 0080 GETMBR R13 R5 K34
|
||||
0x78360001, // 0081 JMPF R13 #0084
|
||||
0x58340023, // 0082 LDCONST R13 K35
|
||||
0x70020000, // 0083 JMP #0085
|
||||
0x58340024, // 0084 LDCONST R13 K36
|
||||
0x88380B25, // 0085 GETMBR R14 R5 K37
|
||||
0x603C0008, // 0086 GETGBL R15 G8
|
||||
0x88400B26, // 0087 GETMBR R16 R5 K38
|
||||
0x7C3C0200, // 0088 CALL R15 1
|
||||
0x5C400400, // 0089 MOVE R16 R2
|
||||
0x5C440600, // 008A MOVE R17 R3
|
||||
0x7C241000, // 008B CALL R9 8
|
||||
0x542A0003, // 008C LDINT R10 4
|
||||
0x7C200400, // 008D CALL R8 2
|
||||
0x88200127, // 008E GETMBR R8 R0 K39
|
||||
0x8C201128, // 008F GETMET R8 R8 K40
|
||||
0x5C280A00, // 0090 MOVE R10 R5
|
||||
0x7C200400, // 0091 CALL R8 2
|
||||
0x5C101000, // 0092 MOVE R4 R8
|
||||
0x5C200800, // 0093 MOVE R8 R4
|
||||
0x74220003, // 0094 JMPT R8 #0099
|
||||
0x8C200119, // 0095 GETMET R8 R0 K25
|
||||
0x5C280A00, // 0096 MOVE R10 R5
|
||||
0x502C0000, // 0097 LDBOOL R11 0 0
|
||||
0x7C200600, // 0098 CALL R8 3
|
||||
0x50200200, // 0099 LDBOOL R8 1 0
|
||||
0xA8040001, // 009A EXBLK 1 1
|
||||
0x80041000, // 009B RET 1 R8
|
||||
0x70020093, // 009C JMP #0131
|
||||
0xB81E2800, // 009D GETNGBL R7 K20
|
||||
0x8C1C0F15, // 009E GETMET R7 R7 K21
|
||||
0x54260003, // 009F LDINT R9 4
|
||||
0x7C1C0400, // 00A0 CALL R7 2
|
||||
0x781E0007, // 00A1 JMPF R7 #00AA
|
||||
0xB81E2C00, // 00A2 GETNGBL R7 K22
|
||||
0x60200018, // 00A3 GETGBL R8 G24
|
||||
0x58240029, // 00A4 LDCONST R9 K41
|
||||
0x88280B0A, // 00A5 GETMBR R10 R5 K10
|
||||
0x882C0B13, // 00A6 GETMBR R11 R5 K19
|
||||
0x7C200600, // 00A7 CALL R8 3
|
||||
0x54260003, // 00A8 LDINT R9 4
|
||||
0x7C1C0400, // 00A9 CALL R7 2
|
||||
0x881C0104, // 00AA GETMBR R7 R0 K4
|
||||
0x881C0F05, // 00AB GETMBR R7 R7 K5
|
||||
0x8C1C0F2A, // 00AC GETMET R7 R7 K42
|
||||
0x88240B0A, // 00AD GETMBR R9 R5 K10
|
||||
0x7C1C0400, // 00AE CALL R7 2
|
||||
0x881C0107, // 00AF GETMBR R7 R0 K7
|
||||
0x881C0F08, // 00B0 GETMBR R7 R7 K8
|
||||
0x8C1C0F2C, // 00B1 GETMET R7 R7 K44
|
||||
0x88240B0D, // 00B2 GETMBR R9 R5 K13
|
||||
0x7C1C0400, // 00B3 CALL R7 2
|
||||
0x4C200000, // 00B4 LDNIL R8
|
||||
0x1C200E08, // 00B5 EQ R8 R7 R8
|
||||
0x78220009, // 00B6 JMPF R8 #00C1
|
||||
0xB8220400, // 00B7 GETNGBL R8 K2
|
||||
0x60240008, // 00B8 GETGBL R9 G8
|
||||
0x88280B0D, // 00B9 GETMBR R10 R5 K13
|
||||
0x7C240200, // 00BA CALL R9 1
|
||||
0x00265A09, // 00BB ADD R9 K45 R9
|
||||
0x58280021, // 00BC LDCONST R10 K33
|
||||
0x7C200400, // 00BD CALL R8 2
|
||||
0x50200000, // 00BE LDBOOL R8 0 0
|
||||
0xA8040001, // 00BF EXBLK 1 1
|
||||
0x80041000, // 00C0 RET 1 R8
|
||||
0x780A0000, // 00C1 JMPF R2 #00C3
|
||||
0x901E2002, // 00C2 SETMBR R7 K16 R2
|
||||
0x780E0000, // 00C3 JMPF R3 #00C5
|
||||
0x901E2203, // 00C4 SETMBR R7 K17 R3
|
||||
0x901E2400, // 00C5 SETMBR R7 K18 R0
|
||||
0x90162607, // 00C6 SETMBR R5 K19 R7
|
||||
0x8C200F2E, // 00C7 GETMET R8 R7 K46
|
||||
0x88280B16, // 00C8 GETMBR R10 R5 K22
|
||||
0x502C0200, // 00C9 LDBOOL R11 1 0
|
||||
0x7C200600, // 00CA CALL R8 3
|
||||
0x74220017, // 00CB JMPT R8 #00E4
|
||||
0xB8222E00, // 00CC GETNGBL R8 K23
|
||||
0x8C201118, // 00CD GETMET R8 R8 K24
|
||||
0x58280021, // 00CE LDCONST R10 K33
|
||||
0x7C200400, // 00CF CALL R8 2
|
||||
0x7822000B, // 00D0 JMPF R8 #00DD
|
||||
0xB8220400, // 00D1 GETNGBL R8 K2
|
||||
0x60240008, // 00D2 GETGBL R9 G8
|
||||
0x88280B16, // 00D3 GETMBR R10 R5 K22
|
||||
0x7C240200, // 00D4 CALL R9 1
|
||||
0x00265E09, // 00D5 ADD R9 K47 R9
|
||||
0x00241330, // 00D6 ADD R9 R9 K48
|
||||
0x60280008, // 00D7 GETGBL R10 G8
|
||||
0x882C0F31, // 00D8 GETMBR R11 R7 K49
|
||||
0x7C280200, // 00D9 CALL R10 1
|
||||
0x0024120A, // 00DA ADD R9 R9 R10
|
||||
0x58280021, // 00DB LDCONST R10 K33
|
||||
0x7C200400, // 00DC CALL R8 2
|
||||
0x8C200132, // 00DD GETMET R8 R0 K50
|
||||
0x5C280A00, // 00DE MOVE R10 R5
|
||||
0x502C0000, // 00DF LDBOOL R11 0 0
|
||||
0x7C200600, // 00E0 CALL R8 3
|
||||
0x50200000, // 00E1 LDBOOL R8 0 0
|
||||
0xA8040001, // 00E2 EXBLK 1 1
|
||||
0x80041000, // 00E3 RET 1 R8
|
||||
0x8C200B33, // 00E4 GETMET R8 R5 K51
|
||||
0x7C200200, // 00E5 CALL R8 1
|
||||
0xB8260000, // 00E6 GETNGBL R9 K0
|
||||
0x88241301, // 00E7 GETMBR R9 R9 K1
|
||||
0x8C241302, // 00E8 GETMET R9 R9 K2
|
||||
0x582C0034, // 00E9 LDCONST R11 K52
|
||||
0x7C240400, // 00EA CALL R9 2
|
||||
0x5C241000, // 00EB MOVE R9 R8
|
||||
0x74260002, // 00EC JMPT R9 #00F0
|
||||
0x50240000, // 00ED LDBOOL R9 0 0
|
||||
0xA8040001, // 00EE EXBLK 1 1
|
||||
0x80041200, // 00EF RET 1 R9
|
||||
0x8C240B1C, // 00F0 GETMET R9 R5 K28
|
||||
0x7C240200, // 00F1 CALL R9 1
|
||||
0xB8262E00, // 00F2 GETNGBL R9 K23
|
||||
0x8C241318, // 00F3 GETMET R9 R9 K24
|
||||
0x542E0003, // 00F4 LDINT R11 4
|
||||
0x7C240400, // 00F5 CALL R9 2
|
||||
0x78260012, // 00F6 JMPF R9 #010A
|
||||
0xB8260400, // 00F7 GETNGBL R9 K2
|
||||
0x60280008, // 00F8 GETGBL R10 G8
|
||||
0x882C0B36, // 00F9 GETMBR R11 R5 K54
|
||||
0x7C280200, // 00FA CALL R10 1
|
||||
0x002A6A0A, // 00FB ADD R10 K53 R10
|
||||
0x00281537, // 00FC ADD R10 R10 K55
|
||||
0x602C0008, // 00FD GETGBL R11 G8
|
||||
0x88300B1E, // 00FE GETMBR R12 R5 K30
|
||||
0x7C2C0200, // 00FF CALL R11 1
|
||||
0x0028140B, // 0100 ADD R10 R10 R11
|
||||
0x00281538, // 0101 ADD R10 R10 K56
|
||||
0x602C0008, // 0102 GETGBL R11 G8
|
||||
0x88300B27, // 0103 GETMBR R12 R5 K39
|
||||
0x5436FFFE, // 0104 LDINT R13 65535
|
||||
0x2C30180D, // 0105 AND R12 R12 R13
|
||||
0x7C2C0200, // 0106 CALL R11 1
|
||||
0x0028140B, // 0107 ADD R10 R10 R11
|
||||
0x542E0003, // 0108 LDINT R11 4
|
||||
0x7C240400, // 0109 CALL R9 2
|
||||
0x88240107, // 010A GETMBR R9 R0 K7
|
||||
0x8C24131D, // 010B GETMET R9 R9 K29
|
||||
0x5C2C0A00, // 010C MOVE R11 R5
|
||||
0x7C240400, // 010D CALL R9 2
|
||||
0x88240B36, // 010E GETMBR R9 R5 K54
|
||||
0x1C28130E, // 010F EQ R10 R9 K14
|
||||
0x782A000F, // 0110 JMPF R10 #0121
|
||||
0x88280B1E, // 0111 GETMBR R10 R5 K30
|
||||
0x542E000F, // 0112 LDINT R11 16
|
||||
0x1C28140B, // 0113 EQ R10 R10 R11
|
||||
0x782A0009, // 0114 JMPF R10 #011F
|
||||
0x88280139, // 0115 GETMBR R10 R0 K57
|
||||
0x8C28153A, // 0116 GETMET R10 R10 K58
|
||||
0x5C300A00, // 0117 MOVE R12 R5
|
||||
0x7C280400, // 0118 CALL R10 2
|
||||
0x5C101400, // 0119 MOVE R4 R10
|
||||
0x78120003, // 011A JMPF R4 #011F
|
||||
0x88280139, // 011B GETMBR R10 R0 K57
|
||||
0x8C28153B, // 011C GETMET R10 R10 K59
|
||||
0x5C300000, // 011D MOVE R12 R0
|
||||
0x7C280400, // 011E CALL R10 2
|
||||
0x50100200, // 011F LDBOOL R4 1 0
|
||||
0x70020023, // 0120 JMP #0145
|
||||
0x1C28133C, // 0121 EQ R10 R9 K60
|
||||
0x782A001A, // 0122 JMPF R10 #013E
|
||||
0xB82A0000, // 0123 GETNGBL R10 K0
|
||||
0x88281501, // 0124 GETMBR R10 R10 K1
|
||||
0x8C281502, // 0125 GETMET R10 R10 K2
|
||||
0x5830003D, // 0126 LDCONST R12 K61
|
||||
0x7C280400, // 0127 CALL R10 2
|
||||
0x88280139, // 0128 GETMBR R10 R0 K57
|
||||
0x8C28152A, // 0129 GETMET R10 R10 K42
|
||||
0x5C300A00, // 012A MOVE R12 R5
|
||||
0x7C280400, // 012B CALL R10 2
|
||||
0x5C101400, // 012C MOVE R4 R10
|
||||
0xB82A0000, // 012D GETNGBL R10 K0
|
||||
0x88281501, // 012E GETMBR R10 R10 K1
|
||||
0x8C281502, // 012F GETMET R10 R10 K2
|
||||
0x5830003E, // 0130 LDCONST R12 K62
|
||||
0x7C280400, // 0131 CALL R10 2
|
||||
0x78120004, // 0132 JMPF R4 #0138
|
||||
0x88280139, // 0133 GETMBR R10 R0 K57
|
||||
0x8C28153B, // 0134 GETMET R10 R10 K59
|
||||
0x5C300000, // 0135 MOVE R12 R0
|
||||
0x7C280400, // 0136 CALL R10 2
|
||||
0x70020003, // 0137 JMP #013C
|
||||
0x8C280132, // 0138 GETMET R10 R0 K50
|
||||
0x5C300A00, // 0139 MOVE R12 R5
|
||||
0x50340200, // 013A LDBOOL R13 1 0
|
||||
0x7C280600, // 013B CALL R10 3
|
||||
0x50100200, // 013C LDBOOL R4 1 0
|
||||
0x70020006, // 013D JMP #0145
|
||||
0xB82A0400, // 013E GETNGBL R10 K2
|
||||
0x602C0008, // 013F GETGBL R11 G8
|
||||
0x5C301200, // 0140 MOVE R12 R9
|
||||
0x7C2C0200, // 0141 CALL R11 1
|
||||
0x002E7E0B, // 0142 ADD R11 K63 R11
|
||||
0x58300021, // 0143 LDCONST R12 K33
|
||||
0x7C280400, // 0144 CALL R10 2
|
||||
0xA8040001, // 0145 EXBLK 1 1
|
||||
0x80040800, // 0146 RET 1 R4
|
||||
0xA8040001, // 0147 EXBLK 1 1
|
||||
0x70020017, // 0148 JMP #0161
|
||||
0xAC140002, // 0149 CATCH R5 0 2
|
||||
0x70020014, // 014A JMP #0160
|
||||
0xB81E0400, // 014B GETNGBL R7 K2
|
||||
0x60200008, // 014C GETGBL R8 G8
|
||||
0x5C240A00, // 014D MOVE R9 R5
|
||||
0x7C200200, // 014E CALL R8 1
|
||||
0x00228008, // 014F ADD R8 K64 R8
|
||||
0x00201141, // 0150 ADD R8 R8 K65
|
||||
0x60240008, // 0151 GETGBL R9 G8
|
||||
0x5C280C00, // 0152 MOVE R10 R6
|
||||
0x7C240200, // 0153 CALL R9 1
|
||||
0x00201009, // 0154 ADD R8 R8 R9
|
||||
0x58240042, // 0155 LDCONST R9 K66
|
||||
0x7C1C0400, // 0156 CALL R7 2
|
||||
0xB81E2E00, // 0157 GETNGBL R7 K23
|
||||
0x881C0F43, // 0158 GETMBR R7 R7 K67
|
||||
0x781E0002, // 0159 JMPF R7 #015D
|
||||
0xA41E8800, // 015A IMPORT R7 K68
|
||||
0x8C200F45, // 015B GETMET R8 R7 K69
|
||||
0x7C200200, // 015C CALL R8 1
|
||||
0x501C0000, // 015D LDBOOL R7 0 0
|
||||
0x80040E00, // 015E RET 1 R7
|
||||
0x70020000, // 015F JMP #0161
|
||||
0xB0080000, // 0160 RAISE 2 R0 R0
|
||||
0x80000000, // 0161 RET 0
|
||||
0x4C200000, // 00AF LDNIL R8
|
||||
0x1C200E08, // 00B0 EQ R8 R7 R8
|
||||
0x78220009, // 00B1 JMPF R8 #00BC
|
||||
0xB8222C00, // 00B2 GETNGBL R8 K22
|
||||
0x60240008, // 00B3 GETGBL R9 G8
|
||||
0x88280B0A, // 00B4 GETMBR R10 R5 K10
|
||||
0x7C240200, // 00B5 CALL R9 1
|
||||
0x00265609, // 00B6 ADD R9 K43 R9
|
||||
0x5828001F, // 00B7 LDCONST R10 K31
|
||||
0x7C200400, // 00B8 CALL R8 2
|
||||
0x50200000, // 00B9 LDBOOL R8 0 0
|
||||
0xA8040001, // 00BA EXBLK 1 1
|
||||
0x80041000, // 00BB RET 1 R8
|
||||
0x780A0000, // 00BC JMPF R2 #00BE
|
||||
0x901E1A02, // 00BD SETMBR R7 K13 R2
|
||||
0x780E0000, // 00BE JMPF R3 #00C0
|
||||
0x901E1C03, // 00BF SETMBR R7 K14 R3
|
||||
0x901E1E00, // 00C0 SETMBR R7 K15 R0
|
||||
0x90162007, // 00C1 SETMBR R5 K16 R7
|
||||
0x8C200F2C, // 00C2 GETMET R8 R7 K44
|
||||
0x88280B13, // 00C3 GETMBR R10 R5 K19
|
||||
0x502C0200, // 00C4 LDBOOL R11 1 0
|
||||
0x7C200600, // 00C5 CALL R8 3
|
||||
0x74220017, // 00C6 JMPT R8 #00DF
|
||||
0xB8222800, // 00C7 GETNGBL R8 K20
|
||||
0x8C201115, // 00C8 GETMET R8 R8 K21
|
||||
0x5828001F, // 00C9 LDCONST R10 K31
|
||||
0x7C200400, // 00CA CALL R8 2
|
||||
0x7822000B, // 00CB JMPF R8 #00D8
|
||||
0xB8222C00, // 00CC GETNGBL R8 K22
|
||||
0x60240008, // 00CD GETGBL R9 G8
|
||||
0x88280B13, // 00CE GETMBR R10 R5 K19
|
||||
0x7C240200, // 00CF CALL R9 1
|
||||
0x00265A09, // 00D0 ADD R9 K45 R9
|
||||
0x0024132E, // 00D1 ADD R9 R9 K46
|
||||
0x60280008, // 00D2 GETGBL R10 G8
|
||||
0x882C0F2F, // 00D3 GETMBR R11 R7 K47
|
||||
0x7C280200, // 00D4 CALL R10 1
|
||||
0x0024120A, // 00D5 ADD R9 R9 R10
|
||||
0x5828001F, // 00D6 LDCONST R10 K31
|
||||
0x7C200400, // 00D7 CALL R8 2
|
||||
0x8C200130, // 00D8 GETMET R8 R0 K48
|
||||
0x5C280A00, // 00D9 MOVE R10 R5
|
||||
0x502C0000, // 00DA LDBOOL R11 0 0
|
||||
0x7C200600, // 00DB CALL R8 3
|
||||
0x50200000, // 00DC LDBOOL R8 0 0
|
||||
0xA8040001, // 00DD EXBLK 1 1
|
||||
0x80041000, // 00DE RET 1 R8
|
||||
0x8C200B31, // 00DF GETMET R8 R5 K49
|
||||
0x7C200200, // 00E0 CALL R8 1
|
||||
0x5C241000, // 00E1 MOVE R9 R8
|
||||
0x74260002, // 00E2 JMPT R9 #00E6
|
||||
0x50240000, // 00E3 LDBOOL R9 0 0
|
||||
0xA8040001, // 00E4 EXBLK 1 1
|
||||
0x80041200, // 00E5 RET 1 R9
|
||||
0x8C240B1A, // 00E6 GETMET R9 R5 K26
|
||||
0x7C240200, // 00E7 CALL R9 1
|
||||
0xB8262800, // 00E8 GETNGBL R9 K20
|
||||
0x8C241315, // 00E9 GETMET R9 R9 K21
|
||||
0x542E0003, // 00EA LDINT R11 4
|
||||
0x7C240400, // 00EB CALL R9 2
|
||||
0x78260012, // 00EC JMPF R9 #0100
|
||||
0xB8262C00, // 00ED GETNGBL R9 K22
|
||||
0x60280008, // 00EE GETGBL R10 G8
|
||||
0x882C0B33, // 00EF GETMBR R11 R5 K51
|
||||
0x7C280200, // 00F0 CALL R10 1
|
||||
0x002A640A, // 00F1 ADD R10 K50 R10
|
||||
0x00281534, // 00F2 ADD R10 R10 K52
|
||||
0x602C0008, // 00F3 GETGBL R11 G8
|
||||
0x88300B1C, // 00F4 GETMBR R12 R5 K28
|
||||
0x7C2C0200, // 00F5 CALL R11 1
|
||||
0x0028140B, // 00F6 ADD R10 R10 R11
|
||||
0x00281535, // 00F7 ADD R10 R10 K53
|
||||
0x602C0008, // 00F8 GETGBL R11 G8
|
||||
0x88300B25, // 00F9 GETMBR R12 R5 K37
|
||||
0x5436FFFE, // 00FA LDINT R13 65535
|
||||
0x2C30180D, // 00FB AND R12 R12 R13
|
||||
0x7C2C0200, // 00FC CALL R11 1
|
||||
0x0028140B, // 00FD ADD R10 R10 R11
|
||||
0x542E0003, // 00FE LDINT R11 4
|
||||
0x7C240400, // 00FF CALL R9 2
|
||||
0x88240104, // 0100 GETMBR R9 R0 K4
|
||||
0x8C24131B, // 0101 GETMET R9 R9 K27
|
||||
0x5C2C0A00, // 0102 MOVE R11 R5
|
||||
0x7C240400, // 0103 CALL R9 2
|
||||
0x88240B33, // 0104 GETMBR R9 R5 K51
|
||||
0x1C28130B, // 0105 EQ R10 R9 K11
|
||||
0x782A000F, // 0106 JMPF R10 #0117
|
||||
0x88280B1C, // 0107 GETMBR R10 R5 K28
|
||||
0x542E000F, // 0108 LDINT R11 16
|
||||
0x1C28140B, // 0109 EQ R10 R10 R11
|
||||
0x782A0009, // 010A JMPF R10 #0115
|
||||
0x88280136, // 010B GETMBR R10 R0 K54
|
||||
0x8C281537, // 010C GETMET R10 R10 K55
|
||||
0x5C300A00, // 010D MOVE R12 R5
|
||||
0x7C280400, // 010E CALL R10 2
|
||||
0x5C101400, // 010F MOVE R4 R10
|
||||
0x78120003, // 0110 JMPF R4 #0115
|
||||
0x88280136, // 0111 GETMBR R10 R0 K54
|
||||
0x8C281538, // 0112 GETMET R10 R10 K56
|
||||
0x5C300000, // 0113 MOVE R12 R0
|
||||
0x7C280400, // 0114 CALL R10 2
|
||||
0x50100200, // 0115 LDBOOL R4 1 0
|
||||
0x70020019, // 0116 JMP #0131
|
||||
0x1C281339, // 0117 EQ R10 R9 K57
|
||||
0x782A0010, // 0118 JMPF R10 #012A
|
||||
0x88280136, // 0119 GETMBR R10 R0 K54
|
||||
0x8C281528, // 011A GETMET R10 R10 K40
|
||||
0x5C300A00, // 011B MOVE R12 R5
|
||||
0x7C280400, // 011C CALL R10 2
|
||||
0x5C101400, // 011D MOVE R4 R10
|
||||
0x78120004, // 011E JMPF R4 #0124
|
||||
0x88280136, // 011F GETMBR R10 R0 K54
|
||||
0x8C281538, // 0120 GETMET R10 R10 K56
|
||||
0x5C300000, // 0121 MOVE R12 R0
|
||||
0x7C280400, // 0122 CALL R10 2
|
||||
0x70020003, // 0123 JMP #0128
|
||||
0x8C280130, // 0124 GETMET R10 R0 K48
|
||||
0x5C300A00, // 0125 MOVE R12 R5
|
||||
0x50340200, // 0126 LDBOOL R13 1 0
|
||||
0x7C280600, // 0127 CALL R10 3
|
||||
0x50100200, // 0128 LDBOOL R4 1 0
|
||||
0x70020006, // 0129 JMP #0131
|
||||
0xB82A2C00, // 012A GETNGBL R10 K22
|
||||
0x602C0008, // 012B GETGBL R11 G8
|
||||
0x5C301200, // 012C MOVE R12 R9
|
||||
0x7C2C0200, // 012D CALL R11 1
|
||||
0x002E740B, // 012E ADD R11 K58 R11
|
||||
0x5830001F, // 012F LDCONST R12 K31
|
||||
0x7C280400, // 0130 CALL R10 2
|
||||
0xA8040001, // 0131 EXBLK 1 1
|
||||
0x80040800, // 0132 RET 1 R4
|
||||
0xA8040001, // 0133 EXBLK 1 1
|
||||
0x70020017, // 0134 JMP #014D
|
||||
0xAC140002, // 0135 CATCH R5 0 2
|
||||
0x70020014, // 0136 JMP #014C
|
||||
0xB81E2C00, // 0137 GETNGBL R7 K22
|
||||
0x60200008, // 0138 GETGBL R8 G8
|
||||
0x5C240A00, // 0139 MOVE R9 R5
|
||||
0x7C200200, // 013A CALL R8 1
|
||||
0x00227608, // 013B ADD R8 K59 R8
|
||||
0x0020113C, // 013C ADD R8 R8 K60
|
||||
0x60240008, // 013D GETGBL R9 G8
|
||||
0x5C280C00, // 013E MOVE R10 R6
|
||||
0x7C240200, // 013F CALL R9 1
|
||||
0x00201009, // 0140 ADD R8 R8 R9
|
||||
0x5824003D, // 0141 LDCONST R9 K61
|
||||
0x7C1C0400, // 0142 CALL R7 2
|
||||
0xB81E2800, // 0143 GETNGBL R7 K20
|
||||
0x881C0F3E, // 0144 GETMBR R7 R7 K62
|
||||
0x781E0002, // 0145 JMPF R7 #0149
|
||||
0xA41E7E00, // 0146 IMPORT R7 K63
|
||||
0x8C200F40, // 0147 GETMET R8 R7 K64
|
||||
0x7C200200, // 0148 CALL R8 1
|
||||
0x501C0000, // 0149 LDBOOL R7 0 0
|
||||
0x80040E00, // 014A RET 1 R7
|
||||
0x70020000, // 014B JMP #014D
|
||||
0xB0080000, // 014C RAISE 2 R0 R0
|
||||
0x80000000, // 014D RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -596,27 +571,18 @@ be_local_closure(class_Matter_MessageHandler_send_response_frame, /* name */
|
|||
0, /* has sup protos */
|
||||
&be_class_Matter_MessageHandler,
|
||||
1, /* has constants */
|
||||
( &(const bvalue[ 6]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* 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(device),
|
||||
/* K5 */ be_nested_str_weak(msg_send),
|
||||
( &(const bvalue[ 2]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(device),
|
||||
/* K1 */ be_nested_str_weak(msg_send),
|
||||
}),
|
||||
be_str_weak(send_response_frame),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[10]) { /* code */
|
||||
0xB80A0000, // 0000 GETNGBL R2 K0
|
||||
0x88080501, // 0001 GETMBR R2 R2 K1
|
||||
0x8C080502, // 0002 GETMET R2 R2 K2
|
||||
0x58100003, // 0003 LDCONST R4 K3
|
||||
0x7C080400, // 0004 CALL R2 2
|
||||
0x88080104, // 0005 GETMBR R2 R0 K4
|
||||
0x8C080505, // 0006 GETMET R2 R2 K5
|
||||
0x5C100200, // 0007 MOVE R4 R1
|
||||
0x7C080400, // 0008 CALL R2 2
|
||||
0x80000000, // 0009 RET 0
|
||||
( &(const binstruction[ 5]) { /* 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
|
||||
})
|
||||
)
|
||||
);
|
||||
|
|
|
@ -100,7 +100,7 @@ be_local_closure(class_Matter_Plugin_Root_read_attribute, /* name */
|
|||
/* K76 */ be_nested_str_weak(commissioning_admin_fabric),
|
||||
/* K77 */ be_nested_str_weak(set_or_nil),
|
||||
/* K78 */ be_nested_str_weak(Tasmota),
|
||||
/* K79 */ be_nested_str_weak(vendorid),
|
||||
/* K79 */ be_nested_str_weak(VENDOR_ID),
|
||||
/* K80 */ be_nested_str_weak(DeviceName),
|
||||
/* K81 */ be_nested_str_weak(FriendlyName),
|
||||
/* K82 */ be_nested_str_weak(FriendlyName1),
|
||||
|
|
|
@ -730,7 +730,7 @@ be_local_closure(class_Matter_UDPServer_loop, /* name */
|
|||
0, /* has sup protos */
|
||||
&be_class_Matter_UDPServer,
|
||||
1, /* has constants */
|
||||
( &(const bvalue[20]) { /* constants */
|
||||
( &(const bvalue[19]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(matter),
|
||||
/* K1 */ be_nested_str_weak(profiler),
|
||||
/* K2 */ be_const_int(0),
|
||||
|
@ -746,15 +746,14 @@ be_local_closure(class_Matter_UDPServer_loop, /* name */
|
|||
/* K12 */ be_nested_str_weak(log),
|
||||
/* K13 */ be_nested_str_weak(MTR_X3A_X20UDP_X20received_X20from_X20_X5B_X25s_X5D_X3A_X25i),
|
||||
/* K14 */ be_nested_str_weak(dispatch_cb),
|
||||
/* K15 */ be_nested_str_weak(udp_loop_dispatch),
|
||||
/* K16 */ be_nested_str_weak(dump),
|
||||
/* K17 */ be_const_int(2),
|
||||
/* K18 */ be_nested_str_weak(MAX_PACKETS_READ),
|
||||
/* K19 */ be_nested_str_weak(_resend_packets),
|
||||
/* K15 */ be_nested_str_weak(dump),
|
||||
/* K16 */ be_const_int(2),
|
||||
/* K17 */ be_nested_str_weak(MAX_PACKETS_READ),
|
||||
/* K18 */ be_nested_str_weak(_resend_packets),
|
||||
}),
|
||||
be_str_weak(loop),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[62]) { /* code */
|
||||
( &(const binstruction[59]) { /* code */
|
||||
0xB8060000, // 0000 GETNGBL R1 K0
|
||||
0x88040301, // 0001 GETMBR R1 R1 K1
|
||||
0x58080002, // 0002 LDCONST R2 K2
|
||||
|
@ -769,7 +768,7 @@ be_local_closure(class_Matter_UDPServer_loop, /* name */
|
|||
0x7C0C0400, // 000B CALL R3 2
|
||||
0x4C100000, // 000C LDNIL R4
|
||||
0x20100604, // 000D NE R4 R3 R4
|
||||
0x7812002B, // 000E JMPF R4 #003B
|
||||
0x78120028, // 000E JMPF R4 #0038
|
||||
0x8C100306, // 000F GETMET R4 R1 K6
|
||||
0x7C100200, // 0010 CALL R4 1
|
||||
0x90020A03, // 0011 SETMBR R0 K5 R3
|
||||
|
@ -792,31 +791,28 @@ be_local_closure(class_Matter_UDPServer_loop, /* name */
|
|||
0x54220003, // 0022 LDINT R8 4
|
||||
0x7C180400, // 0023 CALL R6 2
|
||||
0x8818010E, // 0024 GETMBR R6 R0 K14
|
||||
0x781A0007, // 0025 JMPF R6 #002E
|
||||
0x8C18030C, // 0026 GETMET R6 R1 K12
|
||||
0x5820000F, // 0027 LDCONST R8 K15
|
||||
0x7C180400, // 0028 CALL R6 2
|
||||
0x8C18010E, // 0029 GETMET R6 R0 K14
|
||||
0x5C200600, // 002A MOVE R8 R3
|
||||
0x5C240800, // 002B MOVE R9 R4
|
||||
0x5C280A00, // 002C MOVE R10 R5
|
||||
0x7C180800, // 002D CALL R6 4
|
||||
0x8C180310, // 002E GETMET R6 R1 K16
|
||||
0x58200011, // 002F LDCONST R8 K17
|
||||
0x7C180400, // 0030 CALL R6 2
|
||||
0x88180112, // 0031 GETMBR R6 R0 K18
|
||||
0x14180406, // 0032 LT R6 R2 R6
|
||||
0x781A0004, // 0033 JMPF R6 #0039
|
||||
0x88180103, // 0034 GETMBR R6 R0 K3
|
||||
0x8C180D04, // 0035 GETMET R6 R6 K4
|
||||
0x7C180200, // 0036 CALL R6 1
|
||||
0x5C0C0C00, // 0037 MOVE R3 R6
|
||||
0x70020000, // 0038 JMP #003A
|
||||
0x4C0C0000, // 0039 LDNIL R3
|
||||
0x7001FFD0, // 003A JMP #000C
|
||||
0x8C100113, // 003B GETMET R4 R0 K19
|
||||
0x7C100200, // 003C CALL R4 1
|
||||
0x80000000, // 003D RET 0
|
||||
0x781A0004, // 0025 JMPF R6 #002B
|
||||
0x8C18010E, // 0026 GETMET R6 R0 K14
|
||||
0x5C200600, // 0027 MOVE R8 R3
|
||||
0x5C240800, // 0028 MOVE R9 R4
|
||||
0x5C280A00, // 0029 MOVE R10 R5
|
||||
0x7C180800, // 002A CALL R6 4
|
||||
0x8C18030F, // 002B GETMET R6 R1 K15
|
||||
0x58200010, // 002C LDCONST R8 K16
|
||||
0x7C180400, // 002D CALL R6 2
|
||||
0x88180111, // 002E GETMBR R6 R0 K17
|
||||
0x14180406, // 002F LT R6 R2 R6
|
||||
0x781A0004, // 0030 JMPF R6 #0036
|
||||
0x88180103, // 0031 GETMBR R6 R0 K3
|
||||
0x8C180D04, // 0032 GETMET R6 R6 K4
|
||||
0x7C180200, // 0033 CALL R6 1
|
||||
0x5C0C0C00, // 0034 MOVE R3 R6
|
||||
0x70020000, // 0035 JMP #0037
|
||||
0x4C0C0000, // 0036 LDNIL R3
|
||||
0x7001FFD3, // 0037 JMP #000C
|
||||
0x8C100112, // 0038 GETMET R4 R0 K18
|
||||
0x7C100200, // 0039 CALL R4 1
|
||||
0x80000000, // 003A RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue