|
Presentazione
Il simulatore JPD132 è un'applicazione che permette di
scrivere e testare programmi scritti in linguaggio assembly
JPD132. Questo linguaggio non è altro che un'estensione
dell'assembly PD32 (dettagliatamente illustrato nel libro: G.Cioffi,
A.Jorno, T.Villani, Il processore PD32: architettura assembler
e simulatore, Casa Editrice Ambrosiana, Milano, 1999) e quindi
è totalmente compatibile con esso.
Caratteristiche linguaggio
Le caratteristiche dell'assembly JPD132 sono (in verde
le novità rispetto al PD32):
- metodi di indirizzamento: immediato, assoluto
diretto, assoluto indiretto,
diretto di registro, indiretto con registro, auto-incrementante,
auto-decrementante, auto-incrementante
indiretto, auto-decrementante indiretto,
con registro indice, indiretto con registro
indice (pre-indexed e post-indexed), auto-relativo.
- direttive:
| ORG |
|
| CODE |
|
| DRIVER |
|
| END |
|
| DB, DW, DL |
|
| EQU |
|
| .DSB, .DSW, .DSL |
|
| .DCB, .DCW, .DCL |
|
| |
|
- istruzioni:
| HALT |
|
| NOP |
|
| RESET |
|
| MOVB, MOVW, MOVL |
|
| MOVFRSR |
|
| MOVTOSR |
|
| PUSH |
|
| POP |
|
| PUSHSR |
|
| POPSR |
|
| MVLB, MVLW, MVLL |
|
| EXGB, EXGW, EXGL |
|
| ADDB, ADDW, ADDL |
|
| ADCB, ADCW, ADCL |
|
| CMPB, CMPW, CMPL |
|
| NEGB, NEGW, NEGL |
|
| SUBB, SUBW, SUBL |
|
| SBBB, SBBW, SBBL |
|
| SMULB, SMULW, SMULL |
|
| UMULB, UMULW, UMULL |
|
| SDIVB, SDIVW, SDIVL |
|
| UDIVB, UDIVW, UDIVL |
|
| ANDB, ANDW, ANDL |
|
| ORB, ORW, ORL |
|
| XORB, XORW,XORL |
|
| NOTB, NOTW, NOTL |
|
| NANDB, NANDW, NANDL |
|
| NORB, NORW, NORL |
|
| ASLB, ASLW, ASLL |
|
| ASRB, ASRW, ASRL |
|
| LSLB, LSLW, LSLL |
|
| LSRB, LSRW, LSRL |
|
| RCLB, RCLW, RCLL |
|
| RCRB, RCRW, RCRL |
|
| ROLB, ROLW, ROLL |
|
| RORB, RORW, RORL |
|
| CLRc (c = C,N,Z,V,P,I) |
|
| SETc (c = C,N,Z,V,P,I) |
|
| JMP |
|
| JSR, JSR |
|
| RET |
|
| RTI |
|
| Jc (c = C,N,Z,V,P,I) |
|
| JNc (c = C,N,Z,V,P,I) |
|
| INB, INW, INL |
|
| OUTB, OUTW, OUTL |
|
| START |
|
| CLEAR |
|
| JR |
|
| JNR |
|
| SETIM |
|
| CLRIM |
|
| JIM |
|
| JNIM |
|
ATTENZIONE:
- a causa dei nuovi metodi di indirizzamento ammessi gli
indirizzi per le periferiche sono limitati al range 0-63.
Consequentemente è possibile iniziare a memorizzare
il programma a partire dall'indirizzo 100H invece che
400H.
- le direttive .DCB, .DCW e .DCL possono ricevere come
argomenti anche delle espressioni aritmetiche (con gli
operatori +,-,*,/ e le parentesi tonde) al cui interno
possono essere utilizzate le label delle variabili e/o
delle costanti (in entrambi i casi si specifica direttamente
l'identificatore della label, senza il carattere '#').
Se si utilizzano delle variabili bisogna fare attenzione
al fatto che le aree di memoria vengono memorizzate in
memoria PRIMA dell'esecuzione del programma, quindi per
il calcolo delle espressioni vengono utilizzati i valori
iniziali delle variabili.
- le istruzioni SDIVB, SDIVW, SDIVL,
UDIVB, UDIVW, UDIVL operano la divisione intera,
quindi ad esempio:
10/5 = 11/5 = 2
Caratteristiche ambiente editor-simulazione
L'opzione "Verifica aggiornamenti" nel menù
"Utilità" permette di aggiornare il programma
all'ultima versione disponibile.
L'editor integrato dell'applicazione ha le seguenti caratteristiche:
- indentazione automatica
- gestione di diversi file contemporaneamente
- possibilità di cambiare
font, dimensione e stile del carattere
- possibilità di specificare
una directory di default dove salvare i file
- possibilità di specificare
del codice sorgente da caricare in ogni nuova finestra
dell'editor
- comandi per rendere maiuscolo/minuscolo
il codice sorgente (ma non i commenti)
- convertitore decimale/esadecimale/binario/ottale/codice
ASCII
- commento/decommento automatico
del sorgente
il simulatore ha le seguenti caratteristiche:
|
|
|
|