Re: EEC V file conversion
Posted: 2024 Aug 27, 05:20
Add scan commands for subroutines only. Use other commands for other binary values.BOOSTEDEVERYTHING wrote: ↑2024 Aug 26, 08:14 Ah, Ok. Just making sure I understand why. Thanks. I went through this one like you instructed me to go through the other and kept adding the scan commands for all of the areas that were not disassembled by SAD.
So, If I run into this again, If I find that an area that is not disassembled by SAD, ends up being one of the above, I should delete the added scan commands and just ignore the code that was not disassembled?
Yes scan commands should be removed if valid subroutines are not discovered.
Scan commands should not have been commanded in the first place for many of those I've said to delete.
If it is a subroutine it needs to be disassembled automatically or with SCA...or COD.
If it is NOT a subroutine then other commands need to be applied to correctly identify the binary values.
You can get false positives for subroutines if command are applied scatter gun style.
Code: Select all
SCA 82005
SCA 82015
SCA 82017
SCA 82019
SCA 8201B
SCA 8201D
SCA 8201F
Code: Select all
SCA 82021
SCA 82023
SCA 82025
SCA 82027
SCA 82029
SCA 8202B
SCA 8202D
SCA 8202F
SCA 82031
SCA 82033
SCA 82035
SCA 82037
SCA 82039
SCA 8203B
SCA 8203D
SCA 8203F
SCA 82041
SCA 82043
SCA 82045
SCA 82047
SCA 82049
SCA 8204B
SCA 8204D
SCA 8204F
SCA 82053
SCA 82055
SCA 82057
SCA 82059
SCA 8205B
SCA 8205D
SCA 8205F
Code: Select all
SCA 82061
SCA 82065
SCA 82067
Scan is not needed as SAD finds them automatically.
Code: Select all
SCA 82069
Code: Select all
SCA 8F6FB
Code: Select all
SCA 8F6FE
SCA 8F702
SCA 8F705
SAD has found the words at the start of the structure and the Sub that loops through the structure is adjacent.
As the user you need to look for f6fc being used as an address in a Sub then work out what the Sub does.
Use STR, SYM, and WOR commands to identify the binary values.
Code: Select all
8f6fc: 82,06 word 682
8f6fe: a8,0c,2f,0f ???
8f702: c8,16 word 16c8
8f704: 00,00,2f,0f,a8,0c,e7,97 ???
Sub_8f70c:
8f70c: a1,40,0f,36 ldw R36,f40 R36 = f40;
8f710: a1,fc,f6,34 ldw R34,f6fc R34 = f6fc;
Code: Select all
SCA 8F775
Code: Select all
SCA 8F778
SCA 8F77A
SCA 8F77B
Code: Select all
8f746: a1,76,f7,36 ldw R36,f776 R36 = f776;
Code: Select all
SCA 9FF12
Structure are blocks of binary values that may be bits, bytes, words, addresses, etc.Also, is there an easy way to determine what areas are structures and vectors? Still a bit confused by those.
They are not functions, tables or subroutines.
A vector list is a type of structure containing subroutine addresses, but a VEC command is more appropriate.
A vector list is a list of subroutine addresses.
Hopefully a little clearer now. I suspect address modes might still provide some confusion for you as well, but you need to read the manuals and look at uses of each until they make sense.
You should scan from the Sub start address 855F0, though SAD comes up with this without a SCAN command for that Sub.BOOSTEDEVERYTHING wrote: ↑2024 Aug 26, 08:37 Also. I found that SAD does not like a certain area of this code so I had to keep trying subsequent lines of code for it to start a scan, Is there a reason why or is it just a bug of some kind?
Code: Select all
SCA 855FF # SAD V4.07.16B HAS PROBLEM WITH 855FC
If you are trying to scan for a Sub from the Arg 855FC you will get interesting results.
Code: Select all
Sub_855f0:
855f0: f2 pushp push(PSW);
855f1: 01,42 clrw R42 R42 = 0;
855f3: 10,09 rombk 9
855f5: ef,9d,d5 call 92b95 Sub_92b95 (
855f8: 42,00 #arg 1 42,
855fa: 6a,10 #arg 2 106a,
855fc: ff #arg 3 ff,
855fd: ff #arg 4 ff,
855fe: 1e #arg 5 1e );
855ff: c3,01,d6,17,42 stw R42,[R0+17d6] [117d6] = R42;
85604: b0,9c,34 ldb R34,R9c R34 = R9c;
85607: 01,42 clrw R42 R42 = 0;
85609: 34,98,0a jnb B4,R98,85616 if (B4_R98 = 1) {
8560c: c3,01,d8,17,42 stw R42,[R0+17d8] [117d8] = R42;
85611: 71,f7,34 an2b R34,f7 B3_R34 = 0;
85614: 20,e6 sjmp 856fc goto 856fc; }