| 9570 | } |
| 9571 | |
| 9572 | static char *decodeEA (amodes mode, wordsizes size) |
| 9573 | { |
| 9574 | static char buffer[80]; |
| 9575 | |
| 9576 | buffer[0] = 0; |
| 9577 | switch (mode){ |
| 9578 | case Dreg: |
| 9579 | strcpy (buffer,"Dn"); |
| 9580 | break; |
| 9581 | case Areg: |
| 9582 | strcpy (buffer,"An"); |
| 9583 | break; |
| 9584 | case Aind: |
| 9585 | strcpy (buffer,"(An)"); |
| 9586 | break; |
| 9587 | case Aipi: |
| 9588 | strcpy (buffer,"(An)+"); |
| 9589 | break; |
| 9590 | case Apdi: |
| 9591 | strcpy (buffer,"-(An)"); |
| 9592 | break; |
| 9593 | case Ad16: |
| 9594 | strcpy (buffer,"(d16,An)"); |
| 9595 | break; |
| 9596 | case Ad8r: |
| 9597 | strcpy (buffer,"(d8,An,Xn)"); |
| 9598 | break; |
| 9599 | case PC16: |
| 9600 | strcpy (buffer,"(d16,PC)"); |
| 9601 | break; |
| 9602 | case PC8r: |
| 9603 | strcpy (buffer,"(d8,PC,Xn)"); |
| 9604 | break; |
| 9605 | case absw: |
| 9606 | strcpy (buffer,"(xxx).W"); |
| 9607 | break; |
| 9608 | case absl: |
| 9609 | strcpy (buffer,"(xxx).L"); |
| 9610 | break; |
| 9611 | case imm: |
| 9612 | switch (size){ |
| 9613 | case sz_byte: |
| 9614 | strcpy (buffer,"#<data>.B"); |
| 9615 | break; |
| 9616 | case sz_word: |
| 9617 | strcpy (buffer,"#<data>.W"); |
| 9618 | break; |
| 9619 | case sz_long: |
| 9620 | strcpy (buffer,"#<data>.L"); |
| 9621 | break; |
| 9622 | default: |
| 9623 | break; |
| 9624 | } |
| 9625 | break; |
| 9626 | case imm0: |
| 9627 | strcpy (buffer,"#<data>.B"); |
| 9628 | break; |
| 9629 | case imm1: |