mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-14 14:26:32 +00:00
Matter reduce logging (#18420)
This commit is contained in:
parent
35c3a62e9d
commit
21c3812826
@ -9,6 +9,7 @@ All notable changes to this project will be documented in this file.
|
||||
- ESP32 WIP support for 16 shutters using `#define USE_SHUTTER_ESP32` in addition to `USE_SHUTTER` by Stefan Bode (#18295)
|
||||
- Berry `webserver.html_escape()` reusing the internal HTML escaping function
|
||||
- Support for GDK101 gamma radiation sensor by Petr Novacek (#18390)
|
||||
- Matter support in now stabilized for Apple and Google (not tested with Alexa)
|
||||
|
||||
### Breaking Changed
|
||||
|
||||
|
@ -59,7 +59,7 @@ class Matter_Commisioning_Context
|
||||
return false
|
||||
end
|
||||
|
||||
tasmota.log("MTR: received message " + matter.inspect(msg), 3)
|
||||
# tasmota.log("MTR: received message " + matter.inspect(msg), 3)
|
||||
if msg.opcode == 0x10
|
||||
# don't need to do anything, the message is acked already before this call
|
||||
elif msg.opcode == 0x20
|
||||
@ -144,9 +144,9 @@ class Matter_Commisioning_Context
|
||||
pbkdfparamresp.responderSessionId = session.__future_local_session_id
|
||||
pbkdfparamresp.pbkdf_parameters_salt = self.device.commissioning_salt
|
||||
pbkdfparamresp.pbkdf_parameters_iterations = self.device.commissioning_iterations
|
||||
tasmota.log("MTR: pbkdfparamresp: " + str(matter.inspect(pbkdfparamresp)), 4)
|
||||
# tasmota.log("MTR: pbkdfparamresp: " + str(matter.inspect(pbkdfparamresp)), 4)
|
||||
var pbkdfparamresp_raw = pbkdfparamresp.tlv2raw()
|
||||
tasmota.log("MTR: pbkdfparamresp_raw: " + pbkdfparamresp_raw.tohex(), 4)
|
||||
# tasmota.log("MTR: pbkdfparamresp_raw: " + pbkdfparamresp_raw.tohex(), 4)
|
||||
|
||||
session.__Msg2 = pbkdfparamresp_raw
|
||||
|
||||
@ -319,7 +319,7 @@ class Matter_Commisioning_Context
|
||||
return false
|
||||
end
|
||||
var sigma1 = matter.Sigma1().parse(msg.raw, msg.app_payload_idx)
|
||||
tasmota.log(string.format("MTR: sigma1=%s", matter.inspect(sigma1)), 4)
|
||||
# tasmota.log(string.format("MTR: sigma1=%s", matter.inspect(sigma1)), 4)
|
||||
|
||||
session.__initiator_pub = sigma1.initiatorEphPubKey
|
||||
|
||||
@ -455,20 +455,20 @@ class Matter_Commisioning_Context
|
||||
session.__future_local_session_id = self.device.sessions.gen_local_session_id()
|
||||
tasmota.log(string.format("MTR: +Session (%6i) from '[%s]:%i'", session.__future_local_session_id, msg.remote_ip, msg.remote_port), 2)
|
||||
|
||||
tasmota.log("MTR: fabric="+matter.inspect(session._fabric), 4)
|
||||
tasmota.log("MTR: no_private_key="+session._fabric.no_private_key.tohex(), 4)
|
||||
tasmota.log("MTR: noc ="+session._fabric.noc.tohex(), 4)
|
||||
# tasmota.log("MTR: fabric="+matter.inspect(session._fabric), 4)
|
||||
# tasmota.log("MTR: no_private_key="+session._fabric.no_private_key.tohex(), 4)
|
||||
# tasmota.log("MTR: noc ="+session._fabric.noc.tohex(), 4)
|
||||
if session._fabric.get_icac()
|
||||
tasmota.log("MTR: icac ="+session._fabric.get_icac().tohex(), 4)
|
||||
# tasmota.log("MTR: icac ="+session._fabric.get_icac().tohex(), 4)
|
||||
end
|
||||
tasmota.log("MTR: root_ca_cert ="+session._fabric.root_ca_certificate.tohex(), 4)
|
||||
# tasmota.log("MTR: root_ca_cert ="+session._fabric.root_ca_certificate.tohex(), 4)
|
||||
|
||||
# Compute Sigma2, p.162
|
||||
session.resumption_id = crypto.random(16)
|
||||
session.__responder_priv = crypto.random(32)
|
||||
session.__responder_pub = crypto.EC_P256().public_key(session.__responder_priv)
|
||||
tasmota.log("MTR: ResponderEph_priv ="+session.__responder_priv.tohex(), 4)
|
||||
tasmota.log("MTR: ResponderEph_pub ="+session.__responder_pub.tohex(), 4)
|
||||
# tasmota.log("MTR: ResponderEph_priv ="+session.__responder_priv.tohex(), 4)
|
||||
# tasmota.log("MTR: ResponderEph_pub ="+session.__responder_pub.tohex(), 4)
|
||||
var responderRandom = crypto.random(32)
|
||||
|
||||
session.shared_secret = crypto.EC_P256().shared_key(session.__responder_priv, sigma1.initiatorEphPubKey)
|
||||
@ -488,40 +488,40 @@ class Matter_Commisioning_Context
|
||||
sigma2_tbedata.add_TLV(4, matter.TLV.B2, session.resumption_id)
|
||||
|
||||
# compute TranscriptHash = Crypto_Hash(message = Msg1)
|
||||
tasmota.log("****************************************", 4)
|
||||
# tasmota.log("****************************************", 4)
|
||||
session.__Msg1 = sigma1.Msg1
|
||||
tasmota.log("MTR: * resumptionid = " + session.resumption_id.tohex(), 4)
|
||||
tasmota.log("MTR: * MSG1 = " + session.__Msg1.tohex(), 4)
|
||||
# tasmota.log("MTR: * resumptionid = " + session.resumption_id.tohex(), 4)
|
||||
# tasmota.log("MTR: * MSG1 = " + session.__Msg1.tohex(), 4)
|
||||
var TranscriptHash = crypto.SHA256().update(session.__Msg1).out()
|
||||
tasmota.log("MTR: TranscriptHash =" + TranscriptHash.tohex(), 4)
|
||||
# tasmota.log("MTR: TranscriptHash =" + TranscriptHash.tohex(), 4)
|
||||
|
||||
# Compute S2K, p.175
|
||||
var s2k_info = bytes().fromstring(self.S2K_Info)
|
||||
var s2k_salt = session.get_ipk_group_key() + responderRandom + session.__responder_pub + TranscriptHash
|
||||
|
||||
var s2k = crypto.HKDF_SHA256().derive(session.shared_secret, s2k_salt, s2k_info, 16)
|
||||
tasmota.log("MTR: * SharedSecret = " + session.shared_secret.tohex(), 4)
|
||||
tasmota.log("MTR: * s2k_salt = " + s2k_salt.tohex(), 4)
|
||||
tasmota.log("MTR: * s2k = " + s2k.tohex(), 4)
|
||||
# tasmota.log("MTR: * SharedSecret = " + session.shared_secret.tohex(), 4)
|
||||
# tasmota.log("MTR: * s2k_salt = " + s2k_salt.tohex(), 4)
|
||||
# tasmota.log("MTR: * s2k = " + s2k.tohex(), 4)
|
||||
|
||||
var sigma2_tbedata_raw = sigma2_tbedata.tlv2raw()
|
||||
tasmota.log("MTR: * TBEData2Raw = " + sigma2_tbedata_raw.tohex(), 4)
|
||||
# tasmota.log("MTR: * TBEData2Raw = " + sigma2_tbedata_raw.tohex(), 4)
|
||||
# // `AES_CCM.init(secret_key:bytes(16 or 32), iv:bytes(7..13), aad:bytes(), data_len:int, tag_len:int) -> instance`
|
||||
|
||||
var aes = crypto.AES_CCM(s2k, bytes().fromstring(self.TBEData2_Nonce), bytes(), size(sigma2_tbedata_raw), 16)
|
||||
var TBEData2Encrypted = aes.encrypt(sigma2_tbedata_raw) + aes.tag()
|
||||
tasmota.log("MTR: * TBEData2Enc = " + TBEData2Encrypted.tohex(), 4)
|
||||
tasmota.log("****************************************", 4)
|
||||
# tasmota.log("MTR: * TBEData2Enc = " + TBEData2Encrypted.tohex(), 4)
|
||||
# tasmota.log("****************************************", 4)
|
||||
|
||||
var sigma2 = matter.Sigma2()
|
||||
sigma2.responderRandom = responderRandom
|
||||
sigma2.responderSessionId = session.__future_local_session_id
|
||||
sigma2.responderEphPubKey = session.__responder_pub
|
||||
sigma2.encrypted2 = TBEData2Encrypted
|
||||
tasmota.log("MTR: sigma2: " + matter.inspect(sigma2), 4)
|
||||
# tasmota.log("MTR: sigma2: " + matter.inspect(sigma2), 4)
|
||||
var sigma2_raw = sigma2.tlv2raw()
|
||||
session.__Msg2 = sigma2_raw
|
||||
tasmota.log("MTR: sigma2_raw: " + sigma2_raw.tohex(), 4)
|
||||
# tasmota.log("MTR: sigma2_raw: " + sigma2_raw.tohex(), 4)
|
||||
|
||||
# now package the response message
|
||||
var resp = msg.build_response(0x31 #-sigma-2-#, true) # no reliable flag
|
||||
@ -545,22 +545,22 @@ class Matter_Commisioning_Context
|
||||
var session = msg.session
|
||||
var sigma3 = matter.Sigma3().parse(msg.raw, msg.app_payload_idx)
|
||||
|
||||
tasmota.log("****************************************", 4)
|
||||
# tasmota.log("****************************************", 4)
|
||||
# compute TranscriptHash = Crypto_Hash(message = Msg1 || Msg2)
|
||||
var TranscriptHash = crypto.SHA256().update(session.__Msg1).update(session.__Msg2).out()
|
||||
tasmota.log("MTR: * session = " + str(session), 4)
|
||||
tasmota.log("MTR: .ipk_epoch_key=" + str(session.get_ipk_epoch_key()), 4)
|
||||
tasmota.log("MTR: .fabric_compr = " + str(session.get_fabric_compressed()), 4)
|
||||
tasmota.log("MTR: * ipk_group_key = " + session.get_ipk_group_key().tohex(), 4)
|
||||
tasmota.log("MTR: * TranscriptHash= " + TranscriptHash.tohex(), 4)
|
||||
# tasmota.log("MTR: * session = " + str(session), 4)
|
||||
# tasmota.log("MTR: .ipk_epoch_key=" + str(session.get_ipk_epoch_key()), 4)
|
||||
# tasmota.log("MTR: .fabric_compr = " + str(session.get_fabric_compressed()), 4)
|
||||
# tasmota.log("MTR: * ipk_group_key = " + session.get_ipk_group_key().tohex(), 4)
|
||||
# tasmota.log("MTR: * TranscriptHash= " + TranscriptHash.tohex(), 4)
|
||||
|
||||
var s3k_info = bytes().fromstring(self.S3K_Info)
|
||||
var s3k = crypto.HKDF_SHA256().derive(session.shared_secret, session.get_ipk_group_key() + TranscriptHash, s3k_info, 16)
|
||||
|
||||
tasmota.log("****************************************", 4)
|
||||
tasmota.log("MTR: * s3k_salt = " + (session.get_ipk_group_key() + TranscriptHash).tohex(), 4)
|
||||
tasmota.log("MTR: * s3k = " + s3k.tohex(), 4)
|
||||
tasmota.log("****************************************", 4)
|
||||
# tasmota.log("****************************************", 4)
|
||||
# tasmota.log("MTR: * s3k_salt = " + (session.get_ipk_group_key() + TranscriptHash).tohex(), 4)
|
||||
# tasmota.log("MTR: * s3k = " + s3k.tohex(), 4)
|
||||
# tasmota.log("****************************************", 4)
|
||||
|
||||
# decrypt
|
||||
var encrypted = sigma3.TBEData3Encrypted[0..-17]
|
||||
@ -568,10 +568,10 @@ class Matter_Commisioning_Context
|
||||
var ec = crypto.AES_CCM(s3k, bytes().fromstring(self.TBEData3_Nonce), bytes(), size(encrypted), 16)
|
||||
var TBEData3 = ec.decrypt(encrypted)
|
||||
var TBETag3 = ec.tag()
|
||||
tasmota.log("MTR: * TBEData3 = " + TBEData3.tohex(), 4)
|
||||
tasmota.log("MTR: * TBETag3 = " + TBETag3.tohex(), 4)
|
||||
tasmota.log("MTR: * tag_sent = " + tag.tohex(), 4)
|
||||
tasmota.log("****************************************", 4)
|
||||
# tasmota.log("MTR: * TBEData3 = " + TBEData3.tohex(), 4)
|
||||
# tasmota.log("MTR: * TBETag3 = " + TBETag3.tohex(), 4)
|
||||
# tasmota.log("MTR: * tag_sent = " + tag.tohex(), 4)
|
||||
# tasmota.log("****************************************", 4)
|
||||
|
||||
if TBETag3 != tag
|
||||
tasmota.log("MTR: Tag don't match", 2)
|
||||
@ -585,9 +585,9 @@ class Matter_Commisioning_Context
|
||||
var initiatorNOC = TBEData3TLV.findsubval(1)
|
||||
var initiatorICAC = TBEData3TLV.findsubval(2)
|
||||
var ec_signature = TBEData3TLV.findsubval(3)
|
||||
tasmota.log("MTR: * initiatorNOC = " + str(initiatorNOC), 4)
|
||||
tasmota.log("MTR: * initiatorICAC = " + str(initiatorICAC), 4)
|
||||
tasmota.log("MTR: * ec_signature = " + str(ec_signature), 4)
|
||||
# tasmota.log("MTR: * initiatorNOC = " + str(initiatorNOC), 4)
|
||||
# tasmota.log("MTR: * initiatorICAC = " + str(initiatorICAC), 4)
|
||||
# tasmota.log("MTR: * ec_signature = " + str(ec_signature), 4)
|
||||
# Success = Crypto_VerifyChain(certificates = [TBEData3.initiatorNOC, TBEData3.initiatorICAC, TrustedRCAC]), when TBEData3.initiatorICAC is present
|
||||
# TODO
|
||||
var initiatorNOCTLV = matter.TLV.parse(initiatorNOC)
|
||||
@ -603,13 +603,13 @@ class Matter_Commisioning_Context
|
||||
sigma3_tbs.add_TLV(2, matter.TLV.B1, initiatorICAC)
|
||||
sigma3_tbs.add_TLV(3, matter.TLV.B1, session.__initiator_pub)
|
||||
sigma3_tbs.add_TLV(4, matter.TLV.B1, session.__responder_pub)
|
||||
tasmota.log("MTR: * sigma3_tbs = " + str(sigma3_tbs), 4)
|
||||
# tasmota.log("MTR: * sigma3_tbs = " + str(sigma3_tbs), 4)
|
||||
var sigma3_tbs_raw = sigma3_tbs.tlv2raw()
|
||||
tasmota.log("MTR: * sigma3_tbs_raw= " + sigma3_tbs_raw.tohex(), 4)
|
||||
# tasmota.log("MTR: * sigma3_tbs_raw= " + sigma3_tbs_raw.tohex(), 4)
|
||||
|
||||
tasmota.log("MTR: * initiatorNOCPubKey= " + initiatorNOCPubKey.tohex(), 4)
|
||||
tasmota.log("MTR: * ec_signature = " + ec_signature.tohex(), 4)
|
||||
tasmota.log("****************************************", 4)
|
||||
# tasmota.log("MTR: * initiatorNOCPubKey= " + initiatorNOCPubKey.tohex(), 4)
|
||||
# tasmota.log("MTR: * ec_signature = " + ec_signature.tohex(), 4)
|
||||
# tasmota.log("****************************************", 4)
|
||||
|
||||
# `crypto.EC_P256().ecdsa_verify_sha256(public_key:bytes(65), message:bytes(), hash:bytes()) -> bool`
|
||||
var sigma3_tbs_valid = crypto.EC_P256().ecdsa_verify_sha256(initiatorNOCPubKey, sigma3_tbs_raw, ec_signature)
|
||||
@ -625,17 +625,17 @@ class Matter_Commisioning_Context
|
||||
tasmota.log("MTR: Sigma3 verified, computing new keys", 3)
|
||||
|
||||
TranscriptHash = crypto.SHA256().update(session.__Msg1).update(session.__Msg2).update(sigma3.Msg3).out()
|
||||
tasmota.log("MTR: * __Msg1 = " + session.__Msg1.tohex(), 4)
|
||||
tasmota.log("MTR: * __Msg2 = " + session.__Msg2.tohex(), 4)
|
||||
tasmota.log("MTR: * __Msg3 = " + sigma3.Msg3.tohex(), 4)
|
||||
tasmota.log("MTR: * TranscriptHash = " + TranscriptHash.tohex(), 4)
|
||||
# tasmota.log("MTR: * __Msg1 = " + session.__Msg1.tohex(), 4)
|
||||
# tasmota.log("MTR: * __Msg2 = " + session.__Msg2.tohex(), 4)
|
||||
# tasmota.log("MTR: * __Msg3 = " + sigma3.Msg3.tohex(), 4)
|
||||
# tasmota.log("MTR: * TranscriptHash = " + TranscriptHash.tohex(), 4)
|
||||
# we can now free __Msg1 and __Msg2
|
||||
session.__Msg1 = nil
|
||||
session.__Msg2 = nil
|
||||
|
||||
tasmota.log("MTR: ******************************", 4)
|
||||
tasmota.log("MTR: shared_secret =" + session.shared_secret.tohex(), 4)
|
||||
tasmota.log("MTR: ipk + hash =" + (session.get_ipk_group_key() + TranscriptHash).tohex(), 4)
|
||||
# tasmota.log("MTR: ******************************", 4)
|
||||
# tasmota.log("MTR: shared_secret =" + session.shared_secret.tohex(), 4)
|
||||
# tasmota.log("MTR: ipk + hash =" + (session.get_ipk_group_key() + TranscriptHash).tohex(), 4)
|
||||
# compute session key
|
||||
var session_keys = crypto.HKDF_SHA256().derive(session.shared_secret #- input key -#,
|
||||
session.get_ipk_group_key() + TranscriptHash #- salt -#,
|
||||
@ -646,11 +646,11 @@ class Matter_Commisioning_Context
|
||||
var ac = session_keys[32..47]
|
||||
var created = tasmota.rtc()['utc']
|
||||
|
||||
tasmota.log("MTR: ******************************", 4)
|
||||
tasmota.log("MTR: I2RKey =" + i2r.tohex(), 4)
|
||||
tasmota.log("MTR: R2IKey =" + r2i.tohex(), 4)
|
||||
tasmota.log("MTR: AC =" + ac.tohex(), 4)
|
||||
tasmota.log("MTR: ******************************", 4)
|
||||
# tasmota.log("MTR: ******************************", 4)
|
||||
# tasmota.log("MTR: I2RKey =" + i2r.tohex(), 4)
|
||||
# tasmota.log("MTR: R2IKey =" + r2i.tohex(), 4)
|
||||
# tasmota.log("MTR: AC =" + ac.tohex(), 4)
|
||||
# tasmota.log("MTR: ******************************", 4)
|
||||
|
||||
# StatusReport(GeneralCode: SUCCESS, ProtocolId: SECURE_CHANNEL, ProtocolCode: SESSION_ESTABLISHMENT_SUCCESS)
|
||||
var raw = self.send_status_report(msg, 0x00, 0x0000, 0x0000, true)
|
||||
|
@ -98,7 +98,7 @@ class Matter_Pake1
|
||||
def parse(b, idx)
|
||||
if idx == nil idx = 0 end
|
||||
var val = matter.TLV.parse(b, idx)
|
||||
tasmota.log("MTR: parsed TLV: " + str(val), 4)
|
||||
# tasmota.log("MTR: parsed TLV: " + str(val), 4)
|
||||
|
||||
self.pA = val.getsubval(1)
|
||||
return self
|
||||
@ -130,7 +130,7 @@ class Matter_Pake3
|
||||
def parse(b, idx)
|
||||
if idx == nil idx = 0 end
|
||||
var val = matter.TLV.parse(b, idx)
|
||||
tasmota.log("MTR: parsed TLV: " + str(val), 4)
|
||||
# tasmota.log("MTR: parsed TLV: " + str(val), 4)
|
||||
|
||||
self.cA = val.getsubval(1)
|
||||
return self
|
||||
@ -157,7 +157,7 @@ class Matter_Sigma1
|
||||
if idx == nil idx = 0 end
|
||||
var val = matter.TLV.parse(b, idx)
|
||||
self.Msg1 = b[idx..]
|
||||
tasmota.log("MTR: Sigma1 TLV=" + str(val), 4)
|
||||
# tasmota.log("MTR: Sigma1 TLV=" + str(val), 4)
|
||||
|
||||
self.initiatorRandom = val.getsubval(1)
|
||||
self.initiator_session_id = val.getsubval(2)
|
||||
@ -240,7 +240,7 @@ class Matter_Sigma3
|
||||
if idx == nil idx = 0 end
|
||||
var val = matter.TLV.parse(b, idx)
|
||||
self.Msg3 = b[idx..]
|
||||
tasmota.log("MTR: Sigma3 TLV=" + str(val), 4)
|
||||
# tasmota.log("MTR: Sigma3 TLV=" + str(val), 4)
|
||||
|
||||
self.TBEData3Encrypted = val.getsubval(1)
|
||||
return self
|
||||
|
@ -497,13 +497,13 @@ class Matter_Device
|
||||
|
||||
var direct = (ctx.endpoint != nil) && (ctx.cluster != nil) && (ctx.attribute != nil) # true if the target is a precise attribute, false if it results from an expansion and error are ignored
|
||||
|
||||
tasmota.log(string.format("MTR: process_attribute_expansion %s", str(ctx)), 4)
|
||||
# tasmota.log(string.format("MTR: process_attribute_expansion %s", str(ctx)), 4)
|
||||
|
||||
# build the list of candidates
|
||||
|
||||
# list of all endpoints
|
||||
var all = {} # map of {endpoint: {cluster: {attributes:[pi]}}
|
||||
tasmota.log(string.format("MTR: endpoint=%s cluster=%s attribute=%s", endpoint, cluster, attribute), 4)
|
||||
# tasmota.log(string.format("MTR: endpoint=%s cluster=%s attribute=%s", endpoint, cluster, attribute), 4)
|
||||
for pi: self.plugins
|
||||
var ep = pi.get_endpoint() # get supported endpoints for this plugin
|
||||
|
||||
@ -514,7 +514,7 @@ class Matter_Device
|
||||
|
||||
# now explore the cluster list for 'ep'
|
||||
var cluster_list = pi.get_cluster_list(ep) # cluster_list is the actual list of candidate cluster for this pluging and endpoint
|
||||
tasmota.log(string.format("MTR: pi=%s ep=%s cl_list=%s", str(pi), str(ep), str(cluster_list)), 4)
|
||||
# tasmota.log(string.format("MTR: pi=%s ep=%s cl_list=%s", str(pi), str(ep), str(cluster_list)), 4)
|
||||
for cl: cluster_list
|
||||
if cluster != nil && cl != cluster continue end # skip if specific cluster and no match
|
||||
# from now on, 'cl' is a good candidate
|
||||
@ -523,7 +523,7 @@ class Matter_Device
|
||||
|
||||
# now filter on attributes
|
||||
var attr_list = pi.get_attribute_list(ep, cl)
|
||||
tasmota.log(string.format("MTR: pi=%s ep=%s cl=%s at_list=%s", str(pi), str(ep), str(cl), str(attr_list)), 4)
|
||||
# tasmota.log(string.format("MTR: pi=%s ep=%s cl=%s at_list=%s", str(pi), str(ep), str(cl), str(attr_list)), 4)
|
||||
for at: attr_list
|
||||
if attribute != nil && at != attribute continue end # skip if specific attribute and no match
|
||||
# from now on, 'at' is a good candidate
|
||||
|
@ -38,7 +38,7 @@ class Matter_IM
|
||||
|
||||
def process_incoming(msg)
|
||||
# messages are always TLV, decode payload
|
||||
tasmota.log("MTR: received IM message " + matter.inspect(msg), 3)
|
||||
# tasmota.log("MTR: received IM message " + matter.inspect(msg), 3)
|
||||
|
||||
var val = matter.TLV.parse(msg.raw, msg.app_payload_idx)
|
||||
|
||||
@ -218,7 +218,6 @@ class Matter_IM
|
||||
import string
|
||||
var attr_name = matter.get_attribute_name(ctx.cluster, ctx.attribute)
|
||||
attr_name = attr_name ? " (" + attr_name + ")" : ""
|
||||
# tasmota.log(string.format("MTR: Read Attribute " + str(ctx) + (attr_name ? " (" + attr_name + ")" : ""), 2)
|
||||
# Special case to report unsupported item, if pi==nil
|
||||
var res = (pi != nil) ? pi.read_attribute(session, ctx) : nil
|
||||
if res != nil
|
||||
@ -325,7 +324,7 @@ class Matter_IM
|
||||
self.subs_shop.remove_by_session(msg.session) # if `keep_subscriptions`, kill all subscriptions from current session
|
||||
end
|
||||
|
||||
tasmota.log("MTR: received SubscribeRequestMessage=" + str(query), 3)
|
||||
# tasmota.log("MTR: received SubscribeRequestMessage=" + str(query), 3)
|
||||
|
||||
var sub = self.subs_shop.new_subscription(msg.session, query)
|
||||
|
||||
@ -357,7 +356,7 @@ class Matter_IM
|
||||
def process_invoke_request(msg, val)
|
||||
import string
|
||||
# structure is `ReadRequestMessage` 10.6.2 p.558
|
||||
tasmota.log("MTR: IM:invoke_request processing start", 4)
|
||||
# tasmota.log("MTR: IM:invoke_request processing start", 4)
|
||||
var ctx = matter.Path()
|
||||
|
||||
var query = matter.InvokeRequestMessage().from_TLV(val)
|
||||
@ -416,10 +415,10 @@ class Matter_IM
|
||||
end
|
||||
end
|
||||
|
||||
tasmota.log("MTR: invoke_responses="+str(ret.invoke_responses), 4)
|
||||
# tasmota.log("MTR: invoke_responses="+str(ret.invoke_responses), 4)
|
||||
if size(ret.invoke_responses) > 0
|
||||
tasmota.log("MTR: InvokeResponse=" + str(ret), 4)
|
||||
tasmota.log("MTR: InvokeResponseTLV=" + str(ret.to_TLV()), 3)
|
||||
# tasmota.log("MTR: InvokeResponse=" + str(ret), 4)
|
||||
# tasmota.log("MTR: InvokeResponseTLV=" + str(ret.to_TLV()), 3)
|
||||
|
||||
self.send_invoke_response(msg, ret)
|
||||
else
|
||||
@ -455,7 +454,7 @@ class Matter_IM
|
||||
def process_write_request(msg, val)
|
||||
import string
|
||||
var query = matter.WriteRequestMessage().from_TLV(val)
|
||||
tasmota.log("MTR: received WriteRequestMessage=" + str(query), 3)
|
||||
# tasmota.log("MTR: received WriteRequestMessage=" + str(query), 3)
|
||||
|
||||
var suppress_response = query.suppress_response
|
||||
# var timed_request = query.timed_request # TODO not supported
|
||||
@ -502,7 +501,7 @@ class Matter_IM
|
||||
end
|
||||
|
||||
# structure is `ReadRequestMessage` 10.6.2 p.558
|
||||
tasmota.log("MTR: IM:write_request processing start", 4)
|
||||
# tasmota.log("MTR: IM:write_request processing start", 4)
|
||||
var ctx = matter.Path()
|
||||
|
||||
if query.write_requests != nil
|
||||
@ -541,8 +540,8 @@ class Matter_IM
|
||||
)
|
||||
end
|
||||
|
||||
tasmota.log("MTR: ReportWriteMessage=" + str(ret), 4)
|
||||
tasmota.log("MTR: ReportWriteMessageTLV=" + str(ret.to_TLV()), 3)
|
||||
# tasmota.log("MTR: ReportWriteMessage=" + str(ret), 4)
|
||||
# tasmota.log("MTR: ReportWriteMessageTLV=" + str(ret.to_TLV()), 3)
|
||||
|
||||
# send the reponse that may need to be chunked if too large to fit in a single UDP message
|
||||
if !suppress_response
|
||||
@ -578,7 +577,7 @@ class Matter_IM
|
||||
def process_timed_request(msg, val)
|
||||
import string
|
||||
var query = matter.TimedRequestMessage().from_TLV(val)
|
||||
tasmota.log("MTR: received TimedRequestMessage=" + str(query), 3)
|
||||
# tasmota.log("MTR: received TimedRequestMessage=" + str(query), 3)
|
||||
|
||||
tasmota.log(string.format("MTR: >Command (%6i) TimedRequest=%i", msg.session.local_session_id, query.timeout), 2)
|
||||
|
||||
|
@ -58,7 +58,7 @@ class Matter_IM_Message
|
||||
# ack received for previous message, proceed to next (if any)
|
||||
# return true if we manage the ack ourselves, false if it needs to be done upper
|
||||
def ack_received(msg)
|
||||
tasmota.log("MTR: IM_Message ack_received exch="+str(self.resp.exchange_id), 3)
|
||||
# tasmota.log("MTR: IM_Message ack_received exch="+str(self.resp.exchange_id), 3)
|
||||
self.expiration = tasmota.millis() + self.MSG_TIMEOUT # give more time
|
||||
return false
|
||||
end
|
||||
@ -67,7 +67,7 @@ class Matter_IM_Message
|
||||
# return true if we manage the ack ourselves, false if it needs to be done upper
|
||||
def status_ok_received(msg)
|
||||
import string
|
||||
tasmota.log(string.format("MTR: IM_Message status_ok_received exch=%i", self.resp.exchange_id), 3)
|
||||
# tasmota.log(string.format("MTR: IM_Message status_ok_received exch=%i", self.resp.exchange_id), 3)
|
||||
self.expiration = tasmota.millis() + self.MSG_TIMEOUT # give more time
|
||||
if msg
|
||||
self.resp = msg.build_response(self.resp.opcode, self.resp.x_flag_r, self.resp) # update packet
|
||||
@ -88,7 +88,7 @@ class Matter_IM_Message
|
||||
# default responder for data
|
||||
def send_im(responder)
|
||||
import string
|
||||
tasmota.log(string.format("MTR: IM_Message send_im exch=%i ready=%i", self.resp.exchange_id, self.ready ? 1 : 0), 3)
|
||||
# tasmota.log(string.format("MTR: IM_Message send_im exch=%i ready=%i", self.resp.exchange_id, self.ready ? 1 : 0), 3)
|
||||
if !self.ready return false end
|
||||
var resp = self.resp
|
||||
resp.encode_frame(self.data.to_TLV().tlv2raw()) # payload in cleartext
|
||||
@ -165,7 +165,7 @@ class Matter_IM_ReportData : Matter_IM_Message
|
||||
# default responder for data
|
||||
def send_im(responder)
|
||||
import string
|
||||
tasmota.log(string.format("MTR: IM_ReportData send_im exch=%i ready=%i", self.resp.exchange_id, self.ready ? 1 : 0), 3)
|
||||
# tasmota.log(string.format("MTR: IM_ReportData send_im exch=%i ready=%i", self.resp.exchange_id, self.ready ? 1 : 0), 3)
|
||||
if !self.ready return false end
|
||||
var resp = self.resp # response frame object
|
||||
var data = self.data # TLV data of the response (if any)
|
||||
@ -189,7 +189,7 @@ class Matter_IM_ReportData : Matter_IM_Message
|
||||
end
|
||||
end
|
||||
|
||||
tasmota.log(string.format("MTR: exch=%i elements=%i msg_sz=%i total=%i", self.get_exchangeid(), elements, msg_sz, sz_attribute_reports), 3)
|
||||
# tasmota.log(string.format("MTR: exch=%i elements=%i msg_sz=%i total=%i", self.get_exchangeid(), elements, msg_sz, sz_attribute_reports), 3)
|
||||
var next_elemnts = []
|
||||
if data.attribute_reports != nil
|
||||
next_elemnts = data.attribute_reports[elements .. ]
|
||||
@ -261,8 +261,8 @@ class Matter_IM_ReportDataSubscribed : Matter_IM_ReportData
|
||||
|
||||
# ack received, confirm the heartbeat
|
||||
def ack_received(msg)
|
||||
import string
|
||||
tasmota.log(string.format("MTR: IM_ReportDataSubscribed ack_received sub=%i", self.sub.subscription_id), 3)
|
||||
# import string
|
||||
# tasmota.log(string.format("MTR: IM_ReportDataSubscribed ack_received sub=%i", self.sub.subscription_id), 3)
|
||||
super(self).ack_received(msg)
|
||||
if !self.report_data_phase
|
||||
# if ack is received while all data is sent, means that it finished without error
|
||||
@ -277,16 +277,16 @@ class Matter_IM_ReportDataSubscribed : Matter_IM_ReportData
|
||||
|
||||
# we received an ACK error, remove subscription
|
||||
def status_error_received(msg)
|
||||
import string
|
||||
tasmota.log(string.format("MTR: IM_ReportDataSubscribed status_error_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
|
||||
# import string
|
||||
# tasmota.log(string.format("MTR: IM_ReportDataSubscribed status_error_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
|
||||
self.sub.remove_self()
|
||||
end
|
||||
|
||||
# ack received for previous message, proceed to next (if any)
|
||||
# return true if we manage the ack ourselves, false if it needs to be done upper
|
||||
def status_ok_received(msg)
|
||||
import string
|
||||
tasmota.log(string.format("MTR: IM_ReportDataSubscribed status_ok_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
|
||||
# import string
|
||||
# tasmota.log(string.format("MTR: IM_ReportDataSubscribed status_ok_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
|
||||
if self.report_data_phase
|
||||
return super(self).status_ok_received(msg)
|
||||
else
|
||||
@ -300,13 +300,13 @@ class Matter_IM_ReportDataSubscribed : Matter_IM_ReportData
|
||||
# default responder for data
|
||||
def send_im(responder)
|
||||
import string
|
||||
tasmota.log(string.format("MTR: IM_ReportDataSubscribed send sub=%i exch=%i ready=%i", self.sub.subscription_id, self.resp.exchange_id, self.ready ? 1 : 0), 3)
|
||||
tasmota.log(string.format("MTR: ReportDataSubscribed::send_im size(self.data.attribute_reports)=%i ready=%s report_data_phase=%s", size(self.data.attribute_reports), str(self.ready), str(self.report_data_phase)), 3)
|
||||
# tasmota.log(string.format("MTR: IM_ReportDataSubscribed send sub=%i exch=%i ready=%i", self.sub.subscription_id, self.resp.exchange_id, self.ready ? 1 : 0), 3)
|
||||
# tasmota.log(string.format("MTR: ReportDataSubscribed::send_im size(self.data.attribute_reports)=%i ready=%s report_data_phase=%s", size(self.data.attribute_reports), str(self.ready), str(self.report_data_phase)), 3)
|
||||
if !self.ready return false end
|
||||
if size(self.data.attribute_reports) > 0 # do we have still attributes to send
|
||||
if self.report_data_phase
|
||||
super(self).send_im(responder)
|
||||
tasmota.log(string.format("MTR: ReportDataSubscribed::send_im called super finish=%i", self.finish), 3)
|
||||
# tasmota.log(string.format("MTR: ReportDataSubscribed::send_im called super finish=%i", self.finish), 3)
|
||||
if !self.finish return end # ReportData needs to continue
|
||||
# ReportData is finished
|
||||
self.report_data_phase = false
|
||||
@ -361,8 +361,8 @@ class Matter_IM_SubscribedHeartbeat : Matter_IM_ReportData
|
||||
|
||||
# ack received, confirm the heartbeat
|
||||
def ack_received(msg)
|
||||
import string
|
||||
tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat ack_received sub=%i", self.sub.subscription_id), 3)
|
||||
# import string
|
||||
# tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat ack_received sub=%i", self.sub.subscription_id), 3)
|
||||
super(self).ack_received(msg)
|
||||
self.finish = true
|
||||
return true # proceed to calling send() which removes the message
|
||||
@ -370,8 +370,8 @@ class Matter_IM_SubscribedHeartbeat : Matter_IM_ReportData
|
||||
|
||||
# we received an ACK error, remove subscription
|
||||
def status_error_received(msg)
|
||||
import string
|
||||
tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat status_error_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
|
||||
# import string
|
||||
# tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat status_error_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
|
||||
self.sub.remove_self()
|
||||
return false # let the caller to the ack
|
||||
end
|
||||
@ -379,15 +379,15 @@ class Matter_IM_SubscribedHeartbeat : Matter_IM_ReportData
|
||||
# ack received for previous message, proceed to next (if any)
|
||||
# return true if we manage the ack ourselves, false if it needs to be done upper
|
||||
def status_ok_received(msg)
|
||||
import string
|
||||
tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat status_ok_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
|
||||
# import string
|
||||
# tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat status_ok_received sub=%i exch=%i", self.sub.subscription_id, self.resp.exchange_id), 3)
|
||||
return false # let the caller to the ack
|
||||
end
|
||||
|
||||
# default responder for data
|
||||
def send_im(responder)
|
||||
import string
|
||||
tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat send sub=%i exch=%i ready=%i", self.sub.subscription_id, self.resp.exchange_id, self.ready ? 1 : 0), 3)
|
||||
# import string
|
||||
# tasmota.log(string.format("MTR: Matter_IM_SubscribedHeartbeat send sub=%i exch=%i ready=%i", self.sub.subscription_id, self.resp.exchange_id, self.ready ? 1 : 0), 3)
|
||||
if !self.ready return false end
|
||||
|
||||
super(self).send_im(responder)
|
||||
@ -413,8 +413,8 @@ class Matter_IM_SubscribeResponse : Matter_IM_ReportData
|
||||
|
||||
# default responder for data
|
||||
def send_im(responder)
|
||||
import string
|
||||
tasmota.log(string.format("MTR: Matter_IM_SubscribeResponse send sub=%i ready=%i", self.sub.subscription_id, self.ready ? 1 : 0), 3)
|
||||
# import string
|
||||
# tasmota.log(string.format("MTR: Matter_IM_SubscribeResponse send sub=%i ready=%i", self.sub.subscription_id, self.ready ? 1 : 0), 3)
|
||||
if !self.ready return false end
|
||||
if self.report_data_phase
|
||||
super(self).send_im(responder)
|
||||
@ -437,7 +437,7 @@ class Matter_IM_SubscribeResponse : Matter_IM_ReportData
|
||||
resp.encrypt()
|
||||
responder.send_response_frame(resp)
|
||||
self.last_counter = resp.message_counter
|
||||
tasmota.log(string.format("MTR: Send SubscribeResponseMessage sub=%i id=%i", self.sub.subscription_id, resp.message_counter), 3)
|
||||
# tasmota.log(string.format("MTR: Send SubscribeResponseMessage sub=%i id=%i", self.sub.subscription_id, resp.message_counter), 3)
|
||||
self.sub.re_arm()
|
||||
self.finish = true # remove exchange
|
||||
end
|
||||
@ -445,10 +445,10 @@ class Matter_IM_SubscribeResponse : Matter_IM_ReportData
|
||||
|
||||
# Status ok received
|
||||
def status_ok_received(msg)
|
||||
import string
|
||||
tasmota.log(string.format("MTR: IM_SubscribeResponse status_ok_received sub=%i exch=%i ack=%i last_counter=%i", self.sub.subscription_id, self.resp.exchange_id, msg.ack_message_counter ? msg.ack_message_counter : 0 , self.last_counter), 3)
|
||||
# import string
|
||||
# tasmota.log(string.format("MTR: IM_SubscribeResponse status_ok_received sub=%i exch=%i ack=%i last_counter=%i", self.sub.subscription_id, self.resp.exchange_id, msg.ack_message_counter ? msg.ack_message_counter : 0 , self.last_counter), 3)
|
||||
# once we receive ack, open flow for subscriptions
|
||||
tasmota.log(string.format("MTR: >Sub_OK (%6i) sub=%i", msg.session.local_session_id, self.sub.subscription_id), 2)
|
||||
# tasmota.log(string.format("MTR: >Sub_OK (%6i) sub=%i", msg.session.local_session_id, self.sub.subscription_id), 2)
|
||||
return super(self).status_ok_received(msg)
|
||||
end
|
||||
|
||||
|
@ -383,22 +383,22 @@ class Matter_Frame
|
||||
n.resize(13) # add zeros
|
||||
end
|
||||
|
||||
tasmota.log("MTR: ******************************", 4)
|
||||
tasmota.log("MTR: i2r =" + i2r.tohex(), 4)
|
||||
tasmota.log("MTR: p =" + p.tohex(), 4)
|
||||
tasmota.log("MTR: a =" + a.tohex(), 4)
|
||||
tasmota.log("MTR: n =" + n.tohex(), 4)
|
||||
tasmota.log("MTR: mic =" + mic.tohex(), 4)
|
||||
# tasmota.log("MTR: ******************************", 4)
|
||||
# tasmota.log("MTR: i2r =" + i2r.tohex(), 4)
|
||||
# tasmota.log("MTR: p =" + p.tohex(), 4)
|
||||
# tasmota.log("MTR: a =" + a.tohex(), 4)
|
||||
# tasmota.log("MTR: n =" + n.tohex(), 4)
|
||||
# tasmota.log("MTR: mic =" + mic.tohex(), 4)
|
||||
|
||||
# decrypt
|
||||
var aes = crypto.AES_CCM(i2r, n, a, size(p), 16)
|
||||
var cleartext = aes.decrypt(p)
|
||||
var tag = aes.tag()
|
||||
|
||||
tasmota.log("MTR: ******************************", 4)
|
||||
tasmota.log("MTR: cleartext =" + cleartext.tohex(), 4)
|
||||
tasmota.log("MTR: tag =" + tag.tohex(), 4)
|
||||
tasmota.log("MTR: ******************************", 4)
|
||||
# tasmota.log("MTR: ******************************", 4)
|
||||
# tasmota.log("MTR: cleartext =" + cleartext.tohex(), 4)
|
||||
# tasmota.log("MTR: tag =" + tag.tohex(), 4)
|
||||
# tasmota.log("MTR: ******************************", 4)
|
||||
|
||||
if tag != mic
|
||||
tasmota.log("MTR: rejected packet due to invalid MIC", 2)
|
||||
@ -461,6 +461,7 @@ class Matter_Frame
|
||||
#############################################################
|
||||
# Decode a message we are about to send, to ease debug
|
||||
def debug(raw)
|
||||
return # disable logging for now
|
||||
var r = matter.Frame(self.message_handler, raw)
|
||||
r.decode_header()
|
||||
r.decode_payload()
|
||||
|
@ -89,15 +89,15 @@ class Matter_MessageHandler
|
||||
# do we need decryption?
|
||||
if frame.sec_p
|
||||
# Control message
|
||||
tasmota.log("MTR: CONTROL MESSAGE=" + matter.inspect(frame))
|
||||
tasmota.log("MTR: CONTROL MESSAGE=" + matter.inspect(frame), 4)
|
||||
var session = self.device.sessions.find_session_source_id_unsecure(frame.source_node_id, 90) # 90 seconds max
|
||||
tasmota.log("MTR: find session by source_node_id = " + str(frame.source_node_id) + " session_id = " + str(session.local_session_id), 2)
|
||||
tasmota.log("MTR: find session by source_node_id = " + str(frame.source_node_id) + " session_id = " + str(session.local_session_id), 4)
|
||||
return self.control_message.process_incoming_control_message(frame)
|
||||
elif frame.local_session_id == 0 && frame.sec_sesstype == 0
|
||||
#############################################################
|
||||
### unencrypted session, handled by commissioning
|
||||
var session = self.device.sessions.find_session_source_id_unsecure(frame.source_node_id, 90) # 90 seconds max
|
||||
tasmota.log("MTR: find session by source_node_id = " + str(frame.source_node_id) + " session_id = " + str(session.local_session_id), 3)
|
||||
tasmota.log("MTR: find session by source_node_id = " + str(frame.source_node_id) + " session_id = " + str(session.local_session_id), 4)
|
||||
if addr session._ip = addr end
|
||||
if port session._port = port end
|
||||
session._message_handler = self
|
||||
@ -166,7 +166,7 @@ class Matter_MessageHandler
|
||||
var protocol_id = frame.protocol_id
|
||||
if protocol_id == 0x0000 # PROTOCOL_ID_SECURE_CHANNEL
|
||||
# it should not be encrypted
|
||||
tasmota.log("MTR: PROTOCOL_ID_SECURE_CHANNEL " + matter.inspect(frame), 3)
|
||||
# tasmota.log("MTR: PROTOCOL_ID_SECURE_CHANNEL " + matter.inspect(frame), 3)
|
||||
if frame.opcode == 0x10 # MRPStandaloneAcknowledgement
|
||||
ret = self.im.process_incoming_ack(frame)
|
||||
if ret
|
||||
|
@ -279,9 +279,9 @@ class Matter_Session_Store
|
||||
var sessions = self.sessions
|
||||
while i < size(sessions)
|
||||
var session = sessions[i]
|
||||
tasmota.log(string.format("MTR: session.resumption_id=%s vs %s", str(session.resumption_id), str(resumption_id)))
|
||||
tasmota.log(string.format("MTR: session.resumption_id=%s vs %s", str(session.resumption_id), str(resumption_id)), 3)
|
||||
if session.resumption_id == resumption_id && session.shared_secret != nil
|
||||
tasmota.log(string.format("MTR: session.shared_secret=%s", str(session.shared_secret)))
|
||||
tasmota.log(string.format("MTR: session.shared_secret=%s", str(session.shared_secret)), 3)
|
||||
session.update()
|
||||
return session
|
||||
end
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -263,7 +263,7 @@ extern const bclass be_class_Matter_Pake1;
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Pake1_parse, /* name */
|
||||
be_nested_proto(
|
||||
8, /* nstack */
|
||||
7, /* nstack */
|
||||
3, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
@ -271,21 +271,18 @@ be_local_closure(Matter_Pake1_parse, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[10]) { /* constants */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_const_int(0),
|
||||
/* K1 */ be_nested_str_weak(matter),
|
||||
/* K2 */ be_nested_str_weak(TLV),
|
||||
/* K3 */ be_nested_str_weak(parse),
|
||||
/* K4 */ be_nested_str_weak(tasmota),
|
||||
/* K5 */ be_nested_str_weak(log),
|
||||
/* K6 */ be_nested_str_weak(MTR_X3A_X20parsed_X20TLV_X3A_X20),
|
||||
/* K7 */ be_nested_str_weak(pA),
|
||||
/* K8 */ be_nested_str_weak(getsubval),
|
||||
/* K9 */ be_const_int(1),
|
||||
/* K4 */ be_nested_str_weak(pA),
|
||||
/* K5 */ be_nested_str_weak(getsubval),
|
||||
/* K6 */ be_const_int(1),
|
||||
}),
|
||||
be_str_weak(parse),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[23]) { /* code */
|
||||
( &(const binstruction[15]) { /* code */
|
||||
0x4C0C0000, // 0000 LDNIL R3
|
||||
0x1C0C0403, // 0001 EQ R3 R2 R3
|
||||
0x780E0000, // 0002 JMPF R3 #0004
|
||||
@ -296,19 +293,11 @@ be_local_closure(Matter_Pake1_parse, /* name */
|
||||
0x5C140200, // 0007 MOVE R5 R1
|
||||
0x5C180400, // 0008 MOVE R6 R2
|
||||
0x7C0C0600, // 0009 CALL R3 3
|
||||
0xB8120800, // 000A GETNGBL R4 K4
|
||||
0x8C100905, // 000B GETMET R4 R4 K5
|
||||
0x60180008, // 000C GETGBL R6 G8
|
||||
0x5C1C0600, // 000D MOVE R7 R3
|
||||
0x7C180200, // 000E CALL R6 1
|
||||
0x001A0C06, // 000F ADD R6 K6 R6
|
||||
0x541E0003, // 0010 LDINT R7 4
|
||||
0x7C100600, // 0011 CALL R4 3
|
||||
0x8C100708, // 0012 GETMET R4 R3 K8
|
||||
0x58180009, // 0013 LDCONST R6 K9
|
||||
0x7C100400, // 0014 CALL R4 2
|
||||
0x90020E04, // 0015 SETMBR R0 K7 R4
|
||||
0x80040000, // 0016 RET 1 R0
|
||||
0x8C100705, // 000A GETMET R4 R3 K5
|
||||
0x58180006, // 000B LDCONST R6 K6
|
||||
0x7C100400, // 000C CALL R4 2
|
||||
0x90020804, // 000D SETMBR R0 K4 R4
|
||||
0x80040000, // 000E RET 1 R0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -423,7 +412,7 @@ extern const bclass be_class_Matter_Pake3;
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Pake3_parse, /* name */
|
||||
be_nested_proto(
|
||||
8, /* nstack */
|
||||
7, /* nstack */
|
||||
3, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
@ -431,21 +420,18 @@ be_local_closure(Matter_Pake3_parse, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[10]) { /* constants */
|
||||
( &(const bvalue[ 7]) { /* constants */
|
||||
/* K0 */ be_const_int(0),
|
||||
/* K1 */ be_nested_str_weak(matter),
|
||||
/* K2 */ be_nested_str_weak(TLV),
|
||||
/* K3 */ be_nested_str_weak(parse),
|
||||
/* K4 */ be_nested_str_weak(tasmota),
|
||||
/* K5 */ be_nested_str_weak(log),
|
||||
/* K6 */ be_nested_str_weak(MTR_X3A_X20parsed_X20TLV_X3A_X20),
|
||||
/* K7 */ be_nested_str_weak(cA),
|
||||
/* K8 */ be_nested_str_weak(getsubval),
|
||||
/* K9 */ be_const_int(1),
|
||||
/* K4 */ be_nested_str_weak(cA),
|
||||
/* K5 */ be_nested_str_weak(getsubval),
|
||||
/* K6 */ be_const_int(1),
|
||||
}),
|
||||
be_str_weak(parse),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[23]) { /* code */
|
||||
( &(const binstruction[15]) { /* code */
|
||||
0x4C0C0000, // 0000 LDNIL R3
|
||||
0x1C0C0403, // 0001 EQ R3 R2 R3
|
||||
0x780E0000, // 0002 JMPF R3 #0004
|
||||
@ -456,19 +442,11 @@ be_local_closure(Matter_Pake3_parse, /* name */
|
||||
0x5C140200, // 0007 MOVE R5 R1
|
||||
0x5C180400, // 0008 MOVE R6 R2
|
||||
0x7C0C0600, // 0009 CALL R3 3
|
||||
0xB8120800, // 000A GETNGBL R4 K4
|
||||
0x8C100905, // 000B GETMET R4 R4 K5
|
||||
0x60180008, // 000C GETGBL R6 G8
|
||||
0x5C1C0600, // 000D MOVE R7 R3
|
||||
0x7C180200, // 000E CALL R6 1
|
||||
0x001A0C06, // 000F ADD R6 K6 R6
|
||||
0x541E0003, // 0010 LDINT R7 4
|
||||
0x7C100600, // 0011 CALL R4 3
|
||||
0x8C100708, // 0012 GETMET R4 R3 K8
|
||||
0x58180009, // 0013 LDCONST R6 K9
|
||||
0x7C100400, // 0014 CALL R4 2
|
||||
0x90020E04, // 0015 SETMBR R0 K7 R4
|
||||
0x80040000, // 0016 RET 1 R0
|
||||
0x8C100705, // 000A GETMET R4 R3 K5
|
||||
0x58180006, // 000B LDCONST R6 K6
|
||||
0x7C100400, // 000C CALL R4 2
|
||||
0x90020804, // 000D SETMBR R0 K4 R4
|
||||
0x80040000, // 000E RET 1 R0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -511,34 +489,31 @@ be_local_closure(Matter_Sigma1_parse, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[23]) { /* constants */
|
||||
( &(const bvalue[20]) { /* constants */
|
||||
/* K0 */ be_const_int(0),
|
||||
/* K1 */ be_nested_str_weak(matter),
|
||||
/* K2 */ be_nested_str_weak(TLV),
|
||||
/* K3 */ be_nested_str_weak(parse),
|
||||
/* K4 */ be_nested_str_weak(Msg1),
|
||||
/* K5 */ be_const_int(2147483647),
|
||||
/* K6 */ be_nested_str_weak(tasmota),
|
||||
/* K7 */ be_nested_str_weak(log),
|
||||
/* K8 */ be_nested_str_weak(MTR_X3A_X20Sigma1_X20TLV_X3D),
|
||||
/* K9 */ be_nested_str_weak(initiatorRandom),
|
||||
/* K10 */ be_nested_str_weak(getsubval),
|
||||
/* K11 */ be_const_int(1),
|
||||
/* K12 */ be_nested_str_weak(initiator_session_id),
|
||||
/* K13 */ be_const_int(2),
|
||||
/* K14 */ be_nested_str_weak(destinationId),
|
||||
/* K15 */ be_const_int(3),
|
||||
/* K16 */ be_nested_str_weak(initiatorEphPubKey),
|
||||
/* K17 */ be_nested_str_weak(findsub),
|
||||
/* K18 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL),
|
||||
/* K19 */ be_nested_str_weak(findsubval),
|
||||
/* K20 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL),
|
||||
/* K21 */ be_nested_str_weak(resumptionID),
|
||||
/* K22 */ be_nested_str_weak(initiatorResumeMIC),
|
||||
/* K6 */ be_nested_str_weak(initiatorRandom),
|
||||
/* K7 */ be_nested_str_weak(getsubval),
|
||||
/* K8 */ be_const_int(1),
|
||||
/* K9 */ be_nested_str_weak(initiator_session_id),
|
||||
/* K10 */ be_const_int(2),
|
||||
/* K11 */ be_nested_str_weak(destinationId),
|
||||
/* K12 */ be_const_int(3),
|
||||
/* K13 */ be_nested_str_weak(initiatorEphPubKey),
|
||||
/* K14 */ be_nested_str_weak(findsub),
|
||||
/* K15 */ be_nested_str_weak(SLEEPY_IDLE_INTERVAL),
|
||||
/* K16 */ be_nested_str_weak(findsubval),
|
||||
/* K17 */ be_nested_str_weak(SLEEPY_ACTIVE_INTERVAL),
|
||||
/* K18 */ be_nested_str_weak(resumptionID),
|
||||
/* K19 */ be_nested_str_weak(initiatorResumeMIC),
|
||||
}),
|
||||
be_str_weak(parse),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[60]) { /* code */
|
||||
( &(const binstruction[52]) { /* code */
|
||||
0x4C0C0000, // 0000 LDNIL R3
|
||||
0x1C0C0403, // 0001 EQ R3 R2 R3
|
||||
0x780E0000, // 0002 JMPF R3 #0004
|
||||
@ -552,53 +527,45 @@ be_local_closure(Matter_Sigma1_parse, /* name */
|
||||
0x40100505, // 000A CONNECT R4 R2 K5
|
||||
0x94100204, // 000B GETIDX R4 R1 R4
|
||||
0x90020804, // 000C SETMBR R0 K4 R4
|
||||
0xB8120C00, // 000D GETNGBL R4 K6
|
||||
0x8C100907, // 000E GETMET R4 R4 K7
|
||||
0x60180008, // 000F GETGBL R6 G8
|
||||
0x5C1C0600, // 0010 MOVE R7 R3
|
||||
0x7C180200, // 0011 CALL R6 1
|
||||
0x001A1006, // 0012 ADD R6 K8 R6
|
||||
0x541E0003, // 0013 LDINT R7 4
|
||||
0x7C100600, // 0014 CALL R4 3
|
||||
0x8C10070A, // 0015 GETMET R4 R3 K10
|
||||
0x5818000B, // 0016 LDCONST R6 K11
|
||||
0x8C100707, // 000D GETMET R4 R3 K7
|
||||
0x58180008, // 000E LDCONST R6 K8
|
||||
0x7C100400, // 000F CALL R4 2
|
||||
0x90020C04, // 0010 SETMBR R0 K6 R4
|
||||
0x8C100707, // 0011 GETMET R4 R3 K7
|
||||
0x5818000A, // 0012 LDCONST R6 K10
|
||||
0x7C100400, // 0013 CALL R4 2
|
||||
0x90021204, // 0014 SETMBR R0 K9 R4
|
||||
0x8C100707, // 0015 GETMET R4 R3 K7
|
||||
0x5818000C, // 0016 LDCONST R6 K12
|
||||
0x7C100400, // 0017 CALL R4 2
|
||||
0x90021204, // 0018 SETMBR R0 K9 R4
|
||||
0x8C10070A, // 0019 GETMET R4 R3 K10
|
||||
0x5818000D, // 001A LDCONST R6 K13
|
||||
0x90021604, // 0018 SETMBR R0 K11 R4
|
||||
0x8C100707, // 0019 GETMET R4 R3 K7
|
||||
0x541A0003, // 001A LDINT R6 4
|
||||
0x7C100400, // 001B CALL R4 2
|
||||
0x90021804, // 001C SETMBR R0 K12 R4
|
||||
0x8C10070A, // 001D GETMET R4 R3 K10
|
||||
0x5818000F, // 001E LDCONST R6 K15
|
||||
0x90021A04, // 001C SETMBR R0 K13 R4
|
||||
0x8C10070E, // 001D GETMET R4 R3 K14
|
||||
0x541A0004, // 001E LDINT R6 5
|
||||
0x7C100400, // 001F CALL R4 2
|
||||
0x90021C04, // 0020 SETMBR R0 K14 R4
|
||||
0x8C10070A, // 0021 GETMET R4 R3 K10
|
||||
0x541A0003, // 0022 LDINT R6 4
|
||||
0x7C100400, // 0023 CALL R4 2
|
||||
0x90022004, // 0024 SETMBR R0 K16 R4
|
||||
0x8C100711, // 0025 GETMET R4 R3 K17
|
||||
0x541A0004, // 0026 LDINT R6 5
|
||||
0x7C100400, // 0027 CALL R4 2
|
||||
0x4C140000, // 0028 LDNIL R5
|
||||
0x20140805, // 0029 NE R5 R4 R5
|
||||
0x78160007, // 002A JMPF R5 #0033
|
||||
0x8C140913, // 002B GETMET R5 R4 K19
|
||||
0x581C000B, // 002C LDCONST R7 K11
|
||||
0x4C140000, // 0020 LDNIL R5
|
||||
0x20140805, // 0021 NE R5 R4 R5
|
||||
0x78160007, // 0022 JMPF R5 #002B
|
||||
0x8C140910, // 0023 GETMET R5 R4 K16
|
||||
0x581C0008, // 0024 LDCONST R7 K8
|
||||
0x7C140400, // 0025 CALL R5 2
|
||||
0x90021E05, // 0026 SETMBR R0 K15 R5
|
||||
0x8C140910, // 0027 GETMET R5 R4 K16
|
||||
0x581C000A, // 0028 LDCONST R7 K10
|
||||
0x7C140400, // 0029 CALL R5 2
|
||||
0x90022205, // 002A SETMBR R0 K17 R5
|
||||
0x8C140710, // 002B GETMET R5 R3 K16
|
||||
0x541E0005, // 002C LDINT R7 6
|
||||
0x7C140400, // 002D CALL R5 2
|
||||
0x90022405, // 002E SETMBR R0 K18 R5
|
||||
0x8C140913, // 002F GETMET R5 R4 K19
|
||||
0x581C000D, // 0030 LDCONST R7 K13
|
||||
0x8C140710, // 002F GETMET R5 R3 K16
|
||||
0x541E0006, // 0030 LDINT R7 7
|
||||
0x7C140400, // 0031 CALL R5 2
|
||||
0x90022805, // 0032 SETMBR R0 K20 R5
|
||||
0x8C140713, // 0033 GETMET R5 R3 K19
|
||||
0x541E0005, // 0034 LDINT R7 6
|
||||
0x7C140400, // 0035 CALL R5 2
|
||||
0x90022A05, // 0036 SETMBR R0 K21 R5
|
||||
0x8C140713, // 0037 GETMET R5 R3 K19
|
||||
0x541E0006, // 0038 LDINT R7 7
|
||||
0x7C140400, // 0039 CALL R5 2
|
||||
0x90022C05, // 003A SETMBR R0 K22 R5
|
||||
0x80040000, // 003B RET 1 R0
|
||||
0x90022605, // 0032 SETMBR R0 K19 R5
|
||||
0x80040000, // 0033 RET 1 R0
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -894,7 +861,7 @@ extern const bclass be_class_Matter_Sigma3;
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Sigma3_parse, /* name */
|
||||
be_nested_proto(
|
||||
8, /* nstack */
|
||||
7, /* nstack */
|
||||
3, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
@ -902,23 +869,20 @@ be_local_closure(Matter_Sigma3_parse, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[12]) { /* constants */
|
||||
( &(const bvalue[ 9]) { /* constants */
|
||||
/* K0 */ be_const_int(0),
|
||||
/* K1 */ be_nested_str_weak(matter),
|
||||
/* K2 */ be_nested_str_weak(TLV),
|
||||
/* K3 */ be_nested_str_weak(parse),
|
||||
/* K4 */ be_nested_str_weak(Msg3),
|
||||
/* K5 */ be_const_int(2147483647),
|
||||
/* K6 */ be_nested_str_weak(tasmota),
|
||||
/* K7 */ be_nested_str_weak(log),
|
||||
/* K8 */ be_nested_str_weak(MTR_X3A_X20Sigma3_X20TLV_X3D),
|
||||
/* K9 */ be_nested_str_weak(TBEData3Encrypted),
|
||||
/* K10 */ be_nested_str_weak(getsubval),
|
||||
/* K11 */ be_const_int(1),
|
||||
/* K6 */ be_nested_str_weak(TBEData3Encrypted),
|
||||
/* K7 */ be_nested_str_weak(getsubval),
|
||||
/* K8 */ be_const_int(1),
|
||||
}),
|
||||
be_str_weak(parse),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[26]) { /* code */
|
||||
( &(const binstruction[18]) { /* code */
|
||||
0x4C0C0000, // 0000 LDNIL R3
|
||||
0x1C0C0403, // 0001 EQ R3 R2 R3
|
||||
0x780E0000, // 0002 JMPF R3 #0004
|
||||
@ -932,19 +896,11 @@ be_local_closure(Matter_Sigma3_parse, /* name */
|
||||
0x40100505, // 000A CONNECT R4 R2 K5
|
||||
0x94100204, // 000B GETIDX R4 R1 R4
|
||||
0x90020804, // 000C SETMBR R0 K4 R4
|
||||
0xB8120C00, // 000D GETNGBL R4 K6
|
||||
0x8C100907, // 000E GETMET R4 R4 K7
|
||||
0x60180008, // 000F GETGBL R6 G8
|
||||
0x5C1C0600, // 0010 MOVE R7 R3
|
||||
0x7C180200, // 0011 CALL R6 1
|
||||
0x001A1006, // 0012 ADD R6 K8 R6
|
||||
0x541E0003, // 0013 LDINT R7 4
|
||||
0x7C100600, // 0014 CALL R4 3
|
||||
0x8C10070A, // 0015 GETMET R4 R3 K10
|
||||
0x5818000B, // 0016 LDCONST R6 K11
|
||||
0x7C100400, // 0017 CALL R4 2
|
||||
0x90021204, // 0018 SETMBR R0 K9 R4
|
||||
0x80040000, // 0019 RET 1 R0
|
||||
0x8C100707, // 000D GETMET R4 R3 K7
|
||||
0x58180008, // 000E LDCONST R6 K8
|
||||
0x7C100400, // 000F CALL R4 2
|
||||
0x90020C04, // 0010 SETMBR R0 K6 R4
|
||||
0x80040000, // 0011 RET 1 R0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -897,7 +897,7 @@ be_local_closure(Matter_Device_every_250ms, /* name */
|
||||
********************************************************************/
|
||||
be_local_closure(Matter_Device_process_attribute_expansion, /* name */
|
||||
be_nested_proto(
|
||||
30, /* nstack */
|
||||
29, /* nstack */
|
||||
3, /* argc */
|
||||
2, /* varg */
|
||||
0, /* has upvals */
|
||||
@ -972,37 +972,33 @@ be_local_closure(Matter_Device_process_attribute_expansion, /* name */
|
||||
),
|
||||
}),
|
||||
1, /* has constants */
|
||||
( &(const bvalue[26]) { /* constants */
|
||||
( &(const bvalue[22]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(string),
|
||||
/* K1 */ be_nested_str_weak(endpoint),
|
||||
/* K2 */ be_nested_str_weak(cluster),
|
||||
/* K3 */ be_nested_str_weak(attribute),
|
||||
/* K4 */ be_nested_str_weak(tasmota),
|
||||
/* K5 */ be_nested_str_weak(log),
|
||||
/* K6 */ be_nested_str_weak(format),
|
||||
/* K7 */ be_nested_str_weak(MTR_X3A_X20process_attribute_expansion_X20_X25s),
|
||||
/* K8 */ be_nested_str_weak(MTR_X3A_X20endpoint_X3D_X25s_X20cluster_X3D_X25s_X20attribute_X3D_X25s),
|
||||
/* K9 */ be_nested_str_weak(plugins),
|
||||
/* K10 */ be_nested_str_weak(get_endpoint),
|
||||
/* K11 */ be_nested_str_weak(contains),
|
||||
/* K12 */ be_nested_str_weak(get_cluster_list),
|
||||
/* K13 */ be_nested_str_weak(MTR_X3A_X20pi_X3D_X25s_X20ep_X3D_X25s_X20cl_list_X3D_X25s),
|
||||
/* K14 */ be_nested_str_weak(get_attribute_list),
|
||||
/* K15 */ be_nested_str_weak(MTR_X3A_X20pi_X3D_X25s_X20ep_X3D_X25s_X20cl_X3D_X25s_X20at_list_X3D_X25s),
|
||||
/* K16 */ be_nested_str_weak(push),
|
||||
/* K17 */ be_nested_str_weak(stop_iteration),
|
||||
/* K18 */ be_nested_str_weak(MTR_X3A_X20expansion_X20_X5B_X2502X_X5D_X2504X_X2F_X2504X),
|
||||
/* K19 */ be_const_int(3),
|
||||
/* K20 */ be_nested_str_weak(status),
|
||||
/* K21 */ be_nested_str_weak(matter),
|
||||
/* K22 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT),
|
||||
/* K23 */ be_nested_str_weak(UNSUPPORTED_CLUSTER),
|
||||
/* K24 */ be_nested_str_weak(UNSUPPORTED_ATTRIBUTE),
|
||||
/* K25 */ be_nested_str_weak(UNREPORTABLE_ATTRIBUTE),
|
||||
/* K4 */ be_nested_str_weak(plugins),
|
||||
/* K5 */ be_nested_str_weak(get_endpoint),
|
||||
/* K6 */ be_nested_str_weak(contains),
|
||||
/* K7 */ be_nested_str_weak(get_cluster_list),
|
||||
/* K8 */ be_nested_str_weak(get_attribute_list),
|
||||
/* K9 */ be_nested_str_weak(push),
|
||||
/* K10 */ be_nested_str_weak(stop_iteration),
|
||||
/* K11 */ be_nested_str_weak(tasmota),
|
||||
/* K12 */ be_nested_str_weak(log),
|
||||
/* K13 */ be_nested_str_weak(format),
|
||||
/* K14 */ be_nested_str_weak(MTR_X3A_X20expansion_X20_X5B_X2502X_X5D_X2504X_X2F_X2504X),
|
||||
/* K15 */ be_const_int(3),
|
||||
/* K16 */ be_nested_str_weak(status),
|
||||
/* K17 */ be_nested_str_weak(matter),
|
||||
/* K18 */ be_nested_str_weak(UNSUPPORTED_ENDPOINT),
|
||||
/* K19 */ be_nested_str_weak(UNSUPPORTED_CLUSTER),
|
||||
/* K20 */ be_nested_str_weak(UNSUPPORTED_ATTRIBUTE),
|
||||
/* K21 */ be_nested_str_weak(UNREPORTABLE_ATTRIBUTE),
|
||||
}),
|
||||
be_str_weak(process_attribute_expansion),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[271]) { /* code */
|
||||
( &(const binstruction[216]) { /* code */
|
||||
0x840C0000, // 0000 CLOSURE R3 P0
|
||||
0xA4120000, // 0001 IMPORT R4 K0
|
||||
0x88140301, // 0002 GETMBR R5 R1 K1
|
||||
@ -1025,255 +1021,200 @@ be_local_closure(Matter_Device_process_attribute_expansion, /* name */
|
||||
0x742E0000, // 0013 JMPT R11 #0015
|
||||
0x502C0001, // 0014 LDBOOL R11 0 1
|
||||
0x502C0200, // 0015 LDBOOL R11 1 0
|
||||
0xB8320800, // 0016 GETNGBL R12 K4
|
||||
0x8C301905, // 0017 GETMET R12 R12 K5
|
||||
0x8C380906, // 0018 GETMET R14 R4 K6
|
||||
0x58400007, // 0019 LDCONST R16 K7
|
||||
0x60440008, // 001A GETGBL R17 G8
|
||||
0x5C480200, // 001B MOVE R18 R1
|
||||
0x7C440200, // 001C CALL R17 1
|
||||
0x7C380600, // 001D CALL R14 3
|
||||
0x543E0003, // 001E LDINT R15 4
|
||||
0x7C300600, // 001F CALL R12 3
|
||||
0x60300013, // 0020 GETGBL R12 G19
|
||||
0x7C300000, // 0021 CALL R12 0
|
||||
0xB8360800, // 0022 GETNGBL R13 K4
|
||||
0x8C341B05, // 0023 GETMET R13 R13 K5
|
||||
0x8C3C0906, // 0024 GETMET R15 R4 K6
|
||||
0x58440008, // 0025 LDCONST R17 K8
|
||||
0x5C480A00, // 0026 MOVE R18 R5
|
||||
0x5C4C0E00, // 0027 MOVE R19 R7
|
||||
0x5C501200, // 0028 MOVE R20 R9
|
||||
0x7C3C0A00, // 0029 CALL R15 5
|
||||
0x54420003, // 002A LDINT R16 4
|
||||
0x7C340600, // 002B CALL R13 3
|
||||
0x60340010, // 002C GETGBL R13 G16
|
||||
0x88380109, // 002D GETMBR R14 R0 K9
|
||||
0x7C340200, // 002E CALL R13 1
|
||||
0xA8020078, // 002F EXBLK 0 #00A9
|
||||
0x5C381A00, // 0030 MOVE R14 R13
|
||||
0x7C380000, // 0031 CALL R14 0
|
||||
0x8C3C1D0A, // 0032 GETMET R15 R14 K10
|
||||
0x7C3C0200, // 0033 CALL R15 1
|
||||
0x4C400000, // 0034 LDNIL R16
|
||||
0x20400A10, // 0035 NE R16 R5 R16
|
||||
0x78420002, // 0036 JMPF R16 #003A
|
||||
0x20401E05, // 0037 NE R16 R15 R5
|
||||
0x78420000, // 0038 JMPF R16 #003A
|
||||
0x7001FFF5, // 0039 JMP #0030
|
||||
0x8C40190B, // 003A GETMET R16 R12 K11
|
||||
0x5C481E00, // 003B MOVE R18 R15
|
||||
0x7C400400, // 003C CALL R16 2
|
||||
0x74420002, // 003D JMPT R16 #0041
|
||||
0x60400013, // 003E GETGBL R16 G19
|
||||
0x7C400000, // 003F CALL R16 0
|
||||
0x98301E10, // 0040 SETIDX R12 R15 R16
|
||||
0x50180200, // 0041 LDBOOL R6 1 0
|
||||
0x8C401D0C, // 0042 GETMET R16 R14 K12
|
||||
0x5C481E00, // 0043 MOVE R18 R15
|
||||
0x7C400400, // 0044 CALL R16 2
|
||||
0xB8460800, // 0045 GETNGBL R17 K4
|
||||
0x8C442305, // 0046 GETMET R17 R17 K5
|
||||
0x8C4C0906, // 0047 GETMET R19 R4 K6
|
||||
0x5854000D, // 0048 LDCONST R21 K13
|
||||
0x60580008, // 0049 GETGBL R22 G8
|
||||
0x5C5C1C00, // 004A MOVE R23 R14
|
||||
0x7C580200, // 004B CALL R22 1
|
||||
0x605C0008, // 004C GETGBL R23 G8
|
||||
0x5C601E00, // 004D MOVE R24 R15
|
||||
0x7C5C0200, // 004E CALL R23 1
|
||||
0x60600008, // 004F GETGBL R24 G8
|
||||
0x5C642000, // 0050 MOVE R25 R16
|
||||
0x7C600200, // 0051 CALL R24 1
|
||||
0x7C4C0A00, // 0052 CALL R19 5
|
||||
0x54520003, // 0053 LDINT R20 4
|
||||
0x7C440600, // 0054 CALL R17 3
|
||||
0x60440010, // 0055 GETGBL R17 G16
|
||||
0x5C482000, // 0056 MOVE R18 R16
|
||||
0x7C440200, // 0057 CALL R17 1
|
||||
0xA802004B, // 0058 EXBLK 0 #00A5
|
||||
0x5C482200, // 0059 MOVE R18 R17
|
||||
0x7C480000, // 005A CALL R18 0
|
||||
0x4C4C0000, // 005B LDNIL R19
|
||||
0x204C0E13, // 005C NE R19 R7 R19
|
||||
0x784E0002, // 005D JMPF R19 #0061
|
||||
0x204C2407, // 005E NE R19 R18 R7
|
||||
0x784E0000, // 005F JMPF R19 #0061
|
||||
0x7001FFF7, // 0060 JMP #0059
|
||||
0x944C180F, // 0061 GETIDX R19 R12 R15
|
||||
0x8C4C270B, // 0062 GETMET R19 R19 K11
|
||||
0x5C542400, // 0063 MOVE R21 R18
|
||||
0x7C4C0400, // 0064 CALL R19 2
|
||||
0x744E0003, // 0065 JMPT R19 #006A
|
||||
0x944C180F, // 0066 GETIDX R19 R12 R15
|
||||
0x60500013, // 0067 GETGBL R20 G19
|
||||
0x7C500000, // 0068 CALL R20 0
|
||||
0x984C2414, // 0069 SETIDX R19 R18 R20
|
||||
0x50200200, // 006A LDBOOL R8 1 0
|
||||
0x8C4C1D0E, // 006B GETMET R19 R14 K14
|
||||
0x5C541E00, // 006C MOVE R21 R15
|
||||
0x5C582400, // 006D MOVE R22 R18
|
||||
0x7C4C0600, // 006E CALL R19 3
|
||||
0xB8520800, // 006F GETNGBL R20 K4
|
||||
0x8C502905, // 0070 GETMET R20 R20 K5
|
||||
0x8C580906, // 0071 GETMET R22 R4 K6
|
||||
0x5860000F, // 0072 LDCONST R24 K15
|
||||
0x60640008, // 0073 GETGBL R25 G8
|
||||
0x5C681C00, // 0074 MOVE R26 R14
|
||||
0x7C640200, // 0075 CALL R25 1
|
||||
0x60680008, // 0076 GETGBL R26 G8
|
||||
0x5C6C1E00, // 0077 MOVE R27 R15
|
||||
0x7C680200, // 0078 CALL R26 1
|
||||
0x606C0008, // 0079 GETGBL R27 G8
|
||||
0x5C702400, // 007A MOVE R28 R18
|
||||
0x7C6C0200, // 007B CALL R27 1
|
||||
0x60700008, // 007C GETGBL R28 G8
|
||||
0x5C742600, // 007D MOVE R29 R19
|
||||
0x7C700200, // 007E CALL R28 1
|
||||
0x7C580C00, // 007F CALL R22 6
|
||||
0x545E0003, // 0080 LDINT R23 4
|
||||
0x7C500600, // 0081 CALL R20 3
|
||||
0x60500010, // 0082 GETGBL R20 G16
|
||||
0x5C542600, // 0083 MOVE R21 R19
|
||||
0x7C500200, // 0084 CALL R20 1
|
||||
0xA802001A, // 0085 EXBLK 0 #00A1
|
||||
0x5C542800, // 0086 MOVE R21 R20
|
||||
0x7C540000, // 0087 CALL R21 0
|
||||
0x4C580000, // 0088 LDNIL R22
|
||||
0x20581216, // 0089 NE R22 R9 R22
|
||||
0x785A0002, // 008A JMPF R22 #008E
|
||||
0x20582A09, // 008B NE R22 R21 R9
|
||||
0x785A0000, // 008C JMPF R22 #008E
|
||||
0x7001FFF7, // 008D JMP #0086
|
||||
0x9458180F, // 008E GETIDX R22 R12 R15
|
||||
0x94582C12, // 008F GETIDX R22 R22 R18
|
||||
0x8C582D0B, // 0090 GETMET R22 R22 K11
|
||||
0x5C602A00, // 0091 MOVE R24 R21
|
||||
0x7C580400, // 0092 CALL R22 2
|
||||
0x745A0004, // 0093 JMPT R22 #0099
|
||||
0x9458180F, // 0094 GETIDX R22 R12 R15
|
||||
0x94582C12, // 0095 GETIDX R22 R22 R18
|
||||
0x605C0012, // 0096 GETGBL R23 G18
|
||||
0x7C5C0000, // 0097 CALL R23 0
|
||||
0x98582A17, // 0098 SETIDX R22 R21 R23
|
||||
0x50280200, // 0099 LDBOOL R10 1 0
|
||||
0x9458180F, // 009A GETIDX R22 R12 R15
|
||||
0x94582C12, // 009B GETIDX R22 R22 R18
|
||||
0x94582C15, // 009C GETIDX R22 R22 R21
|
||||
0x8C582D10, // 009D GETMET R22 R22 K16
|
||||
0x5C601C00, // 009E MOVE R24 R14
|
||||
0x7C580400, // 009F CALL R22 2
|
||||
0x7001FFE4, // 00A0 JMP #0086
|
||||
0x58500011, // 00A1 LDCONST R20 K17
|
||||
0xAC500200, // 00A2 CATCH R20 1 0
|
||||
0xB0080000, // 00A3 RAISE 2 R0 R0
|
||||
0x7001FFB3, // 00A4 JMP #0059
|
||||
0x58440011, // 00A5 LDCONST R17 K17
|
||||
0xAC440200, // 00A6 CATCH R17 1 0
|
||||
0xB0080000, // 00A7 RAISE 2 R0 R0
|
||||
0x7001FF86, // 00A8 JMP #0030
|
||||
0x58340011, // 00A9 LDCONST R13 K17
|
||||
0xAC340200, // 00AA CATCH R13 1 0
|
||||
0xB0080000, // 00AB RAISE 2 R0 R0
|
||||
0x60340010, // 00AC GETGBL R13 G16
|
||||
0x5C380600, // 00AD MOVE R14 R3
|
||||
0x5C3C1800, // 00AE MOVE R15 R12
|
||||
0x7C380200, // 00AF CALL R14 1
|
||||
0x7C340200, // 00B0 CALL R13 1
|
||||
0xA802003D, // 00B1 EXBLK 0 #00F0
|
||||
0x5C381A00, // 00B2 MOVE R14 R13
|
||||
0x7C380000, // 00B3 CALL R14 0
|
||||
0x603C0010, // 00B4 GETGBL R15 G16
|
||||
0x5C400600, // 00B5 MOVE R16 R3
|
||||
0x9444180E, // 00B6 GETIDX R17 R12 R14
|
||||
0x7C400200, // 00B7 CALL R16 1
|
||||
0x7C3C0200, // 00B8 CALL R15 1
|
||||
0xA8020031, // 00B9 EXBLK 0 #00EC
|
||||
0x5C401E00, // 00BA MOVE R16 R15
|
||||
0x7C400000, // 00BB CALL R16 0
|
||||
0x60440010, // 00BC GETGBL R17 G16
|
||||
0x5C480600, // 00BD MOVE R18 R3
|
||||
0x944C180E, // 00BE GETIDX R19 R12 R14
|
||||
0x944C2610, // 00BF GETIDX R19 R19 R16
|
||||
0x7C480200, // 00C0 CALL R18 1
|
||||
0x7C440200, // 00C1 CALL R17 1
|
||||
0xA8020024, // 00C2 EXBLK 0 #00E8
|
||||
0x5C482200, // 00C3 MOVE R18 R17
|
||||
0x7C480000, // 00C4 CALL R18 0
|
||||
0x604C0010, // 00C5 GETGBL R19 G16
|
||||
0x9450180E, // 00C6 GETIDX R20 R12 R14
|
||||
0x94502810, // 00C7 GETIDX R20 R20 R16
|
||||
0x94502812, // 00C8 GETIDX R20 R20 R18
|
||||
0x7C4C0200, // 00C9 CALL R19 1
|
||||
0xA8020018, // 00CA EXBLK 0 #00E4
|
||||
0x5C502600, // 00CB MOVE R20 R19
|
||||
0x7C500000, // 00CC CALL R20 0
|
||||
0xB8560800, // 00CD GETNGBL R21 K4
|
||||
0x8C542B05, // 00CE GETMET R21 R21 K5
|
||||
0x8C5C0906, // 00CF GETMET R23 R4 K6
|
||||
0x58640012, // 00D0 LDCONST R25 K18
|
||||
0x5C681C00, // 00D1 MOVE R26 R14
|
||||
0x5C6C2000, // 00D2 MOVE R27 R16
|
||||
0x5C702400, // 00D3 MOVE R28 R18
|
||||
0x7C5C0A00, // 00D4 CALL R23 5
|
||||
0x58600013, // 00D5 LDCONST R24 K19
|
||||
0x7C540600, // 00D6 CALL R21 3
|
||||
0x9006020E, // 00D7 SETMBR R1 K1 R14
|
||||
0x90060410, // 00D8 SETMBR R1 K2 R16
|
||||
0x90060612, // 00D9 SETMBR R1 K3 R18
|
||||
0x5C540400, // 00DA MOVE R21 R2
|
||||
0x5C582800, // 00DB MOVE R22 R20
|
||||
0x5C5C0200, // 00DC MOVE R23 R1
|
||||
0x5C601600, // 00DD MOVE R24 R11
|
||||
0x7C540600, // 00DE CALL R21 3
|
||||
0x782E0002, // 00DF JMPF R11 #00E3
|
||||
0x78560001, // 00E0 JMPF R21 #00E3
|
||||
0xA8040004, // 00E1 EXBLK 1 4
|
||||
0x80002C00, // 00E2 RET 0
|
||||
0x7001FFE6, // 00E3 JMP #00CB
|
||||
0x584C0011, // 00E4 LDCONST R19 K17
|
||||
0xAC4C0200, // 00E5 CATCH R19 1 0
|
||||
0xB0080000, // 00E6 RAISE 2 R0 R0
|
||||
0x7001FFDA, // 00E7 JMP #00C3
|
||||
0x58440011, // 00E8 LDCONST R17 K17
|
||||
0xAC440200, // 00E9 CATCH R17 1 0
|
||||
0xB0080000, // 00EA RAISE 2 R0 R0
|
||||
0x7001FFCD, // 00EB JMP #00BA
|
||||
0x583C0011, // 00EC LDCONST R15 K17
|
||||
0xAC3C0200, // 00ED CATCH R15 1 0
|
||||
0xB0080000, // 00EE RAISE 2 R0 R0
|
||||
0x7001FFC1, // 00EF JMP #00B2
|
||||
0x58340011, // 00F0 LDCONST R13 K17
|
||||
0xAC340200, // 00F1 CATCH R13 1 0
|
||||
0xB0080000, // 00F2 RAISE 2 R0 R0
|
||||
0x782E0019, // 00F3 JMPF R11 #010E
|
||||
0x5C340C00, // 00F4 MOVE R13 R6
|
||||
0x74360003, // 00F5 JMPT R13 #00FA
|
||||
0xB8362A00, // 00F6 GETNGBL R13 K21
|
||||
0x88341B16, // 00F7 GETMBR R13 R13 K22
|
||||
0x9006280D, // 00F8 SETMBR R1 K20 R13
|
||||
0x7002000E, // 00F9 JMP #0109
|
||||
0x5C341000, // 00FA MOVE R13 R8
|
||||
0x74360003, // 00FB JMPT R13 #0100
|
||||
0xB8362A00, // 00FC GETNGBL R13 K21
|
||||
0x88341B17, // 00FD GETMBR R13 R13 K23
|
||||
0x9006280D, // 00FE SETMBR R1 K20 R13
|
||||
0x70020008, // 00FF JMP #0109
|
||||
0x5C341400, // 0100 MOVE R13 R10
|
||||
0x74360003, // 0101 JMPT R13 #0106
|
||||
0xB8362A00, // 0102 GETNGBL R13 K21
|
||||
0x88341B18, // 0103 GETMBR R13 R13 K24
|
||||
0x9006280D, // 0104 SETMBR R1 K20 R13
|
||||
0x70020002, // 0105 JMP #0109
|
||||
0xB8362A00, // 0106 GETNGBL R13 K21
|
||||
0x88341B19, // 0107 GETMBR R13 R13 K25
|
||||
0x9006280D, // 0108 SETMBR R1 K20 R13
|
||||
0x5C340400, // 0109 MOVE R13 R2
|
||||
0x4C380000, // 010A LDNIL R14
|
||||
0x5C3C0200, // 010B MOVE R15 R1
|
||||
0x50400200, // 010C LDBOOL R16 1 0
|
||||
0x7C340600, // 010D CALL R13 3
|
||||
0x80000000, // 010E RET 0
|
||||
0x60300013, // 0016 GETGBL R12 G19
|
||||
0x7C300000, // 0017 CALL R12 0
|
||||
0x60340010, // 0018 GETGBL R13 G16
|
||||
0x88380104, // 0019 GETMBR R14 R0 K4
|
||||
0x7C340200, // 001A CALL R13 1
|
||||
0xA8020055, // 001B EXBLK 0 #0072
|
||||
0x5C381A00, // 001C MOVE R14 R13
|
||||
0x7C380000, // 001D CALL R14 0
|
||||
0x8C3C1D05, // 001E GETMET R15 R14 K5
|
||||
0x7C3C0200, // 001F CALL R15 1
|
||||
0x4C400000, // 0020 LDNIL R16
|
||||
0x20400A10, // 0021 NE R16 R5 R16
|
||||
0x78420002, // 0022 JMPF R16 #0026
|
||||
0x20401E05, // 0023 NE R16 R15 R5
|
||||
0x78420000, // 0024 JMPF R16 #0026
|
||||
0x7001FFF5, // 0025 JMP #001C
|
||||
0x8C401906, // 0026 GETMET R16 R12 K6
|
||||
0x5C481E00, // 0027 MOVE R18 R15
|
||||
0x7C400400, // 0028 CALL R16 2
|
||||
0x74420002, // 0029 JMPT R16 #002D
|
||||
0x60400013, // 002A GETGBL R16 G19
|
||||
0x7C400000, // 002B CALL R16 0
|
||||
0x98301E10, // 002C SETIDX R12 R15 R16
|
||||
0x50180200, // 002D LDBOOL R6 1 0
|
||||
0x8C401D07, // 002E GETMET R16 R14 K7
|
||||
0x5C481E00, // 002F MOVE R18 R15
|
||||
0x7C400400, // 0030 CALL R16 2
|
||||
0x60440010, // 0031 GETGBL R17 G16
|
||||
0x5C482000, // 0032 MOVE R18 R16
|
||||
0x7C440200, // 0033 CALL R17 1
|
||||
0xA8020038, // 0034 EXBLK 0 #006E
|
||||
0x5C482200, // 0035 MOVE R18 R17
|
||||
0x7C480000, // 0036 CALL R18 0
|
||||
0x4C4C0000, // 0037 LDNIL R19
|
||||
0x204C0E13, // 0038 NE R19 R7 R19
|
||||
0x784E0002, // 0039 JMPF R19 #003D
|
||||
0x204C2407, // 003A NE R19 R18 R7
|
||||
0x784E0000, // 003B JMPF R19 #003D
|
||||
0x7001FFF7, // 003C JMP #0035
|
||||
0x944C180F, // 003D GETIDX R19 R12 R15
|
||||
0x8C4C2706, // 003E GETMET R19 R19 K6
|
||||
0x5C542400, // 003F MOVE R21 R18
|
||||
0x7C4C0400, // 0040 CALL R19 2
|
||||
0x744E0003, // 0041 JMPT R19 #0046
|
||||
0x944C180F, // 0042 GETIDX R19 R12 R15
|
||||
0x60500013, // 0043 GETGBL R20 G19
|
||||
0x7C500000, // 0044 CALL R20 0
|
||||
0x984C2414, // 0045 SETIDX R19 R18 R20
|
||||
0x50200200, // 0046 LDBOOL R8 1 0
|
||||
0x8C4C1D08, // 0047 GETMET R19 R14 K8
|
||||
0x5C541E00, // 0048 MOVE R21 R15
|
||||
0x5C582400, // 0049 MOVE R22 R18
|
||||
0x7C4C0600, // 004A CALL R19 3
|
||||
0x60500010, // 004B GETGBL R20 G16
|
||||
0x5C542600, // 004C MOVE R21 R19
|
||||
0x7C500200, // 004D CALL R20 1
|
||||
0xA802001A, // 004E EXBLK 0 #006A
|
||||
0x5C542800, // 004F MOVE R21 R20
|
||||
0x7C540000, // 0050 CALL R21 0
|
||||
0x4C580000, // 0051 LDNIL R22
|
||||
0x20581216, // 0052 NE R22 R9 R22
|
||||
0x785A0002, // 0053 JMPF R22 #0057
|
||||
0x20582A09, // 0054 NE R22 R21 R9
|
||||
0x785A0000, // 0055 JMPF R22 #0057
|
||||
0x7001FFF7, // 0056 JMP #004F
|
||||
0x9458180F, // 0057 GETIDX R22 R12 R15
|
||||
0x94582C12, // 0058 GETIDX R22 R22 R18
|
||||
0x8C582D06, // 0059 GETMET R22 R22 K6
|
||||
0x5C602A00, // 005A MOVE R24 R21
|
||||
0x7C580400, // 005B CALL R22 2
|
||||
0x745A0004, // 005C JMPT R22 #0062
|
||||
0x9458180F, // 005D GETIDX R22 R12 R15
|
||||
0x94582C12, // 005E GETIDX R22 R22 R18
|
||||
0x605C0012, // 005F GETGBL R23 G18
|
||||
0x7C5C0000, // 0060 CALL R23 0
|
||||
0x98582A17, // 0061 SETIDX R22 R21 R23
|
||||
0x50280200, // 0062 LDBOOL R10 1 0
|
||||
0x9458180F, // 0063 GETIDX R22 R12 R15
|
||||
0x94582C12, // 0064 GETIDX R22 R22 R18
|
||||
0x94582C15, // 0065 GETIDX R22 R22 R21
|
||||
0x8C582D09, // 0066 GETMET R22 R22 K9
|
||||
0x5C601C00, // 0067 MOVE R24 R14
|
||||
0x7C580400, // 0068 CALL R22 2
|
||||
0x7001FFE4, // 0069 JMP #004F
|
||||
0x5850000A, // 006A LDCONST R20 K10
|
||||
0xAC500200, // 006B CATCH R20 1 0
|
||||
0xB0080000, // 006C RAISE 2 R0 R0
|
||||
0x7001FFC6, // 006D JMP #0035
|
||||
0x5844000A, // 006E LDCONST R17 K10
|
||||
0xAC440200, // 006F CATCH R17 1 0
|
||||
0xB0080000, // 0070 RAISE 2 R0 R0
|
||||
0x7001FFA9, // 0071 JMP #001C
|
||||
0x5834000A, // 0072 LDCONST R13 K10
|
||||
0xAC340200, // 0073 CATCH R13 1 0
|
||||
0xB0080000, // 0074 RAISE 2 R0 R0
|
||||
0x60340010, // 0075 GETGBL R13 G16
|
||||
0x5C380600, // 0076 MOVE R14 R3
|
||||
0x5C3C1800, // 0077 MOVE R15 R12
|
||||
0x7C380200, // 0078 CALL R14 1
|
||||
0x7C340200, // 0079 CALL R13 1
|
||||
0xA802003D, // 007A EXBLK 0 #00B9
|
||||
0x5C381A00, // 007B MOVE R14 R13
|
||||
0x7C380000, // 007C CALL R14 0
|
||||
0x603C0010, // 007D GETGBL R15 G16
|
||||
0x5C400600, // 007E MOVE R16 R3
|
||||
0x9444180E, // 007F GETIDX R17 R12 R14
|
||||
0x7C400200, // 0080 CALL R16 1
|
||||
0x7C3C0200, // 0081 CALL R15 1
|
||||
0xA8020031, // 0082 EXBLK 0 #00B5
|
||||
0x5C401E00, // 0083 MOVE R16 R15
|
||||
0x7C400000, // 0084 CALL R16 0
|
||||
0x60440010, // 0085 GETGBL R17 G16
|
||||
0x5C480600, // 0086 MOVE R18 R3
|
||||
0x944C180E, // 0087 GETIDX R19 R12 R14
|
||||
0x944C2610, // 0088 GETIDX R19 R19 R16
|
||||
0x7C480200, // 0089 CALL R18 1
|
||||
0x7C440200, // 008A CALL R17 1
|
||||
0xA8020024, // 008B EXBLK 0 #00B1
|
||||
0x5C482200, // 008C MOVE R18 R17
|
||||
0x7C480000, // 008D CALL R18 0
|
||||
0x604C0010, // 008E GETGBL R19 G16
|
||||
0x9450180E, // 008F GETIDX R20 R12 R14
|
||||
0x94502810, // 0090 GETIDX R20 R20 R16
|
||||
0x94502812, // 0091 GETIDX R20 R20 R18
|
||||
0x7C4C0200, // 0092 CALL R19 1
|
||||
0xA8020018, // 0093 EXBLK 0 #00AD
|
||||
0x5C502600, // 0094 MOVE R20 R19
|
||||
0x7C500000, // 0095 CALL R20 0
|
||||
0xB8561600, // 0096 GETNGBL R21 K11
|
||||
0x8C542B0C, // 0097 GETMET R21 R21 K12
|
||||
0x8C5C090D, // 0098 GETMET R23 R4 K13
|
||||
0x5864000E, // 0099 LDCONST R25 K14
|
||||
0x5C681C00, // 009A MOVE R26 R14
|
||||
0x5C6C2000, // 009B MOVE R27 R16
|
||||
0x5C702400, // 009C MOVE R28 R18
|
||||
0x7C5C0A00, // 009D CALL R23 5
|
||||
0x5860000F, // 009E LDCONST R24 K15
|
||||
0x7C540600, // 009F CALL R21 3
|
||||
0x9006020E, // 00A0 SETMBR R1 K1 R14
|
||||
0x90060410, // 00A1 SETMBR R1 K2 R16
|
||||
0x90060612, // 00A2 SETMBR R1 K3 R18
|
||||
0x5C540400, // 00A3 MOVE R21 R2
|
||||
0x5C582800, // 00A4 MOVE R22 R20
|
||||
0x5C5C0200, // 00A5 MOVE R23 R1
|
||||
0x5C601600, // 00A6 MOVE R24 R11
|
||||
0x7C540600, // 00A7 CALL R21 3
|
||||
0x782E0002, // 00A8 JMPF R11 #00AC
|
||||
0x78560001, // 00A9 JMPF R21 #00AC
|
||||
0xA8040004, // 00AA EXBLK 1 4
|
||||
0x80002C00, // 00AB RET 0
|
||||
0x7001FFE6, // 00AC JMP #0094
|
||||
0x584C000A, // 00AD LDCONST R19 K10
|
||||
0xAC4C0200, // 00AE CATCH R19 1 0
|
||||
0xB0080000, // 00AF RAISE 2 R0 R0
|
||||
0x7001FFDA, // 00B0 JMP #008C
|
||||
0x5844000A, // 00B1 LDCONST R17 K10
|
||||
0xAC440200, // 00B2 CATCH R17 1 0
|
||||
0xB0080000, // 00B3 RAISE 2 R0 R0
|
||||
0x7001FFCD, // 00B4 JMP #0083
|
||||
0x583C000A, // 00B5 LDCONST R15 K10
|
||||
0xAC3C0200, // 00B6 CATCH R15 1 0
|
||||
0xB0080000, // 00B7 RAISE 2 R0 R0
|
||||
0x7001FFC1, // 00B8 JMP #007B
|
||||
0x5834000A, // 00B9 LDCONST R13 K10
|
||||
0xAC340200, // 00BA CATCH R13 1 0
|
||||
0xB0080000, // 00BB RAISE 2 R0 R0
|
||||
0x782E0019, // 00BC JMPF R11 #00D7
|
||||
0x5C340C00, // 00BD MOVE R13 R6
|
||||
0x74360003, // 00BE JMPT R13 #00C3
|
||||
0xB8362200, // 00BF GETNGBL R13 K17
|
||||
0x88341B12, // 00C0 GETMBR R13 R13 K18
|
||||
0x9006200D, // 00C1 SETMBR R1 K16 R13
|
||||
0x7002000E, // 00C2 JMP #00D2
|
||||
0x5C341000, // 00C3 MOVE R13 R8
|
||||
0x74360003, // 00C4 JMPT R13 #00C9
|
||||
0xB8362200, // 00C5 GETNGBL R13 K17
|
||||
0x88341B13, // 00C6 GETMBR R13 R13 K19
|
||||
0x9006200D, // 00C7 SETMBR R1 K16 R13
|
||||
0x70020008, // 00C8 JMP #00D2
|
||||
0x5C341400, // 00C9 MOVE R13 R10
|
||||
0x74360003, // 00CA JMPT R13 #00CF
|
||||
0xB8362200, // 00CB GETNGBL R13 K17
|
||||
0x88341B14, // 00CC GETMBR R13 R13 K20
|
||||
0x9006200D, // 00CD SETMBR R1 K16 R13
|
||||
0x70020002, // 00CE JMP #00D2
|
||||
0xB8362200, // 00CF GETNGBL R13 K17
|
||||
0x88341B15, // 00D0 GETMBR R13 R13 K21
|
||||
0x9006200D, // 00D1 SETMBR R1 K16 R13
|
||||
0x5C340400, // 00D2 MOVE R13 R2
|
||||
0x4C380000, // 00D3 LDNIL R14
|
||||
0x5C3C0200, // 00D4 MOVE R15 R1
|
||||
0x50400200, // 00D5 LDBOOL R16 1 0
|
||||
0x7C340600, // 00D6 CALL R13 3
|
||||
0x80000000, // 00D7 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -331,25 +331,25 @@ be_local_closure(Matter_Frame_debug, /* name */
|
||||
be_str_weak(debug),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[19]) { /* code */
|
||||
0xB80A0000, // 0000 GETNGBL R2 K0
|
||||
0x8C080501, // 0001 GETMET R2 R2 K1
|
||||
0x88100102, // 0002 GETMBR R4 R0 K2
|
||||
0x5C140200, // 0003 MOVE R5 R1
|
||||
0x7C080600, // 0004 CALL R2 3
|
||||
0x8C0C0503, // 0005 GETMET R3 R2 K3
|
||||
0x7C0C0200, // 0006 CALL R3 1
|
||||
0x8C0C0504, // 0007 GETMET R3 R2 K4
|
||||
0x7C0C0200, // 0008 CALL R3 1
|
||||
0xB80E0A00, // 0009 GETNGBL R3 K5
|
||||
0x8C0C0706, // 000A GETMET R3 R3 K6
|
||||
0xB8160000, // 000B GETNGBL R5 K0
|
||||
0x8C140B08, // 000C GETMET R5 R5 K8
|
||||
0x5C1C0400, // 000D MOVE R7 R2
|
||||
0x7C140400, // 000E CALL R5 2
|
||||
0x00160E05, // 000F ADD R5 K7 R5
|
||||
0x541A0003, // 0010 LDINT R6 4
|
||||
0x7C0C0600, // 0011 CALL R3 3
|
||||
0x80000000, // 0012 RET 0
|
||||
0x80000400, // 0000 RET 0
|
||||
0xB80A0000, // 0001 GETNGBL R2 K0
|
||||
0x8C080501, // 0002 GETMET R2 R2 K1
|
||||
0x88100102, // 0003 GETMBR R4 R0 K2
|
||||
0x5C140200, // 0004 MOVE R5 R1
|
||||
0x7C080600, // 0005 CALL R2 3
|
||||
0x8C0C0503, // 0006 GETMET R3 R2 K3
|
||||
0x7C0C0200, // 0007 CALL R3 1
|
||||
0x8C0C0504, // 0008 GETMET R3 R2 K4
|
||||
0x7C0C0200, // 0009 CALL R3 1
|
||||
0xB80E0A00, // 000A GETNGBL R3 K5
|
||||
0x8C0C0706, // 000B GETMET R3 R3 K6
|
||||
0xB8160000, // 000C GETNGBL R5 K0
|
||||
0x8C140B08, // 000D GETMET R5 R5 K8
|
||||
0x5C1C0400, // 000E MOVE R7 R2
|
||||
0x7C140400, // 000F CALL R5 2
|
||||
0x00160E05, // 0010 ADD R5 K7 R5
|
||||
0x541A0003, // 0011 LDINT R6 4
|
||||
0x7C0C0600, // 0012 CALL R3 3
|
||||
})
|
||||
)
|
||||
);
|
||||
@ -1039,7 +1039,7 @@ be_local_closure(Matter_Frame_decrypt, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[37]) { /* constants */
|
||||
( &(const bvalue[28]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(crypto),
|
||||
/* K1 */ be_nested_str_weak(session),
|
||||
/* K2 */ be_nested_str_weak(raw),
|
||||
@ -1065,22 +1065,13 @@ be_local_closure(Matter_Frame_decrypt, /* name */
|
||||
/* K22 */ be_nested_str_weak(source_node_id),
|
||||
/* K23 */ be_nested_str_weak(peer_node_id),
|
||||
/* K24 */ be_nested_str_weak(resize),
|
||||
/* K25 */ be_nested_str_weak(MTR_X3A_X20_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A_X2A),
|
||||
/* K26 */ be_nested_str_weak(MTR_X3A_X20i2r_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
||||
/* K27 */ be_nested_str_weak(tohex),
|
||||
/* K28 */ be_nested_str_weak(MTR_X3A_X20p_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
||||
/* K29 */ be_nested_str_weak(MTR_X3A_X20a_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
||||
/* K30 */ be_nested_str_weak(MTR_X3A_X20n_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
||||
/* K31 */ be_nested_str_weak(MTR_X3A_X20mic_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
||||
/* K32 */ be_nested_str_weak(AES_CCM),
|
||||
/* K33 */ be_nested_str_weak(tag),
|
||||
/* K34 */ be_nested_str_weak(MTR_X3A_X20cleartext_X20_X20_X20_X3D),
|
||||
/* K35 */ be_nested_str_weak(MTR_X3A_X20tag_X20_X20_X20_X20_X20_X20_X20_X20_X20_X3D),
|
||||
/* K36 */ be_nested_str_weak(MTR_X3A_X20rejected_X20packet_X20due_X20to_X20invalid_X20MIC),
|
||||
/* K25 */ be_nested_str_weak(AES_CCM),
|
||||
/* K26 */ be_nested_str_weak(tag),
|
||||
/* K27 */ be_nested_str_weak(MTR_X3A_X20rejected_X20packet_X20due_X20to_X20invalid_X20MIC),
|
||||
}),
|
||||
be_str_weak(decrypt),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[170]) { /* code */
|
||||
( &(const binstruction[106]) { /* code */
|
||||
0xA4060000, // 0000 IMPORT R1 K0
|
||||
0x88080101, // 0001 GETMBR R2 R0 K1
|
||||
0x880C0102, // 0002 GETMBR R3 R0 K2
|
||||
@ -1163,94 +1154,30 @@ be_local_closure(Matter_Frame_decrypt, /* name */
|
||||
0x8C241118, // 004F GETMET R9 R8 K24
|
||||
0x542E000C, // 0050 LDINT R11 13
|
||||
0x7C240400, // 0051 CALL R9 2
|
||||
0xB8260C00, // 0052 GETNGBL R9 K6
|
||||
0x8C241307, // 0053 GETMET R9 R9 K7
|
||||
0x582C0019, // 0054 LDCONST R11 K25
|
||||
0x54320003, // 0055 LDINT R12 4
|
||||
0x7C240600, // 0056 CALL R9 3
|
||||
0xB8260C00, // 0057 GETNGBL R9 K6
|
||||
0x8C241307, // 0058 GETMET R9 R9 K7
|
||||
0x8C2C0B1B, // 0059 GETMET R11 R5 K27
|
||||
0x7C2C0200, // 005A CALL R11 1
|
||||
0x002E340B, // 005B ADD R11 K26 R11
|
||||
0x54320003, // 005C LDINT R12 4
|
||||
0x7C240600, // 005D CALL R9 3
|
||||
0xB8260C00, // 005E GETNGBL R9 K6
|
||||
0x8C241307, // 005F GETMET R9 R9 K7
|
||||
0x8C2C0F1B, // 0060 GETMET R11 R7 K27
|
||||
0x7C2C0200, // 0061 CALL R11 1
|
||||
0x002E380B, // 0062 ADD R11 K28 R11
|
||||
0x54320003, // 0063 LDINT R12 4
|
||||
0x7C240600, // 0064 CALL R9 3
|
||||
0xB8260C00, // 0065 GETNGBL R9 K6
|
||||
0x8C241307, // 0066 GETMET R9 R9 K7
|
||||
0x8C2C0D1B, // 0067 GETMET R11 R6 K27
|
||||
0x7C2C0200, // 0068 CALL R11 1
|
||||
0x002E3A0B, // 0069 ADD R11 K29 R11
|
||||
0x54320003, // 006A LDINT R12 4
|
||||
0x7C240600, // 006B CALL R9 3
|
||||
0xB8260C00, // 006C GETNGBL R9 K6
|
||||
0x8C241307, // 006D GETMET R9 R9 K7
|
||||
0x8C2C111B, // 006E GETMET R11 R8 K27
|
||||
0x7C2C0200, // 006F CALL R11 1
|
||||
0x002E3C0B, // 0070 ADD R11 K30 R11
|
||||
0x54320003, // 0071 LDINT R12 4
|
||||
0x7C240600, // 0072 CALL R9 3
|
||||
0xB8260C00, // 0073 GETNGBL R9 K6
|
||||
0x8C241307, // 0074 GETMET R9 R9 K7
|
||||
0x8C2C091B, // 0075 GETMET R11 R4 K27
|
||||
0x7C2C0200, // 0076 CALL R11 1
|
||||
0x002E3E0B, // 0077 ADD R11 K31 R11
|
||||
0x54320003, // 0078 LDINT R12 4
|
||||
0x7C240600, // 0079 CALL R9 3
|
||||
0x8C240320, // 007A GETMET R9 R1 K32
|
||||
0x5C2C0A00, // 007B MOVE R11 R5
|
||||
0x5C301000, // 007C MOVE R12 R8
|
||||
0x5C340C00, // 007D MOVE R13 R6
|
||||
0x6038000C, // 007E GETGBL R14 G12
|
||||
0x5C3C0E00, // 007F MOVE R15 R7
|
||||
0x7C380200, // 0080 CALL R14 1
|
||||
0x543E000F, // 0081 LDINT R15 16
|
||||
0x7C240C00, // 0082 CALL R9 6
|
||||
0x8C281310, // 0083 GETMET R10 R9 K16
|
||||
0x5C300E00, // 0084 MOVE R12 R7
|
||||
0x7C280400, // 0085 CALL R10 2
|
||||
0x8C2C1321, // 0086 GETMET R11 R9 K33
|
||||
0x7C2C0200, // 0087 CALL R11 1
|
||||
0xB8320C00, // 0088 GETNGBL R12 K6
|
||||
0x8C301907, // 0089 GETMET R12 R12 K7
|
||||
0x58380019, // 008A LDCONST R14 K25
|
||||
0x543E0003, // 008B LDINT R15 4
|
||||
0x7C300600, // 008C CALL R12 3
|
||||
0xB8320C00, // 008D GETNGBL R12 K6
|
||||
0x8C301907, // 008E GETMET R12 R12 K7
|
||||
0x8C38151B, // 008F GETMET R14 R10 K27
|
||||
0x7C380200, // 0090 CALL R14 1
|
||||
0x003A440E, // 0091 ADD R14 K34 R14
|
||||
0x543E0003, // 0092 LDINT R15 4
|
||||
0x7C300600, // 0093 CALL R12 3
|
||||
0xB8320C00, // 0094 GETNGBL R12 K6
|
||||
0x8C301907, // 0095 GETMET R12 R12 K7
|
||||
0x8C38171B, // 0096 GETMET R14 R11 K27
|
||||
0x7C380200, // 0097 CALL R14 1
|
||||
0x003A460E, // 0098 ADD R14 K35 R14
|
||||
0x543E0003, // 0099 LDINT R15 4
|
||||
0x7C300600, // 009A CALL R12 3
|
||||
0xB8320C00, // 009B GETNGBL R12 K6
|
||||
0x8C301907, // 009C GETMET R12 R12 K7
|
||||
0x58380019, // 009D LDCONST R14 K25
|
||||
0x543E0003, // 009E LDINT R15 4
|
||||
0x7C300600, // 009F CALL R12 3
|
||||
0x20301604, // 00A0 NE R12 R11 R4
|
||||
0x78320006, // 00A1 JMPF R12 #00A9
|
||||
0xB8320C00, // 00A2 GETNGBL R12 K6
|
||||
0x8C301907, // 00A3 GETMET R12 R12 K7
|
||||
0x58380024, // 00A4 LDCONST R14 K36
|
||||
0x583C0009, // 00A5 LDCONST R15 K9
|
||||
0x7C300600, // 00A6 CALL R12 3
|
||||
0x4C300000, // 00A7 LDNIL R12
|
||||
0x80041800, // 00A8 RET 1 R12
|
||||
0x80041400, // 00A9 RET 1 R10
|
||||
0x8C240319, // 0052 GETMET R9 R1 K25
|
||||
0x5C2C0A00, // 0053 MOVE R11 R5
|
||||
0x5C301000, // 0054 MOVE R12 R8
|
||||
0x5C340C00, // 0055 MOVE R13 R6
|
||||
0x6038000C, // 0056 GETGBL R14 G12
|
||||
0x5C3C0E00, // 0057 MOVE R15 R7
|
||||
0x7C380200, // 0058 CALL R14 1
|
||||
0x543E000F, // 0059 LDINT R15 16
|
||||
0x7C240C00, // 005A CALL R9 6
|
||||
0x8C281310, // 005B GETMET R10 R9 K16
|
||||
0x5C300E00, // 005C MOVE R12 R7
|
||||
0x7C280400, // 005D CALL R10 2
|
||||
0x8C2C131A, // 005E GETMET R11 R9 K26
|
||||
0x7C2C0200, // 005F CALL R11 1
|
||||
0x20301604, // 0060 NE R12 R11 R4
|
||||
0x78320006, // 0061 JMPF R12 #0069
|
||||
0xB8320C00, // 0062 GETNGBL R12 K6
|
||||
0x8C301907, // 0063 GETMET R12 R12 K7
|
||||
0x5838001B, // 0064 LDCONST R14 K27
|
||||
0x583C0009, // 0065 LDCONST R15 K9
|
||||
0x7C300600, // 0066 CALL R12 3
|
||||
0x4C300000, // 0067 LDNIL R12
|
||||
0x80041800, // 0068 RET 1 R12
|
||||
0x80041400, // 0069 RET 1 R10
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -221,7 +221,7 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[75]) { /* constants */
|
||||
( &(const bvalue[74]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(string),
|
||||
/* K1 */ be_nested_str_weak(matter),
|
||||
/* K2 */ be_nested_str_weak(Frame),
|
||||
@ -238,30 +238,30 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */
|
||||
/* K13 */ be_nested_str_weak(MTR_X3A_X20find_X20session_X20by_X20source_node_id_X20_X3D_X20),
|
||||
/* K14 */ be_nested_str_weak(_X20session_id_X20_X3D_X20),
|
||||
/* K15 */ be_nested_str_weak(local_session_id),
|
||||
/* K16 */ be_const_int(2),
|
||||
/* K17 */ be_nested_str_weak(control_message),
|
||||
/* K18 */ be_nested_str_weak(process_incoming_control_message),
|
||||
/* K19 */ be_const_int(0),
|
||||
/* K20 */ be_nested_str_weak(sec_sesstype),
|
||||
/* K21 */ be_const_int(3),
|
||||
/* K22 */ be_nested_str_weak(_ip),
|
||||
/* K23 */ be_nested_str_weak(_port),
|
||||
/* K24 */ be_nested_str_weak(_message_handler),
|
||||
/* K25 */ be_nested_str_weak(session),
|
||||
/* K26 */ be_nested_str_weak(_counter_insecure_rcv),
|
||||
/* K27 */ be_nested_str_weak(validate),
|
||||
/* K28 */ be_nested_str_weak(message_counter),
|
||||
/* K29 */ be_nested_str_weak(format),
|
||||
/* K30 */ 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),
|
||||
/* K31 */ be_nested_str_weak(val),
|
||||
/* K32 */ be_nested_str_weak(send_simple_ack),
|
||||
/* K33 */ be_nested_str_weak(decode_payload),
|
||||
/* K34 */ be_nested_str_weak(received_ack),
|
||||
/* K35 */ be_nested_str_weak(opcode),
|
||||
/* K36 */ be_nested_str_weak(get_opcode_name),
|
||||
/* K37 */ be_nested_str_weak(0x_X2502X),
|
||||
/* K38 */ 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),
|
||||
/* K39 */ be_nested_str_weak(exchange_id),
|
||||
/* K16 */ be_nested_str_weak(control_message),
|
||||
/* K17 */ be_nested_str_weak(process_incoming_control_message),
|
||||
/* K18 */ be_const_int(0),
|
||||
/* K19 */ be_nested_str_weak(sec_sesstype),
|
||||
/* K20 */ be_nested_str_weak(_ip),
|
||||
/* K21 */ be_nested_str_weak(_port),
|
||||
/* K22 */ be_nested_str_weak(_message_handler),
|
||||
/* K23 */ be_nested_str_weak(session),
|
||||
/* K24 */ be_nested_str_weak(_counter_insecure_rcv),
|
||||
/* K25 */ be_nested_str_weak(validate),
|
||||
/* K26 */ be_nested_str_weak(message_counter),
|
||||
/* K27 */ be_nested_str_weak(format),
|
||||
/* K28 */ 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),
|
||||
/* K29 */ be_nested_str_weak(val),
|
||||
/* K30 */ be_const_int(3),
|
||||
/* K31 */ be_nested_str_weak(send_simple_ack),
|
||||
/* K32 */ be_nested_str_weak(decode_payload),
|
||||
/* K33 */ be_nested_str_weak(received_ack),
|
||||
/* K34 */ be_nested_str_weak(opcode),
|
||||
/* K35 */ be_nested_str_weak(get_opcode_name),
|
||||
/* K36 */ be_nested_str_weak(0x_X2502X),
|
||||
/* K37 */ 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),
|
||||
/* K38 */ be_nested_str_weak(exchange_id),
|
||||
/* K39 */ be_const_int(2),
|
||||
/* K40 */ 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),
|
||||
/* K41 */ be_nested_str_weak(x_flag_r),
|
||||
/* K42 */ be_nested_str_weak(_X7Breliable_X7D_X20),
|
||||
@ -288,22 +288,21 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */
|
||||
/* K63 */ be_nested_str_weak(_X20opcode_X3D),
|
||||
/* K64 */ be_nested_str_weak(_X20exchange_id_X3D),
|
||||
/* K65 */ be_nested_str_weak(MTR_X3A_X20_X3Ercv_X20_X20_X20_X20_X20_X20_X20_X28_X256i_X29_X20_X5B_X2502X_X2F_X2502X_X5D_X20rid_X3D_X25i_X20exch_X3D_X25i_X20ack_X3D_X25s_X20_X25sfrom_X20_X5B_X25s_X5D_X3A_X25i),
|
||||
/* K66 */ be_nested_str_weak(MTR_X3A_X20PROTOCOL_ID_SECURE_CHANNEL_X20),
|
||||
/* K67 */ be_nested_str_weak(im),
|
||||
/* K68 */ be_nested_str_weak(process_incoming_ack),
|
||||
/* K69 */ be_nested_str_weak(send_enqueued),
|
||||
/* K70 */ be_nested_str_weak(MTR_X3A_X20ignoring_X20unhandled_X20protocol_id_X3A),
|
||||
/* K71 */ be_nested_str_weak(MTR_X3A_X20MessageHandler_X3A_X3Amsg_received_X20exception_X3A_X20),
|
||||
/* K72 */ be_nested_str_weak(_X3B),
|
||||
/* K73 */ be_nested_str_weak(debug),
|
||||
/* K74 */ be_nested_str_weak(traceback),
|
||||
/* K66 */ be_nested_str_weak(im),
|
||||
/* K67 */ be_nested_str_weak(process_incoming_ack),
|
||||
/* K68 */ be_nested_str_weak(send_enqueued),
|
||||
/* K69 */ be_nested_str_weak(MTR_X3A_X20ignoring_X20unhandled_X20protocol_id_X3A),
|
||||
/* K70 */ be_nested_str_weak(MTR_X3A_X20MessageHandler_X3A_X3Amsg_received_X20exception_X3A_X20),
|
||||
/* K71 */ be_nested_str_weak(_X3B),
|
||||
/* K72 */ be_nested_str_weak(debug),
|
||||
/* K73 */ be_nested_str_weak(traceback),
|
||||
}),
|
||||
be_str_weak(msg_received),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[396]) { /* code */
|
||||
( &(const binstruction[388]) { /* code */
|
||||
0xA4120000, // 0000 IMPORT R4 K0
|
||||
0x50140000, // 0001 LDBOOL R5 0 0
|
||||
0xA8020172, // 0002 EXBLK 0 #0176
|
||||
0xA802016A, // 0002 EXBLK 0 #016E
|
||||
0xB81A0200, // 0003 GETNGBL R6 K1
|
||||
0x8C180D02, // 0004 GETMET R6 R6 K2
|
||||
0x5C200000, // 0005 MOVE R8 R0
|
||||
@ -319,7 +318,7 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */
|
||||
0xA8040001, // 000F EXBLK 1 1
|
||||
0x80041000, // 0010 RET 1 R8
|
||||
0x88200D04, // 0011 GETMBR R8 R6 K4
|
||||
0x78220021, // 0012 JMPF R8 #0035
|
||||
0x78220022, // 0012 JMPF R8 #0036
|
||||
0xB8220A00, // 0013 GETNGBL R8 K5
|
||||
0x8C201106, // 0014 GETMET R8 R8 K6
|
||||
0xB82A0200, // 0015 GETNGBL R10 K1
|
||||
@ -327,376 +326,368 @@ be_local_closure(Matter_MessageHandler_msg_received, /* name */
|
||||
0x5C300C00, // 0017 MOVE R12 R6
|
||||
0x7C280400, // 0018 CALL R10 2
|
||||
0x002A0E0A, // 0019 ADD R10 K7 R10
|
||||
0x7C200400, // 001A CALL R8 2
|
||||
0x88200109, // 001B GETMBR R8 R0 K9
|
||||
0x8820110A, // 001C GETMBR R8 R8 K10
|
||||
0x8C20110B, // 001D GETMET R8 R8 K11
|
||||
0x88280D0C, // 001E GETMBR R10 R6 K12
|
||||
0x542E0059, // 001F LDINT R11 90
|
||||
0x7C200600, // 0020 CALL R8 3
|
||||
0xB8260A00, // 0021 GETNGBL R9 K5
|
||||
0x8C241306, // 0022 GETMET R9 R9 K6
|
||||
0x602C0008, // 0023 GETGBL R11 G8
|
||||
0x88300D0C, // 0024 GETMBR R12 R6 K12
|
||||
0x7C2C0200, // 0025 CALL R11 1
|
||||
0x002E1A0B, // 0026 ADD R11 K13 R11
|
||||
0x002C170E, // 0027 ADD R11 R11 K14
|
||||
0x60300008, // 0028 GETGBL R12 G8
|
||||
0x8834110F, // 0029 GETMBR R13 R8 K15
|
||||
0x7C300200, // 002A CALL R12 1
|
||||
0x002C160C, // 002B ADD R11 R11 R12
|
||||
0x58300010, // 002C LDCONST R12 K16
|
||||
0x7C240600, // 002D CALL R9 3
|
||||
0x88240111, // 002E GETMBR R9 R0 K17
|
||||
0x8C241312, // 002F GETMET R9 R9 K18
|
||||
0x5C2C0C00, // 0030 MOVE R11 R6
|
||||
0x7C240400, // 0031 CALL R9 2
|
||||
0xA8040001, // 0032 EXBLK 1 1
|
||||
0x80041200, // 0033 RET 1 R9
|
||||
0x7002013C, // 0034 JMP #0172
|
||||
0x88200D0F, // 0035 GETMBR R8 R6 K15
|
||||
0x1C201113, // 0036 EQ R8 R8 K19
|
||||
0x7822007D, // 0037 JMPF R8 #00B6
|
||||
0x88200D14, // 0038 GETMBR R8 R6 K20
|
||||
0x1C201113, // 0039 EQ R8 R8 K19
|
||||
0x7822007A, // 003A JMPF R8 #00B6
|
||||
0x88200109, // 003B GETMBR R8 R0 K9
|
||||
0x8820110A, // 003C GETMBR R8 R8 K10
|
||||
0x8C20110B, // 003D GETMET R8 R8 K11
|
||||
0x88280D0C, // 003E GETMBR R10 R6 K12
|
||||
0x542E0059, // 003F LDINT R11 90
|
||||
0x7C200600, // 0040 CALL R8 3
|
||||
0xB8260A00, // 0041 GETNGBL R9 K5
|
||||
0x8C241306, // 0042 GETMET R9 R9 K6
|
||||
0x602C0008, // 0043 GETGBL R11 G8
|
||||
0x88300D0C, // 0044 GETMBR R12 R6 K12
|
||||
0x7C2C0200, // 0045 CALL R11 1
|
||||
0x002E1A0B, // 0046 ADD R11 K13 R11
|
||||
0x002C170E, // 0047 ADD R11 R11 K14
|
||||
0x60300008, // 0048 GETGBL R12 G8
|
||||
0x8834110F, // 0049 GETMBR R13 R8 K15
|
||||
0x7C300200, // 004A CALL R12 1
|
||||
0x002C160C, // 004B ADD R11 R11 R12
|
||||
0x58300015, // 004C LDCONST R12 K21
|
||||
0x7C240600, // 004D CALL R9 3
|
||||
0x780A0000, // 004E JMPF R2 #0050
|
||||
0x90222C02, // 004F SETMBR R8 K22 R2
|
||||
0x780E0000, // 0050 JMPF R3 #0052
|
||||
0x90222E03, // 0051 SETMBR R8 K23 R3
|
||||
0x90223000, // 0052 SETMBR R8 K24 R0
|
||||
0x901A3208, // 0053 SETMBR R6 K25 R8
|
||||
0x8824111A, // 0054 GETMBR R9 R8 K26
|
||||
0x8C24131B, // 0055 GETMET R9 R9 K27
|
||||
0x882C0D1C, // 0056 GETMBR R11 R6 K28
|
||||
0x50300000, // 0057 LDBOOL R12 0 0
|
||||
0x7C240600, // 0058 CALL R9 3
|
||||
0x74260011, // 0059 JMPT R9 #006C
|
||||
0xB8260A00, // 005A GETNGBL R9 K5
|
||||
0x8C241306, // 005B GETMET R9 R9 K6
|
||||
0x8C2C091D, // 005C GETMET R11 R4 K29
|
||||
0x5834001E, // 005D LDCONST R13 K30
|
||||
0x88380D1C, // 005E GETMBR R14 R6 K28
|
||||
0x883C111A, // 005F GETMBR R15 R8 K26
|
||||
0x8C3C1F1F, // 0060 GETMET R15 R15 K31
|
||||
0x7C3C0200, // 0061 CALL R15 1
|
||||
0x7C2C0800, // 0062 CALL R11 4
|
||||
0x58300015, // 0063 LDCONST R12 K21
|
||||
0x7C240600, // 0064 CALL R9 3
|
||||
0x8C240120, // 0065 GETMET R9 R0 K32
|
||||
0x5C2C0C00, // 0066 MOVE R11 R6
|
||||
0x50300000, // 0067 LDBOOL R12 0 0
|
||||
0x7C240600, // 0068 CALL R9 3
|
||||
0x50240000, // 0069 LDBOOL R9 0 0
|
||||
0xA8040001, // 006A EXBLK 1 1
|
||||
0x80041200, // 006B RET 1 R9
|
||||
0x8C240D21, // 006C GETMET R9 R6 K33
|
||||
0x7C240200, // 006D CALL R9 1
|
||||
0x74260002, // 006E JMPT R9 #0072
|
||||
0x50240000, // 006F LDBOOL R9 0 0
|
||||
0xA8040001, // 0070 EXBLK 1 1
|
||||
0x80041200, // 0071 RET 1 R9
|
||||
0x88240109, // 0072 GETMBR R9 R0 K9
|
||||
0x8C241322, // 0073 GETMET R9 R9 K34
|
||||
0x5C2C0C00, // 0074 MOVE R11 R6
|
||||
0x7C240400, // 0075 CALL R9 2
|
||||
0x88240D23, // 0076 GETMBR R9 R6 K35
|
||||
0x542A000F, // 0077 LDINT R10 16
|
||||
0x2024120A, // 0078 NE R9 R9 R10
|
||||
0x78260018, // 0079 JMPF R9 #0093
|
||||
0xB8260200, // 007A GETNGBL R9 K1
|
||||
0x8C241324, // 007B GETMET R9 R9 K36
|
||||
0x882C0D23, // 007C GETMBR R11 R6 K35
|
||||
0x7C240400, // 007D CALL R9 2
|
||||
0x5C281200, // 007E MOVE R10 R9
|
||||
0x742A0004, // 007F JMPT R10 #0085
|
||||
0x8C28091D, // 0080 GETMET R10 R4 K29
|
||||
0x58300025, // 0081 LDCONST R12 K37
|
||||
0x88340D23, // 0082 GETMBR R13 R6 K35
|
||||
0x7C280600, // 0083 CALL R10 3
|
||||
0x5C241400, // 0084 MOVE R9 R10
|
||||
0xB82A0A00, // 0085 GETNGBL R10 K5
|
||||
0x8C281506, // 0086 GETMET R10 R10 K6
|
||||
0x8C30091D, // 0087 GETMET R12 R4 K29
|
||||
0x58380026, // 0088 LDCONST R14 K38
|
||||
0x883C110F, // 0089 GETMBR R15 R8 K15
|
||||
0x5C401200, // 008A MOVE R16 R9
|
||||
0x88440D1C, // 008B GETMBR R17 R6 K28
|
||||
0x88480D27, // 008C GETMBR R18 R6 K39
|
||||
0x5C4C0400, // 008D MOVE R19 R2
|
||||
0x5C500600, // 008E MOVE R20 R3
|
||||
0x7C301000, // 008F CALL R12 8
|
||||
0x58340010, // 0090 LDCONST R13 K16
|
||||
0x7C280600, // 0091 CALL R10 3
|
||||
0x70020013, // 0092 JMP #00A7
|
||||
0xB8260A00, // 0093 GETNGBL R9 K5
|
||||
0x8C241306, // 0094 GETMET R9 R9 K6
|
||||
0x8C2C091D, // 0095 GETMET R11 R4 K29
|
||||
0x58340028, // 0096 LDCONST R13 K40
|
||||
0x8838110F, // 0097 GETMBR R14 R8 K15
|
||||
0x883C0D1C, // 0098 GETMBR R15 R6 K28
|
||||
0x88400D29, // 0099 GETMBR R16 R6 K41
|
||||
0x78420001, // 009A JMPF R16 #009D
|
||||
0x5840002A, // 009B LDCONST R16 K42
|
||||
0x70020000, // 009C JMP #009E
|
||||
0x5840002B, // 009D LDCONST R16 K43
|
||||
0x88440D27, // 009E GETMBR R17 R6 K39
|
||||
0x60480008, // 009F GETGBL R18 G8
|
||||
0x884C0D2C, // 00A0 GETMBR R19 R6 K44
|
||||
0x7C480200, // 00A1 CALL R18 1
|
||||
0x5C4C0400, // 00A2 MOVE R19 R2
|
||||
0x5C500600, // 00A3 MOVE R20 R3
|
||||
0x7C2C1200, // 00A4 CALL R11 9
|
||||
0x58300015, // 00A5 LDCONST R12 K21
|
||||
0x7C240600, // 00A6 CALL R9 3
|
||||
0x8824012D, // 00A7 GETMBR R9 R0 K45
|
||||
0x8C24132E, // 00A8 GETMET R9 R9 K46
|
||||
0x5C2C0C00, // 00A9 MOVE R11 R6
|
||||
0x7C240400, // 00AA CALL R9 2
|
||||
0x5C141200, // 00AB MOVE R5 R9
|
||||
0x5C240A00, // 00AC MOVE R9 R5
|
||||
0x74260003, // 00AD JMPT R9 #00B2
|
||||
0x8C240120, // 00AE GETMET R9 R0 K32
|
||||
0x5C2C0C00, // 00AF MOVE R11 R6
|
||||
0x50300000, // 00B0 LDBOOL R12 0 0
|
||||
0x7C240600, // 00B1 CALL R9 3
|
||||
0x50240200, // 00B2 LDBOOL R9 1 0
|
||||
0xA8040001, // 00B3 EXBLK 1 1
|
||||
0x80041200, // 00B4 RET 1 R9
|
||||
0x700200BB, // 00B5 JMP #0172
|
||||
0xB8220A00, // 00B6 GETNGBL R8 K5
|
||||
0x8C201106, // 00B7 GETMET R8 R8 K6
|
||||
0x8C28091D, // 00B8 GETMET R10 R4 K29
|
||||
0x5830002F, // 00B9 LDCONST R12 K47
|
||||
0x88340D0F, // 00BA GETMBR R13 R6 K15
|
||||
0x88380D1C, // 00BB GETMBR R14 R6 K28
|
||||
0x7C280800, // 00BC CALL R10 4
|
||||
0x582C0015, // 00BD LDCONST R11 K21
|
||||
0x7C200600, // 00BE CALL R8 3
|
||||
0x88200109, // 00BF GETMBR R8 R0 K9
|
||||
0x8820110A, // 00C0 GETMBR R8 R8 K10
|
||||
0x8C201130, // 00C1 GETMET R8 R8 K48
|
||||
0x88280D0F, // 00C2 GETMBR R10 R6 K15
|
||||
0x7C200400, // 00C3 CALL R8 2
|
||||
0x4C240000, // 00C4 LDNIL R9
|
||||
0x1C241009, // 00C5 EQ R9 R8 R9
|
||||
0x7826000A, // 00C6 JMPF R9 #00D2
|
||||
0xB8260A00, // 00C7 GETNGBL R9 K5
|
||||
0x8C241306, // 00C8 GETMET R9 R9 K6
|
||||
0x602C0008, // 00C9 GETGBL R11 G8
|
||||
0x88300D0F, // 00CA GETMBR R12 R6 K15
|
||||
0x7C2C0200, // 00CB CALL R11 1
|
||||
0x002E620B, // 00CC ADD R11 K49 R11
|
||||
0x58300010, // 00CD LDCONST R12 K16
|
||||
0x7C240600, // 00CE CALL R9 3
|
||||
0x50240000, // 00CF LDBOOL R9 0 0
|
||||
0xA8040001, // 00D0 EXBLK 1 1
|
||||
0x80041200, // 00D1 RET 1 R9
|
||||
0x780A0000, // 00D2 JMPF R2 #00D4
|
||||
0x90222C02, // 00D3 SETMBR R8 K22 R2
|
||||
0x780E0000, // 00D4 JMPF R3 #00D6
|
||||
0x90222E03, // 00D5 SETMBR R8 K23 R3
|
||||
0x90223000, // 00D6 SETMBR R8 K24 R0
|
||||
0x901A3208, // 00D7 SETMBR R6 K25 R8
|
||||
0x8C241132, // 00D8 GETMET R9 R8 K50
|
||||
0x882C0D1C, // 00D9 GETMBR R11 R6 K28
|
||||
0x50300200, // 00DA LDBOOL R12 1 0
|
||||
0x7C240600, // 00DB CALL R9 3
|
||||
0x74260013, // 00DC JMPT R9 #00F1
|
||||
0xB8260A00, // 00DD GETNGBL R9 K5
|
||||
0x8C241306, // 00DE GETMET R9 R9 K6
|
||||
0x602C0008, // 00DF GETGBL R11 G8
|
||||
0x88300D1C, // 00E0 GETMBR R12 R6 K28
|
||||
0x7C2C0200, // 00E1 CALL R11 1
|
||||
0x002E660B, // 00E2 ADD R11 K51 R11
|
||||
0x002C1734, // 00E3 ADD R11 R11 K52
|
||||
0x60300008, // 00E4 GETGBL R12 G8
|
||||
0x88341135, // 00E5 GETMBR R13 R8 K53
|
||||
0x7C300200, // 00E6 CALL R12 1
|
||||
0x002C160C, // 00E7 ADD R11 R11 R12
|
||||
0x58300015, // 00E8 LDCONST R12 K21
|
||||
0x7C240600, // 00E9 CALL R9 3
|
||||
0x8C240136, // 00EA GETMET R9 R0 K54
|
||||
0x5C2C0C00, // 00EB MOVE R11 R6
|
||||
0x50300000, // 00EC LDBOOL R12 0 0
|
||||
0x7C240600, // 00ED CALL R9 3
|
||||
0x50240000, // 00EE LDBOOL R9 0 0
|
||||
0xA8040001, // 00EF EXBLK 1 1
|
||||
0x80041200, // 00F0 RET 1 R9
|
||||
0x8C240D37, // 00F1 GETMET R9 R6 K55
|
||||
0x7C240200, // 00F2 CALL R9 1
|
||||
0x5C281200, // 00F3 MOVE R10 R9
|
||||
0x742A0002, // 00F4 JMPT R10 #00F8
|
||||
0x50280000, // 00F5 LDBOOL R10 0 0
|
||||
0xA8040001, // 00F6 EXBLK 1 1
|
||||
0x80041400, // 00F7 RET 1 R10
|
||||
0x88280D39, // 00F8 GETMBR R10 R6 K57
|
||||
0x0428153A, // 00F9 SUB R10 R10 K58
|
||||
0x402A260A, // 00FA CONNECT R10 K19 R10
|
||||
0x882C0D38, // 00FB GETMBR R11 R6 K56
|
||||
0x9428160A, // 00FC GETIDX R10 R11 R10
|
||||
0x901A700A, // 00FD SETMBR R6 K56 R10
|
||||
0x88280D38, // 00FE GETMBR R10 R6 K56
|
||||
0x40281409, // 00FF CONNECT R10 R10 R9
|
||||
0xB82A0A00, // 0100 GETNGBL R10 K5
|
||||
0x8C281506, // 0101 GETMET R10 R10 K6
|
||||
0x8C30091D, // 0102 GETMET R12 R4 K29
|
||||
0x5838003B, // 0103 LDCONST R14 K59
|
||||
0x883C0D39, // 0104 GETMBR R15 R6 K57
|
||||
0x88400D38, // 0105 GETMBR R16 R6 K56
|
||||
0x8C40213C, // 0106 GETMET R16 R16 K60
|
||||
0x7C400200, // 0107 CALL R16 1
|
||||
0x7C300800, // 0108 CALL R12 4
|
||||
0x54360003, // 0109 LDINT R13 4
|
||||
0x7C280600, // 010A CALL R10 3
|
||||
0x8C280D21, // 010B GETMET R10 R6 K33
|
||||
0x7C280200, // 010C CALL R10 1
|
||||
0xB82A0A00, // 010D GETNGBL R10 K5
|
||||
0x8C281506, // 010E GETMET R10 R10 K6
|
||||
0x60300008, // 010F GETGBL R12 G8
|
||||
0x88340D3E, // 0110 GETMBR R13 R6 K62
|
||||
0x7C300200, // 0111 CALL R12 1
|
||||
0x00327A0C, // 0112 ADD R12 K61 R12
|
||||
0x0030193F, // 0113 ADD R12 R12 K63
|
||||
0x60340008, // 0114 GETGBL R13 G8
|
||||
0x88380D23, // 0115 GETMBR R14 R6 K35
|
||||
0x7C340200, // 0116 CALL R13 1
|
||||
0x0030180D, // 0117 ADD R12 R12 R13
|
||||
0x00301940, // 0118 ADD R12 R12 K64
|
||||
0x60340008, // 0119 GETGBL R13 G8
|
||||
0x88380D27, // 011A GETMBR R14 R6 K39
|
||||
0x543EFFFE, // 011B LDINT R15 65535
|
||||
0x2C381C0F, // 011C AND R14 R14 R15
|
||||
0x7C340200, // 011D CALL R13 1
|
||||
0x0030180D, // 011E ADD R12 R12 R13
|
||||
0x58340015, // 011F LDCONST R13 K21
|
||||
0x7C280600, // 0120 CALL R10 3
|
||||
0xB82A0A00, // 0121 GETNGBL R10 K5
|
||||
0x8C281506, // 0122 GETMET R10 R10 K6
|
||||
0x8C30091D, // 0123 GETMET R12 R4 K29
|
||||
0x58380041, // 0124 LDCONST R14 K65
|
||||
0x883C110F, // 0125 GETMBR R15 R8 K15
|
||||
0x88400D3E, // 0126 GETMBR R16 R6 K62
|
||||
0x88440D23, // 0127 GETMBR R17 R6 K35
|
||||
0x88480D1C, // 0128 GETMBR R18 R6 K28
|
||||
0x884C0D27, // 0129 GETMBR R19 R6 K39
|
||||
0x60500008, // 012A GETGBL R20 G8
|
||||
0x88540D2C, // 012B GETMBR R21 R6 K44
|
||||
0x7C500200, // 012C CALL R20 1
|
||||
0x88540D29, // 012D GETMBR R21 R6 K41
|
||||
0x78560001, // 012E JMPF R21 #0131
|
||||
0x5854002A, // 012F LDCONST R21 K42
|
||||
0x70020000, // 0130 JMP #0132
|
||||
0x5854002B, // 0131 LDCONST R21 K43
|
||||
0x5C580400, // 0132 MOVE R22 R2
|
||||
0x5C5C0600, // 0133 MOVE R23 R3
|
||||
0x7C301600, // 0134 CALL R12 11
|
||||
0x58340015, // 0135 LDCONST R13 K21
|
||||
0x7C280600, // 0136 CALL R10 3
|
||||
0x88280109, // 0137 GETMBR R10 R0 K9
|
||||
0x8C281522, // 0138 GETMET R10 R10 K34
|
||||
0x5C300C00, // 0139 MOVE R12 R6
|
||||
0x7C280400, // 013A CALL R10 2
|
||||
0x88280D3E, // 013B GETMBR R10 R6 K62
|
||||
0x1C2C1513, // 013C EQ R11 R10 K19
|
||||
0x782E0018, // 013D JMPF R11 #0157
|
||||
0xB82E0A00, // 013E GETNGBL R11 K5
|
||||
0x8C2C1706, // 013F GETMET R11 R11 K6
|
||||
0xB8360200, // 0140 GETNGBL R13 K1
|
||||
0x8C341B08, // 0141 GETMET R13 R13 K8
|
||||
0x5C3C0C00, // 0142 MOVE R15 R6
|
||||
0x7C340400, // 0143 CALL R13 2
|
||||
0x0036840D, // 0144 ADD R13 K66 R13
|
||||
0x58380015, // 0145 LDCONST R14 K21
|
||||
0x7C2C0600, // 0146 CALL R11 3
|
||||
0x882C0D23, // 0147 GETMBR R11 R6 K35
|
||||
0x5432000F, // 0148 LDINT R12 16
|
||||
0x1C2C160C, // 0149 EQ R11 R11 R12
|
||||
0x782E0009, // 014A JMPF R11 #0155
|
||||
0x882C0143, // 014B GETMBR R11 R0 K67
|
||||
0x8C2C1744, // 014C GETMET R11 R11 K68
|
||||
0x5C340C00, // 014D MOVE R13 R6
|
||||
0x7C2C0400, // 014E CALL R11 2
|
||||
0x5C141600, // 014F MOVE R5 R11
|
||||
0x78160003, // 0150 JMPF R5 #0155
|
||||
0x882C0143, // 0151 GETMBR R11 R0 K67
|
||||
0x8C2C1745, // 0152 GETMET R11 R11 K69
|
||||
0x5C340000, // 0153 MOVE R13 R0
|
||||
0x542E0003, // 001A LDINT R11 4
|
||||
0x7C200600, // 001B CALL R8 3
|
||||
0x88200109, // 001C GETMBR R8 R0 K9
|
||||
0x8820110A, // 001D GETMBR R8 R8 K10
|
||||
0x8C20110B, // 001E GETMET R8 R8 K11
|
||||
0x88280D0C, // 001F GETMBR R10 R6 K12
|
||||
0x542E0059, // 0020 LDINT R11 90
|
||||
0x7C200600, // 0021 CALL R8 3
|
||||
0xB8260A00, // 0022 GETNGBL R9 K5
|
||||
0x8C241306, // 0023 GETMET R9 R9 K6
|
||||
0x602C0008, // 0024 GETGBL R11 G8
|
||||
0x88300D0C, // 0025 GETMBR R12 R6 K12
|
||||
0x7C2C0200, // 0026 CALL R11 1
|
||||
0x002E1A0B, // 0027 ADD R11 K13 R11
|
||||
0x002C170E, // 0028 ADD R11 R11 K14
|
||||
0x60300008, // 0029 GETGBL R12 G8
|
||||
0x8834110F, // 002A GETMBR R13 R8 K15
|
||||
0x7C300200, // 002B CALL R12 1
|
||||
0x002C160C, // 002C ADD R11 R11 R12
|
||||
0x54320003, // 002D LDINT R12 4
|
||||
0x7C240600, // 002E CALL R9 3
|
||||
0x88240110, // 002F GETMBR R9 R0 K16
|
||||
0x8C241311, // 0030 GETMET R9 R9 K17
|
||||
0x5C2C0C00, // 0031 MOVE R11 R6
|
||||
0x7C240400, // 0032 CALL R9 2
|
||||
0xA8040001, // 0033 EXBLK 1 1
|
||||
0x80041200, // 0034 RET 1 R9
|
||||
0x70020133, // 0035 JMP #016A
|
||||
0x88200D0F, // 0036 GETMBR R8 R6 K15
|
||||
0x1C201112, // 0037 EQ R8 R8 K18
|
||||
0x7822007D, // 0038 JMPF R8 #00B7
|
||||
0x88200D13, // 0039 GETMBR R8 R6 K19
|
||||
0x1C201112, // 003A EQ R8 R8 K18
|
||||
0x7822007A, // 003B JMPF R8 #00B7
|
||||
0x88200109, // 003C GETMBR R8 R0 K9
|
||||
0x8820110A, // 003D GETMBR R8 R8 K10
|
||||
0x8C20110B, // 003E GETMET R8 R8 K11
|
||||
0x88280D0C, // 003F GETMBR R10 R6 K12
|
||||
0x542E0059, // 0040 LDINT R11 90
|
||||
0x7C200600, // 0041 CALL R8 3
|
||||
0xB8260A00, // 0042 GETNGBL R9 K5
|
||||
0x8C241306, // 0043 GETMET R9 R9 K6
|
||||
0x602C0008, // 0044 GETGBL R11 G8
|
||||
0x88300D0C, // 0045 GETMBR R12 R6 K12
|
||||
0x7C2C0200, // 0046 CALL R11 1
|
||||
0x002E1A0B, // 0047 ADD R11 K13 R11
|
||||
0x002C170E, // 0048 ADD R11 R11 K14
|
||||
0x60300008, // 0049 GETGBL R12 G8
|
||||
0x8834110F, // 004A GETMBR R13 R8 K15
|
||||
0x7C300200, // 004B CALL R12 1
|
||||
0x002C160C, // 004C ADD R11 R11 R12
|
||||
0x54320003, // 004D LDINT R12 4
|
||||
0x7C240600, // 004E CALL R9 3
|
||||
0x780A0000, // 004F JMPF R2 #0051
|
||||
0x90222802, // 0050 SETMBR R8 K20 R2
|
||||
0x780E0000, // 0051 JMPF R3 #0053
|
||||
0x90222A03, // 0052 SETMBR R8 K21 R3
|
||||
0x90222C00, // 0053 SETMBR R8 K22 R0
|
||||
0x901A2E08, // 0054 SETMBR R6 K23 R8
|
||||
0x88241118, // 0055 GETMBR R9 R8 K24
|
||||
0x8C241319, // 0056 GETMET R9 R9 K25
|
||||
0x882C0D1A, // 0057 GETMBR R11 R6 K26
|
||||
0x50300000, // 0058 LDBOOL R12 0 0
|
||||
0x7C240600, // 0059 CALL R9 3
|
||||
0x74260011, // 005A JMPT R9 #006D
|
||||
0xB8260A00, // 005B GETNGBL R9 K5
|
||||
0x8C241306, // 005C GETMET R9 R9 K6
|
||||
0x8C2C091B, // 005D GETMET R11 R4 K27
|
||||
0x5834001C, // 005E LDCONST R13 K28
|
||||
0x88380D1A, // 005F GETMBR R14 R6 K26
|
||||
0x883C1118, // 0060 GETMBR R15 R8 K24
|
||||
0x8C3C1F1D, // 0061 GETMET R15 R15 K29
|
||||
0x7C3C0200, // 0062 CALL R15 1
|
||||
0x7C2C0800, // 0063 CALL R11 4
|
||||
0x5830001E, // 0064 LDCONST R12 K30
|
||||
0x7C240600, // 0065 CALL R9 3
|
||||
0x8C24011F, // 0066 GETMET R9 R0 K31
|
||||
0x5C2C0C00, // 0067 MOVE R11 R6
|
||||
0x50300000, // 0068 LDBOOL R12 0 0
|
||||
0x7C240600, // 0069 CALL R9 3
|
||||
0x50240000, // 006A LDBOOL R9 0 0
|
||||
0xA8040001, // 006B EXBLK 1 1
|
||||
0x80041200, // 006C RET 1 R9
|
||||
0x8C240D20, // 006D GETMET R9 R6 K32
|
||||
0x7C240200, // 006E CALL R9 1
|
||||
0x74260002, // 006F JMPT R9 #0073
|
||||
0x50240000, // 0070 LDBOOL R9 0 0
|
||||
0xA8040001, // 0071 EXBLK 1 1
|
||||
0x80041200, // 0072 RET 1 R9
|
||||
0x88240109, // 0073 GETMBR R9 R0 K9
|
||||
0x8C241321, // 0074 GETMET R9 R9 K33
|
||||
0x5C2C0C00, // 0075 MOVE R11 R6
|
||||
0x7C240400, // 0076 CALL R9 2
|
||||
0x88240D22, // 0077 GETMBR R9 R6 K34
|
||||
0x542A000F, // 0078 LDINT R10 16
|
||||
0x2024120A, // 0079 NE R9 R9 R10
|
||||
0x78260018, // 007A JMPF R9 #0094
|
||||
0xB8260200, // 007B GETNGBL R9 K1
|
||||
0x8C241323, // 007C GETMET R9 R9 K35
|
||||
0x882C0D22, // 007D GETMBR R11 R6 K34
|
||||
0x7C240400, // 007E CALL R9 2
|
||||
0x5C281200, // 007F MOVE R10 R9
|
||||
0x742A0004, // 0080 JMPT R10 #0086
|
||||
0x8C28091B, // 0081 GETMET R10 R4 K27
|
||||
0x58300024, // 0082 LDCONST R12 K36
|
||||
0x88340D22, // 0083 GETMBR R13 R6 K34
|
||||
0x7C280600, // 0084 CALL R10 3
|
||||
0x5C241400, // 0085 MOVE R9 R10
|
||||
0xB82A0A00, // 0086 GETNGBL R10 K5
|
||||
0x8C281506, // 0087 GETMET R10 R10 K6
|
||||
0x8C30091B, // 0088 GETMET R12 R4 K27
|
||||
0x58380025, // 0089 LDCONST R14 K37
|
||||
0x883C110F, // 008A GETMBR R15 R8 K15
|
||||
0x5C401200, // 008B MOVE R16 R9
|
||||
0x88440D1A, // 008C GETMBR R17 R6 K26
|
||||
0x88480D26, // 008D GETMBR R18 R6 K38
|
||||
0x5C4C0400, // 008E MOVE R19 R2
|
||||
0x5C500600, // 008F MOVE R20 R3
|
||||
0x7C301000, // 0090 CALL R12 8
|
||||
0x58340027, // 0091 LDCONST R13 K39
|
||||
0x7C280600, // 0092 CALL R10 3
|
||||
0x70020013, // 0093 JMP #00A8
|
||||
0xB8260A00, // 0094 GETNGBL R9 K5
|
||||
0x8C241306, // 0095 GETMET R9 R9 K6
|
||||
0x8C2C091B, // 0096 GETMET R11 R4 K27
|
||||
0x58340028, // 0097 LDCONST R13 K40
|
||||
0x8838110F, // 0098 GETMBR R14 R8 K15
|
||||
0x883C0D1A, // 0099 GETMBR R15 R6 K26
|
||||
0x88400D29, // 009A GETMBR R16 R6 K41
|
||||
0x78420001, // 009B JMPF R16 #009E
|
||||
0x5840002A, // 009C LDCONST R16 K42
|
||||
0x70020000, // 009D JMP #009F
|
||||
0x5840002B, // 009E LDCONST R16 K43
|
||||
0x88440D26, // 009F GETMBR R17 R6 K38
|
||||
0x60480008, // 00A0 GETGBL R18 G8
|
||||
0x884C0D2C, // 00A1 GETMBR R19 R6 K44
|
||||
0x7C480200, // 00A2 CALL R18 1
|
||||
0x5C4C0400, // 00A3 MOVE R19 R2
|
||||
0x5C500600, // 00A4 MOVE R20 R3
|
||||
0x7C2C1200, // 00A5 CALL R11 9
|
||||
0x5830001E, // 00A6 LDCONST R12 K30
|
||||
0x7C240600, // 00A7 CALL R9 3
|
||||
0x8824012D, // 00A8 GETMBR R9 R0 K45
|
||||
0x8C24132E, // 00A9 GETMET R9 R9 K46
|
||||
0x5C2C0C00, // 00AA MOVE R11 R6
|
||||
0x7C240400, // 00AB CALL R9 2
|
||||
0x5C141200, // 00AC MOVE R5 R9
|
||||
0x5C240A00, // 00AD MOVE R9 R5
|
||||
0x74260003, // 00AE JMPT R9 #00B3
|
||||
0x8C24011F, // 00AF GETMET R9 R0 K31
|
||||
0x5C2C0C00, // 00B0 MOVE R11 R6
|
||||
0x50300000, // 00B1 LDBOOL R12 0 0
|
||||
0x7C240600, // 00B2 CALL R9 3
|
||||
0x50240200, // 00B3 LDBOOL R9 1 0
|
||||
0xA8040001, // 00B4 EXBLK 1 1
|
||||
0x80041200, // 00B5 RET 1 R9
|
||||
0x700200B2, // 00B6 JMP #016A
|
||||
0xB8220A00, // 00B7 GETNGBL R8 K5
|
||||
0x8C201106, // 00B8 GETMET R8 R8 K6
|
||||
0x8C28091B, // 00B9 GETMET R10 R4 K27
|
||||
0x5830002F, // 00BA LDCONST R12 K47
|
||||
0x88340D0F, // 00BB GETMBR R13 R6 K15
|
||||
0x88380D1A, // 00BC GETMBR R14 R6 K26
|
||||
0x7C280800, // 00BD CALL R10 4
|
||||
0x582C001E, // 00BE LDCONST R11 K30
|
||||
0x7C200600, // 00BF CALL R8 3
|
||||
0x88200109, // 00C0 GETMBR R8 R0 K9
|
||||
0x8820110A, // 00C1 GETMBR R8 R8 K10
|
||||
0x8C201130, // 00C2 GETMET R8 R8 K48
|
||||
0x88280D0F, // 00C3 GETMBR R10 R6 K15
|
||||
0x7C200400, // 00C4 CALL R8 2
|
||||
0x4C240000, // 00C5 LDNIL R9
|
||||
0x1C241009, // 00C6 EQ R9 R8 R9
|
||||
0x7826000A, // 00C7 JMPF R9 #00D3
|
||||
0xB8260A00, // 00C8 GETNGBL R9 K5
|
||||
0x8C241306, // 00C9 GETMET R9 R9 K6
|
||||
0x602C0008, // 00CA GETGBL R11 G8
|
||||
0x88300D0F, // 00CB GETMBR R12 R6 K15
|
||||
0x7C2C0200, // 00CC CALL R11 1
|
||||
0x002E620B, // 00CD ADD R11 K49 R11
|
||||
0x58300027, // 00CE LDCONST R12 K39
|
||||
0x7C240600, // 00CF CALL R9 3
|
||||
0x50240000, // 00D0 LDBOOL R9 0 0
|
||||
0xA8040001, // 00D1 EXBLK 1 1
|
||||
0x80041200, // 00D2 RET 1 R9
|
||||
0x780A0000, // 00D3 JMPF R2 #00D5
|
||||
0x90222802, // 00D4 SETMBR R8 K20 R2
|
||||
0x780E0000, // 00D5 JMPF R3 #00D7
|
||||
0x90222A03, // 00D6 SETMBR R8 K21 R3
|
||||
0x90222C00, // 00D7 SETMBR R8 K22 R0
|
||||
0x901A2E08, // 00D8 SETMBR R6 K23 R8
|
||||
0x8C241132, // 00D9 GETMET R9 R8 K50
|
||||
0x882C0D1A, // 00DA GETMBR R11 R6 K26
|
||||
0x50300200, // 00DB LDBOOL R12 1 0
|
||||
0x7C240600, // 00DC CALL R9 3
|
||||
0x74260013, // 00DD JMPT R9 #00F2
|
||||
0xB8260A00, // 00DE GETNGBL R9 K5
|
||||
0x8C241306, // 00DF GETMET R9 R9 K6
|
||||
0x602C0008, // 00E0 GETGBL R11 G8
|
||||
0x88300D1A, // 00E1 GETMBR R12 R6 K26
|
||||
0x7C2C0200, // 00E2 CALL R11 1
|
||||
0x002E660B, // 00E3 ADD R11 K51 R11
|
||||
0x002C1734, // 00E4 ADD R11 R11 K52
|
||||
0x60300008, // 00E5 GETGBL R12 G8
|
||||
0x88341135, // 00E6 GETMBR R13 R8 K53
|
||||
0x7C300200, // 00E7 CALL R12 1
|
||||
0x002C160C, // 00E8 ADD R11 R11 R12
|
||||
0x5830001E, // 00E9 LDCONST R12 K30
|
||||
0x7C240600, // 00EA CALL R9 3
|
||||
0x8C240136, // 00EB GETMET R9 R0 K54
|
||||
0x5C2C0C00, // 00EC MOVE R11 R6
|
||||
0x50300000, // 00ED LDBOOL R12 0 0
|
||||
0x7C240600, // 00EE CALL R9 3
|
||||
0x50240000, // 00EF LDBOOL R9 0 0
|
||||
0xA8040001, // 00F0 EXBLK 1 1
|
||||
0x80041200, // 00F1 RET 1 R9
|
||||
0x8C240D37, // 00F2 GETMET R9 R6 K55
|
||||
0x7C240200, // 00F3 CALL R9 1
|
||||
0x5C281200, // 00F4 MOVE R10 R9
|
||||
0x742A0002, // 00F5 JMPT R10 #00F9
|
||||
0x50280000, // 00F6 LDBOOL R10 0 0
|
||||
0xA8040001, // 00F7 EXBLK 1 1
|
||||
0x80041400, // 00F8 RET 1 R10
|
||||
0x88280D39, // 00F9 GETMBR R10 R6 K57
|
||||
0x0428153A, // 00FA SUB R10 R10 K58
|
||||
0x402A240A, // 00FB CONNECT R10 K18 R10
|
||||
0x882C0D38, // 00FC GETMBR R11 R6 K56
|
||||
0x9428160A, // 00FD GETIDX R10 R11 R10
|
||||
0x901A700A, // 00FE SETMBR R6 K56 R10
|
||||
0x88280D38, // 00FF GETMBR R10 R6 K56
|
||||
0x40281409, // 0100 CONNECT R10 R10 R9
|
||||
0xB82A0A00, // 0101 GETNGBL R10 K5
|
||||
0x8C281506, // 0102 GETMET R10 R10 K6
|
||||
0x8C30091B, // 0103 GETMET R12 R4 K27
|
||||
0x5838003B, // 0104 LDCONST R14 K59
|
||||
0x883C0D39, // 0105 GETMBR R15 R6 K57
|
||||
0x88400D38, // 0106 GETMBR R16 R6 K56
|
||||
0x8C40213C, // 0107 GETMET R16 R16 K60
|
||||
0x7C400200, // 0108 CALL R16 1
|
||||
0x7C300800, // 0109 CALL R12 4
|
||||
0x54360003, // 010A LDINT R13 4
|
||||
0x7C280600, // 010B CALL R10 3
|
||||
0x8C280D20, // 010C GETMET R10 R6 K32
|
||||
0x7C280200, // 010D CALL R10 1
|
||||
0xB82A0A00, // 010E GETNGBL R10 K5
|
||||
0x8C281506, // 010F GETMET R10 R10 K6
|
||||
0x60300008, // 0110 GETGBL R12 G8
|
||||
0x88340D3E, // 0111 GETMBR R13 R6 K62
|
||||
0x7C300200, // 0112 CALL R12 1
|
||||
0x00327A0C, // 0113 ADD R12 K61 R12
|
||||
0x0030193F, // 0114 ADD R12 R12 K63
|
||||
0x60340008, // 0115 GETGBL R13 G8
|
||||
0x88380D22, // 0116 GETMBR R14 R6 K34
|
||||
0x7C340200, // 0117 CALL R13 1
|
||||
0x0030180D, // 0118 ADD R12 R12 R13
|
||||
0x00301940, // 0119 ADD R12 R12 K64
|
||||
0x60340008, // 011A GETGBL R13 G8
|
||||
0x88380D26, // 011B GETMBR R14 R6 K38
|
||||
0x543EFFFE, // 011C LDINT R15 65535
|
||||
0x2C381C0F, // 011D AND R14 R14 R15
|
||||
0x7C340200, // 011E CALL R13 1
|
||||
0x0030180D, // 011F ADD R12 R12 R13
|
||||
0x5834001E, // 0120 LDCONST R13 K30
|
||||
0x7C280600, // 0121 CALL R10 3
|
||||
0xB82A0A00, // 0122 GETNGBL R10 K5
|
||||
0x8C281506, // 0123 GETMET R10 R10 K6
|
||||
0x8C30091B, // 0124 GETMET R12 R4 K27
|
||||
0x58380041, // 0125 LDCONST R14 K65
|
||||
0x883C110F, // 0126 GETMBR R15 R8 K15
|
||||
0x88400D3E, // 0127 GETMBR R16 R6 K62
|
||||
0x88440D22, // 0128 GETMBR R17 R6 K34
|
||||
0x88480D1A, // 0129 GETMBR R18 R6 K26
|
||||
0x884C0D26, // 012A GETMBR R19 R6 K38
|
||||
0x60500008, // 012B GETGBL R20 G8
|
||||
0x88540D2C, // 012C GETMBR R21 R6 K44
|
||||
0x7C500200, // 012D CALL R20 1
|
||||
0x88540D29, // 012E GETMBR R21 R6 K41
|
||||
0x78560001, // 012F JMPF R21 #0132
|
||||
0x5854002A, // 0130 LDCONST R21 K42
|
||||
0x70020000, // 0131 JMP #0133
|
||||
0x5854002B, // 0132 LDCONST R21 K43
|
||||
0x5C580400, // 0133 MOVE R22 R2
|
||||
0x5C5C0600, // 0134 MOVE R23 R3
|
||||
0x7C301600, // 0135 CALL R12 11
|
||||
0x5834001E, // 0136 LDCONST R13 K30
|
||||
0x7C280600, // 0137 CALL R10 3
|
||||
0x88280109, // 0138 GETMBR R10 R0 K9
|
||||
0x8C281521, // 0139 GETMET R10 R10 K33
|
||||
0x5C300C00, // 013A MOVE R12 R6
|
||||
0x7C280400, // 013B CALL R10 2
|
||||
0x88280D3E, // 013C GETMBR R10 R6 K62
|
||||
0x1C2C1512, // 013D EQ R11 R10 K18
|
||||
0x782E000F, // 013E JMPF R11 #014F
|
||||
0x882C0D22, // 013F GETMBR R11 R6 K34
|
||||
0x5432000F, // 0140 LDINT R12 16
|
||||
0x1C2C160C, // 0141 EQ R11 R11 R12
|
||||
0x782E0009, // 0142 JMPF R11 #014D
|
||||
0x882C0142, // 0143 GETMBR R11 R0 K66
|
||||
0x8C2C1743, // 0144 GETMET R11 R11 K67
|
||||
0x5C340C00, // 0145 MOVE R13 R6
|
||||
0x7C2C0400, // 0146 CALL R11 2
|
||||
0x5C141600, // 0147 MOVE R5 R11
|
||||
0x78160003, // 0148 JMPF R5 #014D
|
||||
0x882C0142, // 0149 GETMBR R11 R0 K66
|
||||
0x8C2C1744, // 014A GETMET R11 R11 K68
|
||||
0x5C340000, // 014B MOVE R13 R0
|
||||
0x7C2C0400, // 014C CALL R11 2
|
||||
0x50140200, // 014D LDBOOL R5 1 0
|
||||
0x7002001A, // 014E JMP #016A
|
||||
0x1C2C153A, // 014F EQ R11 R10 K58
|
||||
0x782E0010, // 0150 JMPF R11 #0162
|
||||
0x882C0142, // 0151 GETMBR R11 R0 K66
|
||||
0x8C2C172E, // 0152 GETMET R11 R11 K46
|
||||
0x5C340C00, // 0153 MOVE R13 R6
|
||||
0x7C2C0400, // 0154 CALL R11 2
|
||||
0x50140200, // 0155 LDBOOL R5 1 0
|
||||
0x7002001A, // 0156 JMP #0172
|
||||
0x1C2C153A, // 0157 EQ R11 R10 K58
|
||||
0x782E0010, // 0158 JMPF R11 #016A
|
||||
0x882C0143, // 0159 GETMBR R11 R0 K67
|
||||
0x8C2C172E, // 015A GETMET R11 R11 K46
|
||||
0x5C340C00, // 015B MOVE R13 R6
|
||||
0x7C2C0400, // 015C CALL R11 2
|
||||
0x5C141600, // 015D MOVE R5 R11
|
||||
0x78160004, // 015E JMPF R5 #0164
|
||||
0x882C0143, // 015F GETMBR R11 R0 K67
|
||||
0x8C2C1745, // 0160 GETMET R11 R11 K69
|
||||
0x5C340000, // 0161 MOVE R13 R0
|
||||
0x7C2C0400, // 0162 CALL R11 2
|
||||
0x70020003, // 0163 JMP #0168
|
||||
0x8C2C0136, // 0164 GETMET R11 R0 K54
|
||||
0x5C340C00, // 0165 MOVE R13 R6
|
||||
0x50380200, // 0166 LDBOOL R14 1 0
|
||||
0x7C2C0600, // 0167 CALL R11 3
|
||||
0x50140200, // 0168 LDBOOL R5 1 0
|
||||
0x70020007, // 0169 JMP #0172
|
||||
0xB82E0A00, // 016A GETNGBL R11 K5
|
||||
0x8C2C1706, // 016B GETMET R11 R11 K6
|
||||
0x60340008, // 016C GETGBL R13 G8
|
||||
0x5C381400, // 016D MOVE R14 R10
|
||||
0x7C340200, // 016E CALL R13 1
|
||||
0x00368C0D, // 016F ADD R13 K70 R13
|
||||
0x58380015, // 0170 LDCONST R14 K21
|
||||
0x7C2C0600, // 0171 CALL R11 3
|
||||
0xA8040001, // 0172 EXBLK 1 1
|
||||
0x80040A00, // 0173 RET 1 R5
|
||||
0xA8040001, // 0174 EXBLK 1 1
|
||||
0x70020014, // 0175 JMP #018B
|
||||
0xAC180002, // 0176 CATCH R6 0 2
|
||||
0x70020011, // 0177 JMP #018A
|
||||
0xB8220A00, // 0178 GETNGBL R8 K5
|
||||
0x8C201106, // 0179 GETMET R8 R8 K6
|
||||
0x60280008, // 017A GETGBL R10 G8
|
||||
0x5C2C0C00, // 017B MOVE R11 R6
|
||||
0x7C280200, // 017C CALL R10 1
|
||||
0x002A8E0A, // 017D ADD R10 K71 R10
|
||||
0x00281548, // 017E ADD R10 R10 K72
|
||||
0x602C0008, // 017F GETGBL R11 G8
|
||||
0x5C300E00, // 0180 MOVE R12 R7
|
||||
0x7C2C0200, // 0181 CALL R11 1
|
||||
0x0028140B, // 0182 ADD R10 R10 R11
|
||||
0x7C200400, // 0183 CALL R8 2
|
||||
0xA4229200, // 0184 IMPORT R8 K73
|
||||
0x8C24114A, // 0185 GETMET R9 R8 K74
|
||||
0x7C240200, // 0186 CALL R9 1
|
||||
0x50240000, // 0187 LDBOOL R9 0 0
|
||||
0x80041200, // 0188 RET 1 R9
|
||||
0x70020000, // 0189 JMP #018B
|
||||
0xB0080000, // 018A RAISE 2 R0 R0
|
||||
0x80000000, // 018B RET 0
|
||||
0x5C141600, // 0155 MOVE R5 R11
|
||||
0x78160004, // 0156 JMPF R5 #015C
|
||||
0x882C0142, // 0157 GETMBR R11 R0 K66
|
||||
0x8C2C1744, // 0158 GETMET R11 R11 K68
|
||||
0x5C340000, // 0159 MOVE R13 R0
|
||||
0x7C2C0400, // 015A CALL R11 2
|
||||
0x70020003, // 015B JMP #0160
|
||||
0x8C2C0136, // 015C GETMET R11 R0 K54
|
||||
0x5C340C00, // 015D MOVE R13 R6
|
||||
0x50380200, // 015E LDBOOL R14 1 0
|
||||
0x7C2C0600, // 015F CALL R11 3
|
||||
0x50140200, // 0160 LDBOOL R5 1 0
|
||||
0x70020007, // 0161 JMP #016A
|
||||
0xB82E0A00, // 0162 GETNGBL R11 K5
|
||||
0x8C2C1706, // 0163 GETMET R11 R11 K6
|
||||
0x60340008, // 0164 GETGBL R13 G8
|
||||
0x5C381400, // 0165 MOVE R14 R10
|
||||
0x7C340200, // 0166 CALL R13 1
|
||||
0x00368A0D, // 0167 ADD R13 K69 R13
|
||||
0x5838001E, // 0168 LDCONST R14 K30
|
||||
0x7C2C0600, // 0169 CALL R11 3
|
||||
0xA8040001, // 016A EXBLK 1 1
|
||||
0x80040A00, // 016B RET 1 R5
|
||||
0xA8040001, // 016C EXBLK 1 1
|
||||
0x70020014, // 016D JMP #0183
|
||||
0xAC180002, // 016E CATCH R6 0 2
|
||||
0x70020011, // 016F JMP #0182
|
||||
0xB8220A00, // 0170 GETNGBL R8 K5
|
||||
0x8C201106, // 0171 GETMET R8 R8 K6
|
||||
0x60280008, // 0172 GETGBL R10 G8
|
||||
0x5C2C0C00, // 0173 MOVE R11 R6
|
||||
0x7C280200, // 0174 CALL R10 1
|
||||
0x002A8C0A, // 0175 ADD R10 K70 R10
|
||||
0x00281547, // 0176 ADD R10 R10 K71
|
||||
0x602C0008, // 0177 GETGBL R11 G8
|
||||
0x5C300E00, // 0178 MOVE R12 R7
|
||||
0x7C2C0200, // 0179 CALL R11 1
|
||||
0x0028140B, // 017A ADD R10 R10 R11
|
||||
0x7C200400, // 017B CALL R8 2
|
||||
0xA4229000, // 017C IMPORT R8 K72
|
||||
0x8C241149, // 017D GETMET R9 R8 K73
|
||||
0x7C240200, // 017E CALL R9 1
|
||||
0x50240000, // 017F LDBOOL R9 0 0
|
||||
0x80041200, // 0180 RET 1 R9
|
||||
0x70020000, // 0181 JMP #0183
|
||||
0xB0080000, // 0182 RAISE 2 R0 R0
|
||||
0x80000000, // 0183 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
@ -124,7 +124,7 @@ be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name *
|
||||
0, /* has sup protos */
|
||||
NULL, /* no sub protos */
|
||||
1, /* has constants */
|
||||
( &(const bvalue[12]) { /* constants */
|
||||
( &(const bvalue[13]) { /* constants */
|
||||
/* K0 */ be_nested_str_weak(string),
|
||||
/* K1 */ be_const_int(0),
|
||||
/* K2 */ be_nested_str_weak(sessions),
|
||||
@ -133,14 +133,15 @@ be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name *
|
||||
/* K5 */ be_nested_str_weak(format),
|
||||
/* K6 */ be_nested_str_weak(MTR_X3A_X20session_X2Eresumption_id_X3D_X25s_X20vs_X20_X25s),
|
||||
/* K7 */ be_nested_str_weak(resumption_id),
|
||||
/* K8 */ be_nested_str_weak(shared_secret),
|
||||
/* K9 */ be_nested_str_weak(MTR_X3A_X20session_X2Eshared_secret_X3D_X25s),
|
||||
/* K10 */ be_nested_str_weak(update),
|
||||
/* K11 */ be_const_int(1),
|
||||
/* K8 */ be_const_int(3),
|
||||
/* K9 */ be_nested_str_weak(shared_secret),
|
||||
/* K10 */ be_nested_str_weak(MTR_X3A_X20session_X2Eshared_secret_X3D_X25s),
|
||||
/* K11 */ be_nested_str_weak(update),
|
||||
/* K12 */ be_const_int(1),
|
||||
}),
|
||||
be_str_weak(find_session_by_resumption_id),
|
||||
&be_const_str_solidified,
|
||||
( &(const binstruction[47]) { /* code */
|
||||
( &(const binstruction[49]) { /* code */
|
||||
0xA40A0000, // 0000 IMPORT R2 K0
|
||||
0x5C0C0200, // 0001 MOVE R3 R1
|
||||
0x740E0001, // 0002 JMPT R3 #0005
|
||||
@ -152,7 +153,7 @@ be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name *
|
||||
0x5C180800, // 0008 MOVE R6 R4
|
||||
0x7C140200, // 0009 CALL R5 1
|
||||
0x14140605, // 000A LT R5 R3 R5
|
||||
0x78160021, // 000B JMPF R5 #002E
|
||||
0x78160023, // 000B JMPF R5 #0030
|
||||
0x94140803, // 000C GETIDX R5 R4 R3
|
||||
0xB81A0600, // 000D GETNGBL R6 K3
|
||||
0x8C180D04, // 000E GETMET R6 R6 K4
|
||||
@ -165,29 +166,31 @@ be_local_closure(Matter_Session_Store_find_session_by_resumption_id, /* name *
|
||||
0x5C340200, // 0015 MOVE R13 R1
|
||||
0x7C300200, // 0016 CALL R12 1
|
||||
0x7C200800, // 0017 CALL R8 4
|
||||
0x7C180400, // 0018 CALL R6 2
|
||||
0x88180B07, // 0019 GETMBR R6 R5 K7
|
||||
0x1C180C01, // 001A EQ R6 R6 R1
|
||||
0x781A000F, // 001B JMPF R6 #002C
|
||||
0x88180B08, // 001C GETMBR R6 R5 K8
|
||||
0x4C1C0000, // 001D LDNIL R7
|
||||
0x20180C07, // 001E NE R6 R6 R7
|
||||
0x781A000B, // 001F JMPF R6 #002C
|
||||
0xB81A0600, // 0020 GETNGBL R6 K3
|
||||
0x8C180D04, // 0021 GETMET R6 R6 K4
|
||||
0x8C200505, // 0022 GETMET R8 R2 K5
|
||||
0x58280009, // 0023 LDCONST R10 K9
|
||||
0x602C0008, // 0024 GETGBL R11 G8
|
||||
0x88300B08, // 0025 GETMBR R12 R5 K8
|
||||
0x7C2C0200, // 0026 CALL R11 1
|
||||
0x7C200600, // 0027 CALL R8 3
|
||||
0x7C180400, // 0028 CALL R6 2
|
||||
0x8C180B0A, // 0029 GETMET R6 R5 K10
|
||||
0x7C180200, // 002A CALL R6 1
|
||||
0x80040A00, // 002B RET 1 R5
|
||||
0x000C070B, // 002C ADD R3 R3 K11
|
||||
0x7001FFD8, // 002D JMP #0007
|
||||
0x80000000, // 002E RET 0
|
||||
0x58240008, // 0018 LDCONST R9 K8
|
||||
0x7C180600, // 0019 CALL R6 3
|
||||
0x88180B07, // 001A GETMBR R6 R5 K7
|
||||
0x1C180C01, // 001B EQ R6 R6 R1
|
||||
0x781A0010, // 001C JMPF R6 #002E
|
||||
0x88180B09, // 001D GETMBR R6 R5 K9
|
||||
0x4C1C0000, // 001E LDNIL R7
|
||||
0x20180C07, // 001F NE R6 R6 R7
|
||||
0x781A000C, // 0020 JMPF R6 #002E
|
||||
0xB81A0600, // 0021 GETNGBL R6 K3
|
||||
0x8C180D04, // 0022 GETMET R6 R6 K4
|
||||
0x8C200505, // 0023 GETMET R8 R2 K5
|
||||
0x5828000A, // 0024 LDCONST R10 K10
|
||||
0x602C0008, // 0025 GETGBL R11 G8
|
||||
0x88300B09, // 0026 GETMBR R12 R5 K9
|
||||
0x7C2C0200, // 0027 CALL R11 1
|
||||
0x7C200600, // 0028 CALL R8 3
|
||||
0x58240008, // 0029 LDCONST R9 K8
|
||||
0x7C180600, // 002A CALL R6 3
|
||||
0x8C180B0B, // 002B GETMET R6 R5 K11
|
||||
0x7C180200, // 002C CALL R6 1
|
||||
0x80040A00, // 002D RET 1 R5
|
||||
0x000C070C, // 002E ADD R3 R3 K12
|
||||
0x7001FFD6, // 002F JMP #0007
|
||||
0x80000000, // 0030 RET 0
|
||||
})
|
||||
)
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user