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:02] – 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 mayusculas | + | //Ithlasm// ignora la capitalización de todos los símbolos, de hecho trabaja en mayúsculas |
- | 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 ningun nombre de etiqueta puede contener como subcadena el nombre completo de otra etiqueta, esto es causado por el parser del preprocesador, | + | |
- | Las etiquetas se definen usando | + | Siendo los parámetros, |
- | Los comentarios empiezan por el símbolo ";" | + | En esta primera versión, los valores inmediatos |
- | ===== Preprocesador ===== | + | Las etiquetas se definen usando el símbolo ":" |
+ | |||
+ | Los comentarios empiezan por el símbolo ";" | ||
+ | |||
+ | 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 " | + | |
- | * 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, | + | * **DB** valor1, valor2... : Inserta en el código los bytes de datos especificados a continuación, |
- | * DS " | + | |
+ | | ||
+ | * **STACK** valor: Define un espacio reservado para la pila del programa de " | ||
- | ==== Ejemplo ==== | + | ====== Ejemplo |
- | Un ejemplo de código para el ithlasm: | + | Un ejemplo de código para el //ithlasm//: |
< | < | ||
; prueba de texto | ; prueba de texto | ||
+ | DEF null 0 | ||
+ | | ||
ld r1, 1 | ld r1, 1 | ||
- | ld r2, texto ; r2 = inicio texto | + | ld r2, texto ; r2 = text start addr |
ld r9, 3 ; putch | ld r9, 3 ; putch | ||
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.1351540959.txt.gz · Last modified: 2012/10/29 21:02 by xzakox