|
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:
|
|
|
|