summaryrefslogtreecommitdiff
path: root/ldmicro/reg
diff options
context:
space:
mode:
authorNatsuDrag92018-06-06 11:51:20 +0530
committerGitHub2018-06-06 11:51:20 +0530
commit003741ef327ab000986e6c5a3bc8ff058c171efc (patch)
tree860b10e7f01fdfc25be90aa0f6228fd6672cb333 /ldmicro/reg
parent8deab843fa6d616086955702c77751f631badc0d (diff)
parent42f0b6abf37b6afc278a218b8301b7d4f1f6b2cc (diff)
downloadLDMicroGtk-003741ef327ab000986e6c5a3bc8ff058c171efc.tar.gz
LDMicroGtk-003741ef327ab000986e6c5a3bc8ff058c171efc.tar.bz2
LDMicroGtk-003741ef327ab000986e6c5a3bc8ff058c171efc.zip
Merge pull request #3 from NatsuDrag9/GUI_port
Gui port 2
Diffstat (limited to 'ldmicro/reg')
-rw-r--r--ldmicro/reg/expected/avr-hw.hex330
-rw-r--r--ldmicro/reg/expected/contacts.hex21
-rw-r--r--ldmicro/reg/expected/integers.hex134
-rw-r--r--ldmicro/reg/expected/misc-ops.hex69
-rw-r--r--ldmicro/reg/expected/pic16-hw.hex189
-rw-r--r--ldmicro/reg/expected/timers-counters.hex119
-rw-r--r--ldmicro/reg/go.bat1
-rw-r--r--ldmicro/reg/run-tests.pl33
-rw-r--r--ldmicro/reg/tests/avr-hw.ld61
-rw-r--r--ldmicro/reg/tests/contacts.ld41
-rw-r--r--ldmicro/reg/tests/integers.ld61
-rw-r--r--ldmicro/reg/tests/misc-ops.ld53
-rw-r--r--ldmicro/reg/tests/pic16-hw.ld61
-rw-r--r--ldmicro/reg/tests/timers-counters.ld57
14 files changed, 1230 insertions, 0 deletions
diff --git a/ldmicro/reg/expected/avr-hw.hex b/ldmicro/reg/expected/avr-hw.hex
new file mode 100644
index 0000000..1fdd509
--- /dev/null
+++ b/ldmicro/reg/expected/avr-hw.hex
@@ -0,0 +1,330 @@
+:1000000022C0189518951895189518951895189553
+:100010001895189518951895189518951895189578
+:100020001895189518951895189518951895189568
+:100030001895189518951895189518951895189558
+:10004000189518951895B0E0AEE500E10C93B0E076
+:10005000ADE50FEF0C93B1E1A0E000E020E030E16E
+:10006000A150B0400C93215030402223C9F73323D4
+:10007000B9F7B0E0A8E900E00C93B0E0A9E907E621
+:100080000C93B0E0AAE908E10C93B0E0AAE300E029
+:100090000C93B0E0ABE300E00C93B0E0A7E300E822
+:1000A0000C93B0E0A8E300E00C93B0E0A4E300E020
+:1000B0000C93B0E0A5E300E00C93B0E0A1E308E00E
+:1000C0000C93B0E0A2E300E00C93B0E0A2E200E009
+:1000D0000C93B0E0A3E201E00C93B0E0A1E600E0F5
+:1000E0000C93B0E0A2E600E00C93B0E0A4E600E0E0
+:1000F0000C93B0E0A5E600E00C93B0E0AFE400E0C4
+:100100000C93B0E0AEE409E00C93B0E0ABE40CE992
+:100110000C93B0E0AAE40EE30C93B0E0A7E500E195
+:100120000C93B0E0A6E50C9104FFFBCFB0E0A6E590
+:100130000C9100610C93A895B1E0A1E00C910260D4
+:100140000C93B1E0A1E00C91B1E0A1E01C9101FFA2
+:100150001B7F01FD14601C93B1E0A1E00C9102FF34
+:10016000EFC0B1E0A1E00C9103FD60C0B1E0A1E0FF
+:100170000C910F7E0C93B0E0ACE30C9101FD23C019
+:10018000B1E0A1E00C9100FF23C0B0E0AEE30C9120
+:10019000B0E0AFE31C91039509F413951C93B0E014
+:1001A000AEE30C93B1E0A0E00C91B0E0ADE30C93B2
+:1001B000B0E0ACE304E00C9306E00C93B1E0A1E006
+:1001C0000C910E7F0C93B1E0A1E00C9100610C93B7
+:1001D000B1E0A1E00C9104FD29C0B1E0A1E00C91D7
+:1001E00008600C93B0E0AFE300E00C93B0E0AEE346
+:1001F00000E00C93B0E0ACE301E00C93B0E0ADE3C1
+:100200000C91B1E0A2E00C93B0E0AFE300E00C93FE
+:10021000B0E0AEE301E00C93B0E0ACE301E00C939E
+:10022000B0E0ADE30C91B1E0A3E00C93B1E0A1E04C
+:100230000C910F7E0C93B0E0ACE30C9101FD23C058
+:10024000B1E0A1E00C9100FF23C0B0E0AEE30C915F
+:10025000B0E0AFE31C91039509F413951C93B0E053
+:10026000AEE30C93B1E0A0E00C91B0E0ADE30C93F1
+:10027000B0E0ACE304E00C9306E00C93B1E0A1E045
+:100280000C910E7F0C93B1E0A1E00C9100610C93F6
+:10029000B1E0A1E00C9104FD53C0B0E0AFE300E099
+:1002A0000C93B0E0AEE300E00C93B0E0ACE301E00F
+:1002B0000C93B0E0ADE30C91B1E0A4E00C93B0E09E
+:1002C000AFE300E00C93B0E0AEE301E00C93B0E0EC
+:1002D000ACE301E00C93B0E0ADE30C91B1E0A5E03C
+:1002E0000C93B1E0A4E00C91B1E0A5E01C91B1E069
+:1002F000A2E02C91B1E0A3E03C910217130709F4AE
+:100300001FC0B1E0A1E00C9101600C93B1E0A3E04B
+:100310000C91B1E0A0E00C93B0E0AFE300E00C93EF
+:10032000B0E0AEE300E00C93B1E0A2E00C91B0E0ED
+:10033000ADE30C93B0E0ACE304E00C9306E00C9367
+:10034000B1E0A1E00C91B1E0A1E01C9101FF1B7FA5
+:1003500001FD14601C93B1E0A1E00C9102FF1DC0EF
+:10036000B0E0A7E200E00C93B0E0A6E205E80C9351
+:10037000B0E0A6E205EC0C93B0E0A6E20C9106FD1D
+:10038000FBCFB0E0A4E20C91B1E0A6E00C93B0E0AA
+:10039000A5E20C91B1E0A7E00C93B1E0A1E00C91D3
+:1003A000B1E0A1E01C9101FF1B7F01FD14601C93D3
+:1003B000B1E0A1E00C910F7D0C93B1E0A1E00C91B4
+:1003C000B1E0A1E01C9102FF1F7B02FD10641C93B1
+:1003D000B0E0A1E20C9100FD05C0B1E0A1E00C91FC
+:1003E0000F7B0C93B1E0A1E00C9106FF05C0B1E0DA
+:1003F000A1E00C9100620C93B1E0A1E00C91B1E09E
+:10040000A1E01C9102FF1F7B02FD10641C93B1E070
+:10041000A8E000E00C93B1E0A9E002E00C93B1E0A9
+:10042000A8E00C91B1E0A9E01C91B1E0A6E02C910C
+:10043000B1E0A7E03C91201731072CF4B1E0A1E036
+:100440000C910F7B0C93B1E0A1E00C9106FF05C06D
+:10045000B1E0A1E00C9100620C93B1E0A1E00C913D
+:10046000B1E0A1E01C9105FF1B7F05FD14601C930A
+:10047000B1E0A1E00C91B1E0A1E01C9102FF1F7E70
+:1004800002FD10611C93B1E0A1E00C9107FF05C0D3
+:10049000B1E0A1E00C910B7F0C93B1E0A1E00C91D5
+:1004A000B1E0A1E01C9104FF1F7704FD10681C93CC
+:1004B000B1E0A1E00C9102FF1CC0B1E0A8E001E0B6
+:1004C0000C93B1E0A9E000E00C93B1E0A2E02C9124
+:1004D000B1E0A3E03C91B1E0A8E00C91B1E0A9E06B
+:1004E0001C91200F311FB1E0A2E02C93B1E0A3E0FA
+:1004F0003C93B1E0A1E00C91B1E0A1E01C9101FFBF
+:100500001B7F01FD14601C93B1E0AAE00C910E7FEB
+:100510000C93B1E0A1E00C91B1E0AAE01C9102FFC4
+:100520001D7F02FD12601C93B1E0A8E00AE00C936D
+:10053000B1E0A9E000E00C93B1E0A8E00C91B1E0DB
+:10054000A9E01C91B1E0A2E02C91B1E0A3E03C91C4
+:10055000201731070CF405C0B1E0AAE00C910D7F23
+:100560000C93B1E0AAE00C9101FF08C0B1E0ABE050
+:1005700004E10C93B1E0ACE000E00C93B1E0AAE040
+:100580000C9101FF05C0B1E0AAE00C9101600C9351
+:10059000B1E0A1E00C91B1E0AAE01C9102FF1D7F47
+:1005A00002FD12601C93B1E0A8E00AE00C93B1E0F8
+:1005B000A9E000E00C93B1E0A8E00C91B1E0A9E063
+:1005C0001C91B1E0A2E02C91B1E0A3E03C91201796
+:1005D00031072CF4B1E0AAE00C910D7F0C93B1E04F
+:1005E000AAE00C9101FF08C0B1E0ABE002E30C937C
+:1005F000B1E0ACE000E00C93B1E0AAE00C9101FFA7
+:1006000005C0B1E0AAE00C9101600C93B1E0A1E05B
+:100610000C91B1E0AAE01C9102FF1D7F02FD126067
+:100620001C93B1E0AAE00C9101FF21C0B1E0ABE066
+:100630000C9110E030E02FEFEAE0FAE00995132F7B
+:10064000022F30E024E6EBE1FAE00995B0E0A3E404
+:100650000C93B1E0AAE00C9102FD09C0B1E0AAE060
+:100660000C9104600C93B0E0A5E40AE60C93B1E0B1
+:10067000AAE00C9101FF05C0B1E0AAE00C91016075
+:100680000C93B1E0AAE00C91B1E0A1E01C9100FF55
+:100690001B7F00FD14601C93B1E0A1E00C91B1E060
+:1006A000A1E01C9101FF1B7F01FD14601C93B1E0D0
+:1006B000A1E00C9102FF1EC0B1E0ADE00C91B1E0F1
+:1006C000AEE01C9123E630E00217130794F4B1E08A
+:1006D000ADE00C91B1E0AEE01C91039509F41395E7
+:1006E0001C93B1E0ADE00C93B1E0A1E00C910B7F65
+:1006F0000C9308C0B1E0ADE000E00C93B1E0AEE0D7
+:1007000000E00C93B1E0A1E00C91B1E0A1E01C91FC
+:1007100002FF1F7E02FD10611C93B1E0AAE00C9164
+:1007200003FF05C0B1E0A1E00C910B7F0C93B1E099
+:10073000A1E00C91B1E0AAE01C9104FF177F04FD39
+:1007400018601C93B1E0A1E00C9102FF0DC0B1E074
+:10075000AAE00C9104FD08C0B1E0AFE000E00C930A
+:10076000B1E0A0E100E00C93B1E0A1E00C91B1E0B8
+:10077000AAE01C9102FF1F7E02FD10611C93B1E0F4
+:10078000AFE00C91B1E0A1E10C93B1E0A0E10C91DC
+:10079000B1E0A2E10C93B1E0AFE00C91B1E0A0E1D7
+:1007A0001C9120E130E0021713070CF408C0B1E0FF
+:1007B000A1E10FEF0C93B1E0A2E10FEF0C93B1E0D8
+:1007C000A1E00C910F7E0C93B1E0A1E00C9104FF2D
+:1007D00006C0B1E0A4E00C91B0E0ACE90C93B1E04C
+:1007E000A1E00C910F7E0C93B0E0ABE90C9105FDFC
+:1007F00005C0B1E0A1E00C9100610C93B1E0A1E073
+:100800000C9104FF08C0B1E0A1E10FEF0C93B1E03F
+:10081000A2E10FEF0C93B1E0A4E000E00C93B1E093
+:10082000A5E000E00C93B1E0A4E00C91B1E0A5E0FC
+:100830001C91B1E0A1E12C91B1E0A2E13C91021741
+:10084000130741F4B1E0A8E003E70C93B1E0A9E09D
+:1008500000E00C93B1E0A4E001E00C93B1E0A5E06E
+:1008600000E00C93B1E0A4E00C91B1E0A5E01C9194
+:10087000B1E0A1E12C91B1E0A2E13C910217130794
+:1008800041F4B1E0A8E001E60C93B1E0A9E000E09A
+:100890000C93B1E0A4E002E00C93B1E0A5E000E02D
+:1008A0000C93B1E0A4E00C91B1E0A5E01C91B1E0A3
+:1008B000A1E12C91B1E0A2E13C910217130741F4B0
+:1008C000B1E0A8E006E70C93B1E0A9E000E00C93EA
+:1008D000B1E0A4E003E00C93B1E0A5E000E00C93EC
+:1008E000B1E0A4E00C91B1E0A5E01C91B1E0A1E180
+:1008F0002C91B1E0A2E13C910217130741F4B1E061
+:10090000A8E005E60C93B1E0A9E000E00C93B1E0AB
+:10091000A4E004E00C93B1E0A5E000E00C93B1E0AA
+:10092000A4E00C91B1E0A5E01C91B1E0A1E12C9113
+:10093000B1E0A2E13C910217130741F4B1E0A8E055
+:1009400004E60C93B1E0A9E000E00C93B1E0A4E070
+:1009500005E00C93B1E0A5E000E00C93B1E0A4E069
+:100960000C91B1E0A5E01C91B1E0A1E12C91B1E0C6
+:10097000A2E13C910217130741F4B1E0A8E000E2C4
+:100980000C93B1E0A9E000E00C93B1E0A4E006E034
+:100990000C93B1E0A5E000E00C93B1E0A4E00C9171
+:1009A000B1E0A5E01C91B1E0A1E12C91B1E0A2E1A0
+:1009B0003C910217130741F4B1E0A8E00DE30C935A
+:1009C000B1E0A9E000E00C93B1E0A4E007E00C93F3
+:1009D000B1E0A5E000E00C93B1E0A4E00C91B1E03F
+:1009E000A5E01C91B1E0A1E12C91B1E0A2E13C9124
+:1009F0000217130741F4B1E0A8E000E20C93B1E064
+:100A0000A9E000E00C93B1E0A4E008E00C93B1E0B1
+:100A1000A5E000E00C93B1E0A1E00C910F7E0C93F7
+:100A2000B1E0A4E00C91B1E0A5E01C91B1E0A1E13E
+:100A30002C91B1E0A2E13C910217130729F4B1E037
+:100A4000A1E00C9100610C93B1E0A1E00C9104FFD6
+:100A500043C0B1E0A2E00C91B1E0A3E10C93B1E09E
+:100A6000A3E00C91B1E0A4E10C93B1E0A8E000E2B6
+:100A70000C93B1E0A9E000E00C93B1E0A2E00C918E
+:100A8000B1E0A3E01C9120E030E00217130724F549
+:100A9000B1E0A8E00DE20C93B1E0A9E000E00C9316
+:100AA000B1E0A4E000E00C93B1E0A5E000E00C931D
+:100AB000B1E0A4E02C91B1E0A5E03C91B1E0A2E06E
+:100AC0000C91B1E0A3E01C91201B310BB1E0A3E13C
+:100AD0002C93B1E0A4E13C93B1E0A4E009E00C93D5
+:100AE000B1E0A5E000E00C93B1E0A1E00C910F7E35
+:100AF0000C93B1E0A4E00C91B1E0A5E01C91B1E051
+:100B0000A1E12C91B1E0A2E13C910217130729F475
+:100B1000B1E0A1E00C9100610C93B1E0A1E00C9177
+:100B200004FF89C0B1E0AAE00C9100620C93B1E02F
+:100B3000A4E000E10C93B1E0A5E007E20C93B1E082
+:100B4000A4E02C91B1E0A5E03C91B1E0A3E10C91CF
+:100B5000B1E0A4E11C91EBE1FAE00995B1E0A8E075
+:100B60000C93B1E0A9E01C93B1E0A4E02C91B1E0BA
+:100B7000A5E03C91B1E0A8E00C91B1E0A9E01C91A6
+:100B8000EAE0FAE00995B1E0A4E02C93B1E0A5E039
+:100B90003C93B1E0A3E12C91B1E0A4E13C91B1E040
+:100BA000A4E00C91B1E0A5E01C91201B310BB1E059
+:100BB000A3E12C93B1E0A4E13C93B1E0A4E000E315
+:100BC0000C93B1E0A5E000E00C93B1E0A8E02C911B
+:100BD000B1E0A9E03C91B1E0A4E00C91B1E0A5E066
+:100BE0001C91200F311FB1E0A8E02C93B1E0A9E0E7
+:100BF0003C93B1E0A4E00C91B1E0A5E01C91B1E020
+:100C0000A8E02C91B1E0A9E03C910217130771F420
+:100C1000B1E0AAE00C9105FF08C0B1E0A8E000E255
+:100C20000C93B1E0A9E000E00C9305C0B1E0AAE0AC
+:100C30000C910F7D0C93B1E0A4E00AE00C93B1E0BD
+:100C4000A5E000E00C93B1E0A1E00C910F7E0C93C5
+:100C5000B1E0A4E00C91B1E0A5E01C91B1E0A1E10C
+:100C60002C91B1E0A2E13C910217130729F4B1E005
+:100C7000A1E00C9100610C93B1E0A1E00C9104FFA4
+:100C800084C0B1E0A4E008EE0C93B1E0A5E003E07D
+:100C90000C93B1E0A4E02C91B1E0A5E03C91B1E06F
+:100CA000A3E10C91B1E0A4E11C91EBE1FAE009951C
+:100CB000B1E0A8E00C93B1E0A9E01C93B1E0A4E09E
+:100CC0002C91B1E0A5E03C91B1E0A8E00C91B1E03D
+:100CD000A9E01C91EAE0FAE00995B1E0A4E02C93C8
+:100CE000B1E0A5E03C93B1E0A3E12C91B1E0A4E137
+:100CF0003C91B1E0A4E00C91B1E0A5E01C91201B77
+:100D0000310BB1E0A3E12C93B1E0A4E13C93B1E05D
+:100D1000A4E000E30C93B1E0A5E000E00C93B1E0A7
+:100D2000A8E02C91B1E0A9E03C91B1E0A4E00C91E5
+:100D3000B1E0A5E01C91200F311FB1E0A8E02C9399
+:100D4000B1E0A9E03C93B1E0A4E00C91B1E0A5E0F2
+:100D50001C91B1E0A8E02C91B1E0A9E03C91021710
+:100D6000130771F4B1E0AAE00C9105FF08C0B1E0EF
+:100D7000A8E000E20C93B1E0A9E000E00C9305C00C
+:100D8000B1E0AAE00C910F7D0C93B1E0A4E00BE080
+:100D90000C93B1E0A5E000E00C93B1E0A1E00C9170
+:100DA0000F7E0C93B1E0A4E00C91B1E0A5E01C91A2
+:100DB000B1E0A1E12C91B1E0A2E13C91021713074F
+:100DC00029F4B1E0A1E00C9100610C93B1E0A1E045
+:100DD0000C9104FF84C0B1E0A4E004E60C93B1E000
+:100DE000A5E000E00C93B1E0A4E02C91B1E0A5E017
+:100DF0003C91B1E0A3E10C91B1E0A4E11C91EBE1E5
+:100E0000FAE00995B1E0A8E00C93B1E0A9E01C93E9
+:100E1000B1E0A4E02C91B1E0A5E03C91B1E0A8E004
+:100E20000C91B1E0A9E01C91EAE0FAE00995B1E08B
+:100E3000A4E02C93B1E0A5E03C93B1E0A3E12C91B8
+:100E4000B1E0A4E13C91B1E0A4E00C91B1E0A5E0F7
+:100E50001C91201B310BB1E0A3E12C93B1E0A4E184
+:100E60003C93B1E0A4E000E30C93B1E0A5E000E026
+:100E70000C93B1E0A8E02C91B1E0A9E03C91B1E085
+:100E8000A4E00C91B1E0A5E01C91200F311FB1E06E
+:100E9000A8E02C93B1E0A9E03C93B1E0A4E00C9170
+:100EA000B1E0A5E01C91B1E0A8E02C91B1E0A9E08F
+:100EB0003C910217130771F4B1E0AAE00C9105FF11
+:100EC00008C0B1E0A8E000E20C93B1E0A9E000E0C6
+:100ED0000C9305C0B1E0AAE00C910F7D0C93B1E03A
+:100EE000A4E00CE00C93B1E0A5E000E00C93B1E0CD
+:100EF000A1E00C910F7E0C93B1E0A4E00C91B1E065
+:100F0000A5E01C91B1E0A1E12C91B1E0A2E13C91FE
+:100F10000217130729F4B1E0A1E00C9100610C93D2
+:100F2000B1E0A1E00C9104FF84C0B1E0A4E00AE0CC
+:100F30000C93B1E0A5E000E00C93B1E0A4E02C91AB
+:100F4000B1E0A5E03C91B1E0A3E10C91B1E0A4E1F6
+:100F50001C91EBE1FAE00995B1E0A8E00C93B1E057
+:100F6000A9E01C93B1E0A4E02C91B1E0A5E03C9194
+:100F7000B1E0A8E00C91B1E0A9E01C91EAE0FAE050
+:100F80000995B1E0A4E02C93B1E0A5E03C93B1E079
+:100F9000A3E12C91B1E0A4E13C91B1E0A4E00C917B
+:100FA000B1E0A5E01C91201B310BB1E0A3E12C9333
+:100FB000B1E0A4E13C93B1E0A4E000E30C93B1E024
+:100FC000A5E000E00C93B1E0A8E02C91B1E0A9E02D
+:100FD0003C91B1E0A4E00C91B1E0A5E01C91200FA0
+:100FE000311FB1E0A8E02C93B1E0A9E03C93B1E05F
+:100FF000A4E00C91B1E0A5E01C91B1E0A8E02C9137
+:10100000B1E0A9E03C910217130771F4B1E0AAE046
+:101010000C9105FF08C0B1E0A8E000E20C93B1E03C
+:10102000A9E000E00C9305C0B1E0AAE00C910F7DAF
+:101030000C93B1E0A4E00DE00C93B1E0A5E000E07A
+:101040000C93B1E0A1E00C910F7E0C93B1E0A4E011
+:101050000C91B1E0A5E01C91B1E0A1E12C91B1E0CF
+:10106000A2E13C910217130729F4B1E0A1E00C9131
+:1010700000610C93B1E0A1E00C9104FF62C0B1E00B
+:10108000A4E001E00C93B1E0A5E000E00C93B1E036
+:10109000A4E02C91B1E0A5E03C91B1E0A3E10C917A
+:1010A000B1E0A4E11C91EBE1FAE00995B1E0A8E020
+:1010B0000C93B1E0A9E01C93B1E0A4E02C91B1E065
+:1010C000A5E03C91B1E0A8E00C91B1E0A9E01C9151
+:1010D000EAE0FAE00995B1E0A4E02C93B1E0A5E0E4
+:1010E0003C93B1E0A3E12C91B1E0A4E13C91B1E0EB
+:1010F000A4E00C91B1E0A5E01C91201B310BB1E004
+:10110000A3E12C93B1E0A4E13C93B1E0A4E000E3BF
+:101110000C93B1E0A5E000E00C93B1E0A8E02C91C5
+:10112000B1E0A9E03C91B1E0A4E00C91B1E0A5E010
+:101130001C91200F311FB1E0A8E02C93B1E0A9E091
+:101140003C93B1E0A4E00EE00C93B1E0A5E000E038
+:101150000C93B1E0A4E00C91B1E0A5E01C91B1E0EA
+:10116000A1E12C91B1E0A2E13C910217130741F4F7
+:10117000B1E0A8E00DE00C93B1E0A9E000E00C9331
+:10118000B1E0A4E00FE00C93B1E0A5E000E00C9327
+:10119000B1E0A4E00C91B1E0A5E01C91B1E0A1E1C7
+:1011A0002C91B1E0A2E13C910217130741F4B1E0A8
+:1011B000A8E00AE00C93B1E0A9E000E00C93B1E0F4
+:1011C000A1E10C91B1E0A2E11C9120E030E0021716
+:1011D00013070CF42CC0B1E0A1E00C9100610C935A
+:1011E000B1E0A1E00C9104FF06C0B1E0A8E00C91D1
+:1011F000B0E0ACE90C93B1E0A1E00C910F7E0C9350
+:10120000B0E0ABE90C9105FD05C0B1E0A1E00C91A7
+:1012100000610C93B1E0AFE00C91B1E0A0E11C9152
+:10122000039509F413951C93B1E0AFE00C93B1E082
+:10123000A1E00C910B7F0C93B1E0AFE00C91B1E019
+:10124000A0E11C9120E130E0021713072CF4B1E07B
+:10125000A1E00C9104600C93B1E0A1E00C91B1E02D
+:10126000A1E01C9101FF1B7F01FD14601C93B1E004
+:10127000A1E00C9102FF08C0B1E0A5E108E70C93E2
+:10128000B1E0A6E100E00C93B1E0A1E00C91B1E087
+:10129000A1E01C9101FF1B7F01FD14601C93B1E0D4
+:1012A000A1E00C9102FF1EC0B1E0A7E10C91B1E0FA
+:1012B000A8E11C9127EC30E00217130794F4B1E089
+:1012C000A7E10C91B1E0A8E11C91039509F41395F5
+:1012D0001C93B1E0A7E10C93B1E0A1E00C910B7F6E
+:1012E0000C9308C0B1E0A7E100E00C93B1E0A8E1E5
+:1012F00000E00C93B1E0A1E00C91B1E0A1E01C9101
+:1013000002FF1F7E02FD10611C93B1E0AAE00C9168
+:1013100006FF05C0B1E0A1E00C910B7F0C93B1E09A
+:10132000A1E00C91B1E0AAE01C9104FF1F7B04FD39
+:1013300010641C93B1E0A1E00C9102FF06C0B1E083
+:10134000A5E10C91B0E0ACE90C93B1E0A1E00C9107
+:101350000B7F0C93B0E0ABE90C9105FD05C0B1E04B
+:10136000A1E00C9104600C93B1E0A1E00C91B1E01C
+:10137000A1E01C9101FF1B7F01FD14601C93B1E0F3
+:10138000A1E00C9102FF19C0B1E0A1E00C910B7F2C
+:101390000C93B0E0ABE90C9107FF0FC0B1E0A1E006
+:1013A0000C9104600C93B0E0ACE90C91B1E0A9E1C0
+:1013B0000C93B1E0AAE100E00C93B1E0A8E001E6F3
+:1013C0000C93B1E0A9E000E00C93B1E0A9E10C912D
+:1013D000B1E0AAE11C91B1E0A8E02C91B1E0A9E054
+:1013E0003C910217130709F405C0B1E0A1E00C918C
+:1013F0000B7F0C93B1E0A1E00C9102FF08C0B1E0BB
+:10140000A2E000E00C93B1E0A3E000E00C93E1E97E
+:10141000F0E00994551B441B60E110F4400F511F8C
+:1014200020FD401B20FD510B55954795379527957D
+:101430006A9599F70895D12ED32617FF04C0109509
+:1014400000950F5F1F4F37FF04C0309520952F5F29
+:101450003F4FEE24FF1841E1001F111F4A9539F458
+:10146000D7FE04C0109500950F5F1F4F0895EE1C26
+:10147000FF1CE21AF30A20F4E20EF31E8894ECCF6C
+:041480000894EACF13
+:00000001FF
diff --git a/ldmicro/reg/expected/contacts.hex b/ldmicro/reg/expected/contacts.hex
new file mode 100644
index 0000000..5c653b7
--- /dev/null
+++ b/ldmicro/reg/expected/contacts.hex
@@ -0,0 +1,21 @@
+:020000040000FA
+:100000008A110A1208280000000000000000000009
+:10001000283084005830A0008001840AA00B0C28EE
+:10002000103095002730960000308E0000308F0091
+:10003000013090000B309700831686309F008312AA
+:10004000003085008316DF30850083120030860083
+:100050008316FF3086008312003087008316FC3041
+:10006000870083120C1D32280C116400A914A918F2
+:100070002915A91C291105183E2829112919071429
+:10008000291D0710A9182915A91C2911A911291919
+:100090002916291D291285184E282912291E512892
+:1000A000A91529192916291D2912051958282912B7
+:1000B000291E5B28A915A9192915A91D2911291D72
+:1000C00062288516A9182915A91C291185196928DE
+:1000D0002911051E6C282911A91229192917291D72
+:1000E0002913291F74288512291F7728A916291971
+:1000F0002917291D2913291F7F2887108028871475
+:10010000291F8328A916A91A2915A91E29118A01B0
+:02011000322893
+:02400E00723FFF
+:00000001FF
diff --git a/ldmicro/reg/expected/integers.hex b/ldmicro/reg/expected/integers.hex
new file mode 100644
index 0000000..1e270a7
--- /dev/null
+++ b/ldmicro/reg/expected/integers.hex
@@ -0,0 +1,134 @@
+:1000000022C0189518951895189518951895189553
+:100010001895189518951895189518951895189578
+:100020001895189518951895189518951895189568
+:100030001895189518951895189518951895189558
+:10004000189518951895B0E0AEE504E00C93B0E073
+:10005000ADE50FEF0C93B5E0A0E000E020E034E068
+:10006000A150B0400C93215030402223C9F73323D4
+:10007000B9F7B0E0AAE304E00C93B0E0ABE300E032
+:100080000C93B0E0A7E300E00C93B0E0A8E301E03C
+:100090000C93B0E0A4E300E00C93B0E0A5E300E033
+:1000A0000C93B0E0A1E300E40C93B0E0A2E300E025
+:1000B0000C93B0E0A6E200E00C93B0E0A7E200E011
+:1000C0000C93B0E0AFE400E00C93B0E0AEE40AE0E3
+:1000D0000C93B0E0ABE404EF0C93B0E0AAE402E2CE
+:1000E0000C93B0E0A9E500E40C93B0E0A8E50C9116
+:1000F00006FFFBCFB0E0A8E50C9100640C93A89537
+:10010000B1E0A1E00C9102600C93B1E0A1E00C9190
+:10011000B1E0A1E01C9101FF1B7F01FD14601C9365
+:10012000B1E0A1E00C91077F0C93B1E0A1E00C914C
+:10013000B1E0A1E01C9102FF1F7E02FD10611C9343
+:10014000B0E0A6E30C9100FD05C0B1E0A1E00C9188
+:100150000F7E0C93B1E0A1E00C9104FF08C0B1E068
+:10016000A2E00BE20C93B1E0A3E005E00C93B1E058
+:10017000A1E00C9104FF05C0B1E0A1E00C91086082
+:100180000C93B1E0A1E00C91B1E0A1E01C9102FF61
+:100190001F7E02FD10611C93B0E0A6E30C9100FFEE
+:1001A00005C0B1E0A1E00C910F7E0C93B1E0A1E09D
+:1001B0000C9104FF08C0B1E0A2E004EF0C93B1E0A1
+:1001C000A3E00FEF0C93B1E0A1E00C9104FF05C098
+:1001D000B1E0A1E00C9108600C93B1E0A1E00C91BA
+:1001E000B1E0A1E01C9103FF1B7F03FD14601C9391
+:1001F000B1E0A1E00C91B1E0A1E01C9101FF1B7FF7
+:1002000001FD14601C93B1E0A1E00C910F7D0C93F3
+:10021000B1E0A1E00C91B1E0A1E01C9102FF1F7BD5
+:1002200002FD10641C93B1E0A1E00C9106FF1CC01C
+:10023000B1E0A4E008EE0C93B1E0A5E003E00C937C
+:10024000B1E0A2E02C91B1E0A3E03C91B1E0A4E0E8
+:100250000C91B1E0A5E01C91200F311FB1E0A6E0A8
+:100260002C93B1E0A7E03C93B1E0A1E00C9106FF34
+:1002700005C0B1E0A1E00C9100620C93B1E0A1E0F7
+:100280000C91B1E0A1E01C9102FF1F7B02FD106404
+:100290001C93B1E0A1E00C9106FF1CC0B1E0A4E00A
+:1002A00005E00C93B1E0A5E000E00C93B1E0A2E022
+:1002B0002C91B1E0A3E03C91B1E0A4E00C91B1E05D
+:1002C000A5E01C91201B310BB1E0A8E02C93B1E01C
+:1002D000A9E03C93B1E0A1E00C9106FF05C0B1E0BC
+:1002E000A1E00C9100620C93B1E0A1E00C91B1E0AF
+:1002F000A1E01C9102FF1F7B02FD10641C93B1E082
+:10030000A1E00C9106FF1DC0B1E0A4E003E00C9356
+:10031000B1E0A5E000E00C93B1E0A2E02C91B1E0E7
+:10032000A3E03C91B1E0A4E00C91B1E0A5E01C9108
+:10033000ECEEF3E00995B1E0AAE02C93B1E0ABE07C
+:100340003C93B1E0A1E00C9106FF05C0B1E0A1E053
+:100350000C9100620C93B1E0A1E00C91B1E0A1E03E
+:100360001C9102FF1F7B02FD10641C93B1E0A1E011
+:100370000C9106FF1DC0B1E0A4E003E00C93B1E0D6
+:10038000A5E000E00C93B1E0A4E02C91B1E0A5E081
+:100390003C91B1E0AAE00C91B1E0ABE01C91EDEF33
+:1003A000F3E00995B1E0ACE00C93B1E0ADE01C9353
+:1003B000B1E0A1E00C9106FF05C0B1E0A1E00C9115
+:1003C00000620C93B1E0A1E00C91B1E0A1E01C91BE
+:1003D00005FF1B7F05FD14601C93B1E0A1E00C91AB
+:1003E000B1E0A1E01C9101FF1B7F01FD14601C9393
+:1003F000B1E0A1E00C910F770C93B1E0A1E00C917A
+:10040000B1E0AEE01C9102FF1E7F02FD11601C9363
+:10041000B1E0A4E00BE20C93B1E0A5E005E00C93A1
+:10042000B1E0A2E00C91B1E0A3E01C91B1E0A4E046
+:100430002C91B1E0A5E03C910217130709F405C027
+:10044000B1E0AEE00C910E7F0C93B1E0AEE00C9108
+:1004500000FF05C0B1E0A1E00C9100680C93B1E091
+:10046000A1E00C91B1E0AEE01C9102FF1E7F02FD05
+:1004700011601C93B1E0AEE00C9100FF05C0B1E04B
+:10048000A1E00C9100680C93B1E0A1E00C91B1E007
+:10049000A1E01C9107FF1B7F07FD14601C93B1E0D6
+:1004A000AEE00C910D7F0C93B1E0A1E00C91B1E0B6
+:1004B000AEE01C9102FF1B7F02FD14601C93B1E0B3
+:1004C000A4E000E00C93B1E0A5E000E00C93B1E003
+:1004D000A4E00C91B1E0A5E01C91B1E0A6E02C9164
+:1004E000B1E0A7E03C91201731070CF405C0B1E062
+:1004F000AEE00C910B7F0C93B1E0AEE00C9102FFEB
+:1005000005C0B1E0AEE00C9102600C93B1E0A1E057
+:100510000C91B1E0AEE01C9102FF1B7F02FD146064
+:100520001C93B1E0A4E006E20C93B1E0A5E005E085
+:100530000C93B1E0A8E00C91B1E0A9E01C91B1E00E
+:10054000A4E02C91B1E0A5E03C91201731072CF4F8
+:10055000B1E0AEE00C910B7F0C93B1E0AEE00C91FA
+:1005600002FF05C0B1E0AEE00C9102600C93B1E077
+:10057000A1E00C91B1E0AEE01C9102FF1B7F02FDF7
+:1005800014601C93B1E0AEE00C9102FF05C0B1E035
+:10059000AEE00C9102600C93B1E0AEE00C91B1E0E2
+:1005A000A1E01C9101FF1B7F01FD14601C93B1E0D1
+:1005B000AEE00C91077F0C93B1E0A1E00C91B1E0AB
+:1005C000AEE01C9102FF1F7E02FD10611C93B1E0A2
+:1005D000A4E000E20C93B1E0A5E00EE40C93B1E0DE
+:1005E000A6E00C91B1E0A7E01C91B1E0A4E02C9151
+:1005F000B1E0A5E03C91201731070CF405C0B1E053
+:10060000AEE00C910F7E0C93B1E0AEE00C9104FFD4
+:1006100005C0B1E0AEE00C9108600C93B1E0A1E040
+:100620000C91B1E0AEE01C9102FF1F7E02FD106153
+:100630001C93B1E0A4E001E80C93B1E0A5E00FE069
+:100640000C93B1E0A4E00C91B1E0A5E01C91B1E005
+:10065000AAE02C91B1E0ABE03C91201731072CF4DB
+:10066000B1E0AEE00C910F7E0C93B1E0AEE00C91E6
+:1006700004FF05C0B1E0AEE00C9108600C93B1E05E
+:10068000A1E00C91B1E0AEE01C9102FF1F7E02FDE3
+:1006900010611C93B1E0AEE00C910F7E0C93B1E0C1
+:1006A000AEE00C9104FF05C0B1E0AEE00C91086033
+:1006B0000C93B1E0AEE00C91B1E0A1E01C9103FF1E
+:1006C0001B7F03FD14601C93B1E0A1E00C91B0E02E
+:1006D000ABE31C9102FF1B7F02FD14601C93B1E091
+:1006E000A1E00C91B1E0A1E01C9101FF1B7F01FD95
+:1006F00014601C93B1E0A4E00CED0C93B1E0A5E014
+:100700000FEF0C93B1E0AAE00C91B1E0ABE01C91CB
+:10071000B1E0A4E02C91B1E0A5E03C9102171307F1
+:1007200029F4B1E0A1E00C910B7F0C93B1E0A4E0BF
+:1007300000E00C93B1E0A5E000E00C93B1E0A2E092
+:100740000C91B1E0A3E01C91B1E0A4E02C91B1E0E8
+:10075000A5E03C91201731070CF405C0B1E0A1E001
+:100760000C910B7F0C93B1E0A1E00C9102FF1EC035
+:10077000B1E0AFE00C91B1E0A0E11C9123E130E0E9
+:100780000217130794F4B1E0AFE00C91B1E0A0E1DF
+:100790001C91039509F413951C93B1E0AFE00C9301
+:1007A000B1E0A1E00C910B7F0C9308C0B1E0AFE089
+:1007B00000E00C93B1E0A0E100E00C93B1E0A1E017
+:1007C0000C91B0E0A2E31C9102FF1F7B02FD1064BC
+:1007D0001C93E5E7F0E00994551B441B60E110F41D
+:1007E000400F511F20FD401B20FD510B5595479593
+:1007F000379527956A9599F70895D12ED32617FF37
+:1008000004C0109500950F5F1F4F37FF04C030954F
+:1008100020952F5F3F4FEE24FF1841E1001F111F6D
+:100820004A9539F4D7FE04C0109500950F5F1F4F0D
+:100830000895EE1CFF1CE21AF30A20F4E20EF31EE8
+:080840008894ECCF0894EACF84
+:00000001FF
diff --git a/ldmicro/reg/expected/misc-ops.hex b/ldmicro/reg/expected/misc-ops.hex
new file mode 100644
index 0000000..c3b7003
--- /dev/null
+++ b/ldmicro/reg/expected/misc-ops.hex
@@ -0,0 +1,69 @@
+:020000040000FA
+:100000008A110A1208280000000000000000000009
+:10001000283084005830A0008001840AA00B0C28EE
+:10002000103095002730960000308E0000308F0091
+:10003000013090000B309700831686309F008312AA
+:10004000003085008316FD30850083120030860065
+:100050008316FF3086008312003087008316FD3040
+:10006000870083120C1D32280C116400A914A918F2
+:100070002915A91C291105183E282911A91842285B
+:10008000A91446282919A914291DA910A918291548
+:10009000A91C2911A9194D282911291D64280030EE
+:1000A0002B0203195A28A00020092B05A006A01B2B
+:1000B0005F28632831302A02031C5F286328AA0FB7
+:1000C0006228AB0A291168280030AA000030AB0072
+:1000D000291A6E283130AC000030AD0029162919DC
+:1000E000862800302D0203197C28A00020092D0548
+:1000F000A006A01B8128852831302C02031C8128F2
+:100100008528AC0F8428AD0A29158A280030AC0058
+:100110000030AD00291D8E28A9118F28A915A91816
+:100120002915A91C2911A91996282911291DB228B8
+:10013000A91AB2283008AE003108AF003208B0006A
+:100140003308B1003408B2003508B3003608B400F3
+:100150003708B5003808B6003908B7003A08B800C3
+:100160003B08B9002919A916291DA912A918291592
+:10017000A91C291129132919A917291DA913A91F78
+:10018000D82851309F00831680309F00831206309C
+:10019000A100A10BC9281F151F19CC281E08BD00DE
+:1001A00083161E088312BC00831686309F008312BC
+:1001B000A91FDB2829172919A917291DA913A91F68
+:1001C000E5283C08BA003D08BB00A91FE82829170C
+:1001D000291B2915291F2911A9182915A91C29111D
+:1001E0003E102919BE14291DBE10A919F828BE10E9
+:1001F000BE1C14293E191429BF0FFF28C00A003065
+:10020000400203190A29A00020094005A006A01BEE
+:100210000F29102905303F02031C0F29102914292A
+:100220000030BF000030C000BE183E15BE1C3E119D
+:10023000BE1C1B293E142919BE14291DBE10BE1C4C
+:1002400071290030C1000030C2003F084102031D87
+:10025000312940084202031D31290A30C300003011
+:10026000C4000130C1000030C2003F084102031D3C
+:10027000412940084202031D41294630C300003095
+:10028000C4000230C1000030C2003F084102031D1B
+:10029000512940084202031D51295030C30000304B
+:1002A000C4000330C1000030C2003F084102031DFA
+:1002B000612940084202031D61294630C300003015
+:1002C000C4000430C1000030C2003F084102031DD9
+:1002D000712940084202031D71290A30C300003011
+:1002E000C400BE1C74293E142919BE14291DBE1059
+:1002F000BE1C9E294308A000A1016430A200A301F6
+:1003000001308A00BB2101308A002308A1002208A5
+:10031000A0006430A200A30101308A00D221013084
+:100320008A0020089B00BE199E29BE1583166330E3
+:10033000920083120C309D0004309200BE1CA12953
+:100340003E143E1829153E1C2911A9182915A91C6F
+:100350002911A918AD29A914B1292919A914291DF0
+:10036000A910A9182915A91C291129198514291DB5
+:1003700085108A013228A501A4010310A30CA20C48
+:100380001030A600031CCA292008A4070318A50AD8
+:100390002108A5070310A50CA40CA30CA20CA60B06
+:1003A000C229080021082306A700A31FDC29A209EF
+:1003B000A309A20A0319A30AA11FE329A009A109FD
+:1003C000A00A0319A10AA501A40103101130A60077
+:1003D000A00DA10DA6030319012AA40DA50D220845
+:1003E000A402031CA5032308A502A51FFF292208B8
+:1003F000A4070318A50A2308A5070310E829031476
+:10040000E829A71F0800A009A109A00A0319A10A49
+:020410000800E2
+:02400E00723FFF
+:00000001FF
diff --git a/ldmicro/reg/expected/pic16-hw.hex b/ldmicro/reg/expected/pic16-hw.hex
new file mode 100644
index 0000000..e966538
--- /dev/null
+++ b/ldmicro/reg/expected/pic16-hw.hex
@@ -0,0 +1,189 @@
+:020000040000FA
+:100000008A110A1208280000000000000000000009
+:10001000283084005830A0008001840AA00B0C28EE
+:10002000103095002730960000308E0000308F0091
+:10003000013090000B309700831686309F008312AA
+:10004000003085008316FF30850083120030860063
+:100050008316FF3086008312003087008316FD3040
+:1000600087008312003088008316FF3088008312D7
+:1000700000308900831607308900831283161930F7
+:1000800099008312831620309800831290309800D4
+:100090000C1D48280C116400A914A9182915A91CC5
+:1000A0002911291DD928A91989282912831603176E
+:1000B0008C186F2883120313291C722803178D0ACA
+:1000C0000313280803178C0083168C130C15553066
+:1000D0008D00AA308D008C14831203132910831213
+:1000E00003132916291A8928A915031700308D0032
+:1000F00083168C130C1483120C080313AA00031725
+:1001000001308D0083168C130C1483120C0803131A
+:10011000AB002912831603178C18A328831203132C
+:10012000291CA62803178D0A0313280803178C001F
+:1001300083168C130C1555308D00AA308D008C144D
+:10014000831203132910831203132916291AD9289D
+:10015000031700308D0083168C130C1483120C08C7
+:100160000313AC00031701308D0083168C130C149D
+:1001700083120C080313AD002C082A02031DC528A6
+:100180002D082B02031DC528D92829142B08A800E7
+:10019000031700308D0003132A0803178C00831601
+:1001A0008C130C1555308D00AA308D008C148312E1
+:1001B0000313A9182915A91C2911291DF62849304E
+:1001C0009F00831680309F0083120630A100A10B90
+:1001D000E7281F151F19EA281E08AF0083161E08FE
+:1001E0008312AE00831686309F008312A91829154A
+:1001F000A91C2911A91229192917291D2913051824
+:1002000002292913291F0529A91629192917291D8A
+:1002100029130030B0000230B1003109A1002F05D0
+:10022000A0002F08A104A10931082F0203192129D8
+:10023000A105A200220920052104A206A21B26294D
+:10024000272930082E02031C262927292913291FB4
+:100250002A29A916A91A2915A91E29112919291609
+:10026000291D2912A91F35292911291AA917291E63
+:10027000A913291D4A290130B0000030B1002A0815
+:100280003007AA002010031820142B083107AB00F8
+:100290002018AB0AA9182915A91C291132102919EF
+:1002A000B214291DB2100A30B0000030B10031097B
+:1002B000A1002B05A0002B08A104A10931082B02E5
+:1002C00003196B29A105A200220920052104A20619
+:1002D000A21B7029712930082A02031C7029712978
+:1002E0007229B210B21C78291430B3000030B40067
+:1002F000B21C7B2932142919B214291DB2100A30FC
+:10030000B0000030B1003109A1002B05A0002B087E
+:10031000A104A10931082B0203199729A105A20004
+:10032000220920052104A206A21B9C299D29300830
+:100330002A02031C9C299D29B210B21CA329323029
+:10034000B3000030B400B21CA62932142919B2142B
+:10035000291DB210B21CD0293308A000A1017D30A4
+:10036000A200A30105308A00812501308A002308FC
+:10037000A1002208A0006430A200A30105308A0079
+:10038000982501308A0020089B003219D0293215A7
+:1003900083167C30920083120C309D000530920051
+:1003A000B21CD329321432182915321C2911A9186C
+:1003B0002915A91C2911291DF2290030360203191B
+:1003C000E829A00020093605A006A01BED29F12987
+:1003D00063303502031CED29F129B50FF029B60A67
+:1003E0002911F6290030B5000030B6002919291668
+:1003F000291D2912B21DFD292911291AB215291EFC
+:10040000B211291D092A321A092A0030B70000301A
+:10041000B80029193216291D32123708B9003808D8
+:10042000BA000030380203191C2AA0002009380540
+:10043000A006A01B212A222A10303702031C212AE1
+:10044000222A262AFF30B900FF30BA002912291EBD
+:100450002B2A2C089900291283169818312A831206
+:1004600029168312291E382AFF30B900FF30BA003E
+:100470000030AC000030AD002C083902031D482AC2
+:100480002D083A02031D482A7330B0000030B10035
+:100490000130AC000030AD002C083902031D582A91
+:1004A0002D083A02031D582A6130B0000030B10017
+:1004B0000230AC000030AD002C083902031D682A60
+:1004C0002D083A02031D682A7630B0000030B100D2
+:1004D0000330AC000030AD002C083902031D782A2F
+:1004E0002D083A02031D782A6530B0000030B100B3
+:1004F0000430AC000030AD002C083902031D882AFE
+:100500002D083A02031D882A6430B0000030B10083
+:100510000530AC000030AD002C083902031D982ACC
+:100520002D083A02031D982A2030B0000030B10097
+:100530000630AC000030AD002C083902031DA82A9B
+:100540002D083A02031DA82A3D30B0000030B1004A
+:100550000730AC000030AD002C083902031DB82A6A
+:100560002D083A02031DB82A2030B0000030B10037
+:100570000830AC000030AD0029122C083902031DF0
+:10058000C62A2D083A02031DC62A2916291EF32A57
+:100590002A08BB002B08BC002030B0000030B1009E
+:1005A00000302B020319DB2AA00020092B05A0062E
+:1005B000A01BE02AF32A00302A02031CE02AF32AB7
+:1005C0002D30B0000030B1000030AC000030AD0084
+:1005D0002A082C02BB002010031820142B082D021F
+:1005E000BC00201CBC030930AC000030AD00291257
+:1005F0002C083902031D012B2D083A02031D012B83
+:100600002916291E542BB2161030AC002730AD002D
+:100610003B08A0003C08A1002C08A2002D08A30064
+:1006200005308A00982503308A002008B000210890
+:10063000B1002C08A0002D08A1003008A20031084C
+:10064000A30005308A00812503308A002208AC000F
+:100650002308AD002C083B02BB0020100318201417
+:100660002D083C02BC00201CBC033030AC00003024
+:10067000AD0030082C07B0002010031820143108FA
+:100680002D07B1002018B10A2C083002031D532B8E
+:100690002D083102031D532BB21E522B2030B00007
+:1006A0000030B100542BB2120A30AC000030AD0063
+:1006B00029122C083902031D622B2D083A02031D52
+:1006C000622B2916291EB42BE830AC000330AD0094
+:1006D0003B08A0003C08A1002C08A2002D08A300A4
+:1006E00005308A00982503308A002008B0002108D0
+:1006F000B1002C08A0002D08A1003008A20031088C
+:10070000A30005308A00812503308A002208AC004E
+:100710002308AD002C083B02BB0020100318201456
+:100720002D083C02BC00201CBC033030AC00003063
+:10073000AD0030082C07B000201003182014310839
+:100740002D07B1002018B10A2C083002031DB32B6D
+:100750002D083102031DB32BB21EB22B2030B00086
+:100760000030B100B42BB2120B30AC000030AD0041
+:1007700029122C083902031DC22B2D083A02031D31
+:10078000C22B2916291E142C6430AC000030AD0099
+:100790003B08A0003C08A1002C08A2002D08A300E3
+:1007A00005308A00982503308A002008B00021080F
+:1007B000B1002C08A0002D08A1003008A2003108CB
+:1007C000A30005308A00812503308A002208AC008E
+:1007D0002308AD002C083B02BB0020100318201496
+:1007E0002D083C02BC00201CBC033030AC000030A3
+:1007F000AD0030082C07B000201003182014310879
+:100800002D07B1002018B10A2C083002031D132C4B
+:100810002D083102031D132CB21E122C2030B00003
+:100820000030B100142CB2120C30AC000030AD001E
+:1008300029122C083902031D222C2D083A02031D0F
+:10084000222C2916291E742C0A30AC000030AD0071
+:100850003B08A0003C08A1002C08A2002D08A30022
+:1008600005308A00982504308A002008B00021084D
+:10087000B1002C08A0002D08A1003008A20031080A
+:10088000A30005308A00812504308A002208AC00CC
+:100890002308AD002C083B02BB00201003182014D5
+:1008A0002D083C02BC00201CBC033030AC000030E2
+:1008B000AD0030082C07B0002010031820143108B8
+:1008C0002D07B1002018B10A2C083002031D732C2B
+:1008D0002D083102031D732CB21E722C2030B00083
+:1008E0000030B100742CB2120D30AC000030AD00FD
+:1008F00029122C083902031D822C2D083A02031DEF
+:10090000822C2916291EC42C0130AC000030AD0009
+:100910003B08A0003C08A1002C08A2002D08A30061
+:1009200005308A00982504308A002008B00021088C
+:10093000B1002C08A0002D08A1003008A200310849
+:10094000A30005308A00812504308A002208AC000B
+:100950002308AD002C083B02BB0020100318201414
+:100960002D083C02BC00201CBC033030AC00003021
+:10097000AD0030082C07B0002010031820143108F7
+:100980002D07B1002018B10A0E30AC000030AD00C8
+:100990002C083902031DD42C2D083A02031DD42C37
+:1009A0000D30B0000030B1000F30AC000030AD00B1
+:1009B0002C083902031DE42C2D083A02031DE42CF7
+:1009C0000A30B0000030B10000303A020319EF2CB9
+:1009D000A00020093A05A006A01BF42CF52C00303D
+:1009E0003902031CF42CF52C042D2916291EFA2C8F
+:1009F00030089900291283169818002D83122916A1
+:100A00008312B70F042DB80A2911003038020319D8
+:100A1000102DA00020093805A006A01B152D162DAD
+:100A200010303702031C152D162D2915A91829156C
+:100A3000A91C2911291D202D7830BD000030BE00D1
+:100A4000A9182915A91C2911291D3B2D0030400288
+:100A50000319312DA00020094005A006A01B362D4A
+:100A60003A2DC7303F02031C362D3A2DBF0F392DCA
+:100A7000C00A29113F2D0030BF000030C0002919E5
+:100A80002916291D2912321F462D2911291A32171C
+:100A9000291E3213291D4E2D3D0899002911831658
+:100AA0009818542D831229158312A9182915A91CE9
+:100AB0002911291D6B2D29118C1E6B2D1A08C100BF
+:100AC000C20129159818672D1819672D6B2D1A0862
+:100AD0001A08181218166130B0000030B100410831
+:100AE0003002031D782D42083102031D782D792D27
+:100AF0002911291D7F2D0030AA000030AB008A018A
+:100B00004828A501A4010310A30CA20C1030A600D4
+:100B1000031C902D2008A4070318A50A2108A50787
+:100B20000310A50CA40CA30CA20CA60B882D080086
+:100B300021082306A700A31FA22DA209A309A20A28
+:100B40000319A30AA11FA92DA009A109A00A03192D
+:100B5000A10AA501A40103101130A600A00DA10D4A
+:100B6000A6030319C72DA40DA50D2208A402031C7A
+:100B7000A5032308A502A51FC52D2208A407031855
+:100B8000A50A2308A5070310AE2D0314AE2DA71F39
+:0E0B90000800A009A109A00A0319A10A080083
+:02400E00723FFF
+:00000001FF
diff --git a/ldmicro/reg/expected/timers-counters.hex b/ldmicro/reg/expected/timers-counters.hex
new file mode 100644
index 0000000..7a46571
--- /dev/null
+++ b/ldmicro/reg/expected/timers-counters.hex
@@ -0,0 +1,119 @@
+:1000000022C0189518951895189518951895189553
+:100010001895189518951895189518951895189578
+:100020001895189518951895189518951895189568
+:100030001895189518951895189518951895189558
+:10004000189518951895B0E0AEE500E10C93B0E076
+:10005000ADE50FEF0C93B1E1A0E000E020E030E16E
+:10006000A150B0400C93215030402223C9F73323D4
+:10007000B9F7B0E0AAE300E20C93B0E0ABE300E034
+:100080000C93B0E0A7E300E00C93B0E0A8E300E03D
+:100090000C93B0E0A4E300E00C93B0E0A5E300E033
+:1000A0000C93B0E0A1E304E00C93B0E0A2E300E025
+:1000B0000C93B0E0A2E200E00C93B0E0A3E207E012
+:1000C0000C93B0E0A1E600E20C93B0E0A2E600E001
+:1000D0000C93B0E0A4E600E00C93B0E0A5E600E0ED
+:1000E0000C93B0E0AFE400E00C93B0E0AEE409E0C4
+:1000F0000C93B0E0ABE40CE90C93B0E0AAE40EE39F
+:100100000C93B0E0A7E500E10C93B0E0A6E50C91FC
+:1001100004FFFBCFB0E0A6E50C9100610C93A8951D
+:10012000B1E0A1E00C9102600C93B1E0A1E00C9170
+:10013000B1E0A1E01C9101FF1B7F01FD14601C9345
+:10014000B1E0A1E00C9103FD05C0B1E0A1E00C918C
+:100150000B7F0C93B1E0A1E00C9104FD08C0B1E06D
+:10016000A2E009E00C93B1E0A3E000E00C93B1E061
+:10017000A1E00C9100610C93B1E0A1E00C9102FDB3
+:100180001EC0B1E0A2E00C91B1E0A3E01C9129E017
+:1001900030E00217130794F4B1E0A2E00C91B1E053
+:1001A000A3E01C91039509F413951C93B1E0A2E020
+:1001B0000C93B1E0A1E00C9104600C9308C0B1E095
+:1001C000A2E000E00C93B1E0A3E000E00C93B1E00A
+:1001D000A1E00C9102FF1EC0B1E0A4E00C91B1E0DF
+:1001E000A5E01C9129E030E00217130794F4B1E078
+:1001F000A4E00C91B1E0A5E01C91039509F41395DE
+:100200001C93B1E0A4E00C93B1E0A1E00C910B7F52
+:100210000C9308C0B1E0A4E000E00C93B1E0A5E0CD
+:1002200000E00C93B1E0A1E00C9102FF06C0B1E048
+:10023000A1E00C91077F0C9305C0B1E0A1E00C9107
+:1002400008600C93B1E0A1E00C91B1E0A1E01C9139
+:1002500001FF1B7F01FD14601C93B1E0A1E00C9134
+:1002600003FD05C0B1E0A1E00C910B7F0C93B0E061
+:10027000A1E20C9102FD05C0B1E0A1E00C910B7F61
+:100280000C93B1E0A1E00C9102FF12C0B1E0A1E03B
+:100290000C9105FD0DC0B1E0A6E00C91B1E0A7E026
+:1002A0001C91039509F413951C93B1E0A6E00C93FF
+:1002B000B1E0A1E00C91B1E0A1E01C9102FF1F7D33
+:1002C00002FD10621C93B1E0A6E00C91B1E0A7E042
+:1002D0001C9124E130E00217130734F4B1E0A1E0EF
+:1002E0000C910B7F0C9305C0B1E0A1E00C91046070
+:1002F0000C93B1E0A8E00C91B1E0A9E01C9127EECD
+:1003000033E002171307C4F4B1E0A1E00C9102FF3F
+:100310000DC0B1E0A8E00C91B1E0A9E01C910395FB
+:1003200009F413951C93B1E0A8E00C93B1E0A1E0AF
+:100330000C910B7F0C9305C0B1E0A1E00C9104601F
+:100340000C93B1E0A1E00C91B0E0A2E61C9102FF99
+:100350001F7D02FD10621C93B1E0A1E00C91B1E0A1
+:10036000A1E01C9101FF1B7F01FD14601C93B1E013
+:10037000A1E00C9103FD05C0B1E0A1E00C910B7F61
+:100380000C93B0E0A1E20C9100FD05C0B1E0A1E04A
+:100390000C910B7F0C93B1E0A1E00C9102FF21C006
+:1003A000B1E0A1E00C9106FD1CC0B1E0AAE001E0C3
+:1003B0000C93B1E0ABE000E00C93B1E0A6E02C912F
+:1003C000B1E0A7E03C91B1E0AAE00C91B1E0ABE074
+:1003D0001C91201B310BB1E0A6E02C93B1E0A7E00B
+:1003E0003C93B1E0A1E00C91B1E0A1E01C9102FFCF
+:1003F0001F7B02FD10641C93B1E0A6E00C91B1E0FC
+:10040000A7E01C912AE030E00217130734F4B1E0B2
+:10041000A1E00C910B7F0C9305C0B1E0A1E00C9121
+:1004200004600C93B1E0A1E00C91B0E0A2E31C9158
+:1004300002FF1B7F02FD14601C93B1E0A1E00C9150
+:10044000B1E0A1E01C9101FF1B7F01FD14601C9332
+:10045000B0E0A1E20C9101FD05C0B1E0A1E00C917A
+:100460000B7F0C93B1E0A1E00C910F770C93B1E0FE
+:10047000A1E00C91B1E0ACE01C9102FF1E7F02FDF7
+:1004800011601C93B1E0ACE00C91B1E0ACE01C91C8
+:1004900000FF1D7F00FD12601C93B1E0ACE00C91E9
+:1004A00002FF05C0B1E0ACE00C910E7F0C93B1E00F
+:1004B000ACE00C91B1E0ACE01C9101FF1B7F01FDB1
+:1004C00014601C93B1E0ACE00C9100FF05C0B1E0FA
+:1004D000A1E00C9100680C93B1E0A1E00C91B1E0B7
+:1004E000ACE01C9102FF1E7F02FD11601C93B1E085
+:1004F000ACE00C91B1E0ACE01C9100FF1D7F00FD71
+:1005000012601C93B1E0ACE00C9100FD0BC0B1E0B7
+:10051000ACE00C9103FF05C0B1E0ACE00C910160D0
+:100520000C9305C0B1E0ACE00C910E7F0C93B1E0F0
+:10053000ACE00C91B1E0ACE01C9101FF177F01FD34
+:1005400018601C93B1E0ACE00C9100FF05C0B1E075
+:10055000A1E00C9100680C93B1E0A1E00C91B1E036
+:10056000A1E01C9107FF1B7F07FD14601C93B1E005
+:10057000A1E00C9102FF08C0B1E0A8E000E00C93FC
+:10058000B1E0A9E000E00C93B1E0A1E00C91B1E092
+:10059000A1E01C9101FF1B7F01FD14601C93B1E0E1
+:1005A000A1E00C9103FD05C0B1E0A1E00C910B7F2F
+:1005B0000C93B1E0A1E00C9102FF26C0B1E0ACE0E9
+:1005C0000C9104FD21C0B1E0ADE00C91B1E0AEE0D2
+:1005D0001C91039509F413951C93B1E0ADE00C93C5
+:1005E000B1E0ADE00C91B1E0AEE01C9128E030E06C
+:1005F000021713070CF408C0B1E0ADE000E00C9363
+:10060000B1E0AEE000E00C93B1E0A1E00C91B1E00C
+:10061000ACE01C9102FF1F7E02FD10611C93B1E053
+:10062000A1E00C91B1E0A1E01C9101FF1B7F01FD55
+:1006300014601C93B1E0AFE003E00C93B1E0A0E1E3
+:1006400000E00C93B1E0ADE00C91B1E0AEE01C91A4
+:10065000B1E0AFE02C91B1E0A0E13C9102171307AB
+:1006600009F405C0B1E0A1E00C910B7F0C93B1E05F
+:10067000A1E00C91B1E0ACE01C9102FF1D7F02FDF6
+:1006800012601C93B1E0A1E00C9102FD0BC0B1E03F
+:10069000ACE00C9105FF05C0B1E0A1E00C91046055
+:1006A0000C9305C0B1E0A1E00C910B7F0C93B1E07D
+:1006B000ACE00C91B1E0ACE01C9101FF1F7D01FDAD
+:1006C00010621C93B1E0ACE00C9106FD08C0B1E0F3
+:1006D000A1E103E10C93B1E0A2E100E00C93B1E0F1
+:1006E000ACE00C9100640C93B1E0A1E00C9102FD30
+:1006F0001EC0B1E0A1E10C91B1E0A2E11C9123E1A7
+:1007000030E00217130794F4B1E0A1E10C91B1E0DD
+:10071000A2E11C91039509F413951C93B1E0A1E1AA
+:100720000C93B1E0A1E00C9104600C9308C0B1E01F
+:10073000A1E100E00C93B1E0A2E100E00C93B1E094
+:10074000A1E00C91B0E0ABE31C9102FF1F7D02FD24
+:0A07500010621C93E5E8F0E0099444
+:00000001FF
diff --git a/ldmicro/reg/go.bat b/ldmicro/reg/go.bat
new file mode 100644
index 0000000..5338cea
--- /dev/null
+++ b/ldmicro/reg/go.bat
@@ -0,0 +1 @@
+@perl run-tests.pl
diff --git a/ldmicro/reg/run-tests.pl b/ldmicro/reg/run-tests.pl
new file mode 100644
index 0000000..91e81b8
--- /dev/null
+++ b/ldmicro/reg/run-tests.pl
@@ -0,0 +1,33 @@
+#!/usr/bin/perl
+
+if (not -d 'results/') {
+ mkdir 'results';
+}
+
+$c = 0;
+for $test (<tests/*.ld>) {
+ $output = $test;
+ $output =~ s/^tests/results/;
+ $output =~ s/\.ld$/.hex/;
+
+ unlink $output;
+
+ $cmd = "../ldmicro.exe /c $test $output";
+ system $cmd;
+ $c++;
+}
+
+print "\ndifferences follow:\n";
+@diff = `diff -q results expected`;
+for(@diff) {
+ print " $_";
+}
+$fc = scalar @diff;
+print "($fc difference(s)/$c)\n";
+if($fc == 0) {
+ print "pass!\n";
+ exit(0);
+} else {
+ print "FAIL\n";
+ exit(-1);
+}
diff --git a/ldmicro/reg/tests/avr-hw.ld b/ldmicro/reg/tests/avr-hw.ld
new file mode 100644
index 0000000..7053aa4
--- /dev/null
+++ b/ldmicro/reg/tests/avr-hw.ld
@@ -0,0 +1,61 @@
+LDmicro0.1
+MICRO=Atmel AVR ATmega128 64-TQFP
+CYCLE=10000
+CRYSTAL=4000000
+BAUD=2400
+COMPILED=C:\depot\ldmicro\reg\expected\avr-hw.hex
+
+IO LIST
+ Xinc at 2
+ Aanalog at 61
+END
+
+PROGRAM
+RUNG
+ COMMENT The more hardware-oriented ops (PWM, ADC, UART, EEPROM), test for the\r\nAVRs.
+END
+RUNG
+ PERSIST saved
+END
+RUNG
+ READ_ADC Aanalog
+END
+RUNG
+ PARALLEL
+ CONTACTS Xinc 0
+ GEQ Aanalog 512
+ END
+ OSR
+ ADD saved saved 1
+END
+RUNG
+ PARALLEL
+ SERIES
+ LES saved 10
+ MOVE duty 20
+ END
+ SERIES
+ GEQ saved 10
+ MOVE duty 50
+ END
+ SET_PWM duty 2000
+ END
+END
+RUNG
+ TON Tfmtd 1000000
+ OSR
+ FORMATTED_STRING saved 15 115 97 118 101 100 32 61 32 92 45 53 92 114 92 110
+END
+RUNG
+ MOVE char 'x'
+END
+RUNG
+ TON Tutx 2000000
+ OSR
+ UART_SEND char
+END
+RUNG
+ UART_RECV inchar
+ EQU inchar 'a'
+ MOVE saved 0
+END
diff --git a/ldmicro/reg/tests/contacts.ld b/ldmicro/reg/tests/contacts.ld
new file mode 100644
index 0000000..07dd6a1
--- /dev/null
+++ b/ldmicro/reg/tests/contacts.ld
@@ -0,0 +1,41 @@
+LDmicro0.1
+MICRO=Microchip PIC16F876 28-PDIP or 28-SOIC
+CYCLE=10000
+CRYSTAL=4000000
+BAUD=2400
+COMPILED=C:\depot\ldmicro\reg\expected\contacts.hex
+
+IO LIST
+ Xa at 2
+ Xb at 3
+ Xc at 4
+ Xd at 5
+ Xe at 6
+ Yf at 11
+ Yg at 7
+ Yh at 12
+END
+
+PROGRAM
+RUNG
+ COMMENT All types of contacts (NO, NC), and all types of coils (normal, inverted, set,\r\nreset); also test series and parallel combinations.
+END
+RUNG
+ CONTACTS Xa 0
+ COIL Yf 0 0 0
+END
+RUNG
+ PARALLEL
+ CONTACTS Xb 0
+ CONTACTS Xc 0
+ END
+ COIL Yg 0 1 0
+END
+RUNG
+ CONTACTS Xd 0
+ CONTACTS Xe 1
+ PARALLEL
+ COIL Yg 0 0 1
+ COIL Yh 1 0 0
+ END
+END
diff --git a/ldmicro/reg/tests/integers.ld b/ldmicro/reg/tests/integers.ld
new file mode 100644
index 0000000..d38a597
--- /dev/null
+++ b/ldmicro/reg/tests/integers.ld
@@ -0,0 +1,61 @@
+LDmicro0.1
+MICRO=Atmel AVR ATmega162 40-PDIP
+CYCLE=50000
+CRYSTAL=10000000
+BAUD=2400
+COMPILED=C:\depot\ldmicro\reg\expected\integers.hex
+
+IO LIST
+ Xa at 1
+ Yno at 16
+ Yok at 37
+END
+
+PROGRAM
+RUNG
+ COMMENT Test integer variable manipulations: move, arithmetic, comparison. Also test\r\na 50 ms cycle time, and the ATmega162 (odd timer register locations).
+END
+RUNG
+ PARALLEL
+ SERIES
+ CONTACTS Xa 0
+ MOVE a 1323
+ END
+ SERIES
+ CONTACTS Xa 1
+ MOVE a -12
+ END
+ END
+END
+RUNG
+ PARALLEL
+ ADD c a 1000
+ SUB d a 5
+ MUL e a 3
+ DIV f e 3
+ END
+END
+RUNG
+ PARALLEL
+ EQU a 1323
+ SHORT
+ END
+ PARALLEL
+ LES c 0
+ LEQ d 1318
+ SHORT
+ END
+ SHORT
+ PARALLEL
+ GRT c 20000
+ GEQ e 3969
+ OPEN
+ END
+ COIL Yok 0 0 0
+END
+RUNG
+ NEQ e -36
+ GRT a 0
+ TON Ton 1000000
+ COIL Yno 0 0 0
+END
diff --git a/ldmicro/reg/tests/misc-ops.ld b/ldmicro/reg/tests/misc-ops.ld
new file mode 100644
index 0000000..9fff1c4
--- /dev/null
+++ b/ldmicro/reg/tests/misc-ops.ld
@@ -0,0 +1,53 @@
+LDmicro0.1
+MICRO=Microchip PIC16F876 28-PDIP or 28-SOIC
+CYCLE=10000
+CRYSTAL=4000000
+BAUD=2400
+COMPILED=C:\depot\ldmicro\reg\expected\misc-ops.hex
+
+IO LIST
+ Xon at 2
+ Yalways at 3
+ Ain at 4
+END
+
+PROGRAM
+RUNG
+ COMMENT Little things: shift register, look-up table, master control relay.\r\n
+END
+RUNG
+ CONTACTS Xon 0
+ MASTER_RELAY
+END
+RUNG
+ CONTACTS Rosc 0
+ TON Ton 500000
+ TOF Tof 500000
+ COIL Rosc 1 0 0
+END
+RUNG
+ CONTACTS Rosc 0
+ SHIFT_REGISTER reg 7
+END
+RUNG
+ PARALLEL
+ READ_ADC Ain
+ MOVE reg0 Ain
+ END
+END
+RUNG
+ PARALLEL
+ SERIES
+ CONTACTS Rosc 0
+ CTC Ci 4
+ END
+ LOOK_UP_TABLE duty Ci 5 0 10 70 80 70 10
+ SET_PWM duty 10000
+ END
+END
+RUNG
+ MASTER_RELAY
+END
+RUNG
+ COIL Yalways 0 0 0
+END
diff --git a/ldmicro/reg/tests/pic16-hw.ld b/ldmicro/reg/tests/pic16-hw.ld
new file mode 100644
index 0000000..9c9ec46
--- /dev/null
+++ b/ldmicro/reg/tests/pic16-hw.ld
@@ -0,0 +1,61 @@
+LDmicro0.1
+MICRO=Microchip PIC16F877 40-PDIP
+CYCLE=10000
+CRYSTAL=4000000
+BAUD=2400
+COMPILED=C:\depot\ldmicro\reg\expected\pic-hw.hex
+
+IO LIST
+ Xinc at 2
+ Aanalog at 3
+END
+
+PROGRAM
+RUNG
+ COMMENT The more hardware-oriented ops (PWM, ADC, UART, EEPROM), test for the\r\nPIC16s.
+END
+RUNG
+ PERSIST saved
+END
+RUNG
+ READ_ADC Aanalog
+END
+RUNG
+ PARALLEL
+ CONTACTS Xinc 0
+ GEQ Aanalog 512
+ END
+ OSR
+ ADD saved saved 1
+END
+RUNG
+ PARALLEL
+ SERIES
+ LES saved 10
+ MOVE duty 20
+ END
+ SERIES
+ GEQ saved 10
+ MOVE duty 50
+ END
+ SET_PWM duty 2000
+ END
+END
+RUNG
+ TON Tfmtd 1000000
+ OSR
+ FORMATTED_STRING saved 15 115 97 118 101 100 32 61 32 92 45 53 92 114 92 110
+END
+RUNG
+ MOVE char 'x'
+END
+RUNG
+ TON Tutx 2000000
+ OSR
+ UART_SEND char
+END
+RUNG
+ UART_RECV inchar
+ EQU inchar 'a'
+ MOVE saved 0
+END
diff --git a/ldmicro/reg/tests/timers-counters.ld b/ldmicro/reg/tests/timers-counters.ld
new file mode 100644
index 0000000..867c6ff
--- /dev/null
+++ b/ldmicro/reg/tests/timers-counters.ld
@@ -0,0 +1,57 @@
+LDmicro0.1
+MICRO=Atmel AVR ATmega128 64-TQFP
+CYCLE=10000
+CRYSTAL=4000000
+BAUD=2400
+COMPILED=C:\depot\ldmicro\reg\expected\timers-counters.ld
+
+IO LIST
+ Xdown at 2
+ Xres at 3
+ Xup at 4
+ Ydown at 27
+ Ypulse at 46
+ Yup at 56
+END
+
+PROGRAM
+RUNG
+ COMMENT Test all the timers (TON, TOF, RTO) and counters (CTC, CTU, CTD), and the\r\nreset (RES) instruction. Also test one-shots.
+END
+RUNG
+ CONTACTS Rosc 0
+ TOF Tof 100000
+ TON Ton 100000
+ COIL Rosc 1 0 0
+END
+RUNG
+ CONTACTS Rosc 0
+ CONTACTS Xup 0
+ CTU Ccnt 20
+ RTO Trto 10000000
+ COIL Yup 0 0 0
+END
+RUNG
+ CONTACTS Rosc 0
+ CONTACTS Xdown 0
+ CTD Ccnt 10
+ COIL Ydown 0 0 0
+END
+RUNG
+ CONTACTS Xres 0
+ PARALLEL
+ OSR
+ OSF
+ END
+ RES Trto
+END
+RUNG
+ CONTACTS Rosc 0
+ CTC Ccirc 7
+END
+RUNG
+ EQU Ccirc 3
+ OSF
+ TOF Tpulse 200000
+ COIL Ypulse 0 0 0
+END