Jugando a Core Wars [2° Parte/2]
Sigamos con el Core Wars... Resumiendo, lo que vimos hasta ahora fue:
;Comentarios ;name nombre del programa ;author autor MOV A,B ;Copia A en B ADD A,B ;Añade A a B JMP A ;Se salta la instruccion A DAT A,B ;Un espacio para datos
Formas de indicar una direccion:
-Inmediata, por de la posicion donde esta el valor, se indica con un '#' -Directa, por la posicion actual, se representa con '$' (o sin nada) -Indirecta, por el valor de la posicion indicada, se indica con un '*' si es el primer campo (A), o con '@' si es el segundo campo (B)
Pero hay mas formas de indicar una direccion de forma indirecta:
- La del campo A, restandole 1 antes, '{'
- La del campo B, restandole 1 antes, '<'
- La del campo A, sumandole 1 despues, '}'
- La del campo B, sumandole 1 despues, '>'
Por ejemplo, se podria modificar el programa "dwarf"
;name Dwarf ;author A. K. Dewdney dwarf ADD #4, bomb MOV bomb, @bomb JMP dwarf
bomb DAT #0