Hallo!
Ich habe mir gerade einen Wolf gesucht:
Vorgabe: ein älteres Design (>15 a) mit einem 80C166, bei welchem der
Quelltext angefasst werden musste (leider).
Dank DOSBox läuft der Assembler A166 noch.
Die Codeanpassung war schnell gemacht, aber die Warnung W114 hat mich
genervt. Eine Dokumentation gab es zu der Zeit wohl nur auf Papier.
Nach - gefühlt - ewiger Suche im Netz, fand ich ein passendes User
Manual:
https://www.tasking.com/support/c166-classic/a166_v8.7.pdf
Nach Einfügen der Zeile "REGDEF R0-R15", verschwindet die Warnung.
Hier ein Minimalbeispiel:
1 | NAME TEST
|
2 | TEST SECTION CODE AT 0000H
|
3 | REGDEF R0-R15
|
4 |
|
5 | _begin PROC NEAR
|
6 | JMPA cc_UC,_main
|
7 | RETV
|
8 | _begin ENDP
|
9 |
|
10 | _main PROC NEAR
|
11 | MOV R0,#1
|
12 | MOV R1,#2
|
13 | ADD R0,R1
|
14 |
|
15 | endloop:
|
16 | JMPR cc_UC,endloop
|
17 |
|
18 | RETV
|
19 | _main ENDP
|
20 |
|
21 | TEST ENDS
|
22 | END
|
Sehr witzig ist auch die Anweisung 'RETV' -> virtual Return.
Die sucht man im Datenblatt/Instruction Set Manual vergeblich.
Aber ohne die Anweisung wirft der Assembler auch wieder Warnungen :-(
Jetzt suche ich noch die Ursache, warum der PEC den S0TIC-Interrupt
auslöst, obwohl das letzte Zeichen aus dem ASC0 noch gar nicht raus
ist...