aboutsummaryrefslogtreecommitdiff
path: root/tclasm.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'tclasm.tcl')
-rwxr-xr-xtclasm.tcl108
1 files changed, 108 insertions, 0 deletions
diff --git a/tclasm.tcl b/tclasm.tcl
index 5af74c4..f80863d 100755
--- a/tclasm.tcl
+++ b/tclasm.tcl
@@ -105,6 +105,42 @@ proc store+ {address} {
}
+proc _storeb {address_part} {
+ puts 011111000[__to_binary $address_part 7]
+}
+
+proc storeb {address} {
+ _with_im _storeb $address
+}
+
+
+proc _storeb+ {address_part} {
+ puts 011011000[__to_binary $address_part 7]
+}
+
+proc storeb+ {address} {
+ _with_im _storeb+ $address
+}
+
+
+proc _storew {address_part} {
+ puts 011111010[__to_binary $address_part 7]
+}
+
+proc storew {address} {
+ _with_im _storew $address
+}
+
+
+proc _storew+ {address_part} {
+ puts 011011010[__to_binary $address_part 7]
+}
+
+proc storew+ {address} {
+ _with_im _storew+ $address
+}
+
+
proc _load {address_part} {
puts 010111100[__to_binary $address_part 7]
}
@@ -123,6 +159,78 @@ proc load+ {address} {
}
+proc _loadbzx {address_part} {
+ puts 010111000[__to_binary $address_part 7]
+}
+
+proc loadbzx {address} {
+ _with_im _loadbzx $address
+}
+
+
+proc _loadbzx+ {address_part} {
+ puts 010011000[__to_binary $address_part 7]
+}
+
+proc loadbzx+ {address} {
+ _with_im _loadbzx+ $address
+}
+
+
+proc _loadbsx {address_part} {
+ puts 010111001[__to_binary $address_part 7]
+}
+
+proc loadbsx {address} {
+ _with_im _loadbsx $address
+}
+
+
+proc _loadbsx+ {address_part} {
+ puts 010011001[__to_binary $address_part 7]
+}
+
+proc loadbsx+ {address} {
+ _with_im _loadbsx+ $address
+}
+
+
+proc _loadwzx {address_part} {
+ puts 010111010[__to_binary $address_part 7]
+}
+
+proc loadwzx {address} {
+ _with_im _loadwzx $address
+}
+
+
+proc _loadwzx+ {address_part} {
+ puts 010011010[__to_binary $address_part 7]
+}
+
+proc loadwzx+ {address} {
+ _with_im _loadwzx+ $address
+}
+
+
+proc _loadwsx {address_part} {
+ puts 010111011[__to_binary $address_part 7]
+}
+
+proc loadwsx {address} {
+ _with_im _loadwsx $address
+}
+
+
+proc _loadwsx+ {address_part} {
+ puts 010011011[__to_binary $address_part 7]
+}
+
+proc loadwsx+ {address} {
+ _with_im _loadwsx+ $address
+}
+
+
# Instructions, that do not change stack size
proc halt {} {