herramientas_pcp
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
herramientas_pcp [2012/10/29 21:05] – xzakox | herramientas_pcp [2012/11/18 22:02] (current) – [Preprocesador] xzakox | ||
---|---|---|---|
Line 5: | Line 5: | ||
====== Sintaxis ====== | ====== Sintaxis ====== | ||
- | //Ithlasm// ignora la capitalización de todos los símbolos, de hecho trabaja en mayúsculas internamente, | + | //Ithlasm// ignora la capitalización de todos los símbolos, de hecho trabaja en mayúsculas internamente, |
- | En esta primera versión, los valores inmediatos se deben especificar en notación decimal, si bien en futuras versiones se planea soportar hexadecimal y binario. | + | La sintaxis básica de una instrucción es: |
- | Las etiquetas tienen una limitación importante, y es que ningún nombre | + | |
+ | |||
+ | Siendo los parámetros, | ||
+ | |||
+ | En esta primera versión, los valores inmediatos y los valores | ||
Las etiquetas se definen usando el símbolo ":" | Las etiquetas se definen usando el símbolo ":" | ||
Line 15: | Line 19: | ||
Los comentarios empiezan por el símbolo ";" | Los comentarios empiezan por el símbolo ";" | ||
- | ===== Preprocesador ===== | + | La síntaxis básica de una instrucción sería |
+ | |||
+ | | ||
+ | |||
+ | ====== Preprocesador | ||
El preprocesador acepta los comentatios y etiquetas como hemos visto, y las siguientes directivas: | El preprocesador acepta los comentatios y etiquetas como hemos visto, y las siguientes directivas: | ||
* **INCLUDE** " | * **INCLUDE** " | ||
+ | * **DEF** < | ||
* **DB** valor1, valor2... : Inserta en el código los bytes de datos especificados a continuación, | * **DB** valor1, valor2... : Inserta en el código los bytes de datos especificados a continuación, | ||
* **DW** valor1, valor2... : Inserta en el código las palabras de datos especificadas a continuación, | * **DW** valor1, valor2... : Inserta en el código las palabras de datos especificadas a continuación, | ||
* **DS** " | * **DS** " | ||
+ | * **STACK** valor: Define un espacio reservado para la pila del programa de " | ||
+ | |||
- | ==== Ejemplo ==== | + | ====== Ejemplo |
Un ejemplo de código para el // | Un ejemplo de código para el // | ||
Line 30: | Line 41: | ||
< | < | ||
; prueba de texto | ; prueba de texto | ||
+ | DEF null 0 | ||
+ | | ||
ld r1, 1 | ld r1, 1 | ||
ld r2, texto ; r2 = text start addr | ld r2, texto ; r2 = text start addr | ||
Line 35: | Line 48: | ||
ld r3, imprime | ld r3, imprime | ||
ld r4, fin_impresion | ld r4, fin_impresion | ||
- | ld r5, | + | ld r5, |
imprime: | imprime: | ||
lb r10, r2 ; get char | lb r10, r2 ; get char |
herramientas_pcp.1351541121.txt.gz · Last modified: 2012/10/29 21:05 by xzakox