Hola que tal ,resulta que lei esto en un manual pero no termino de entender si es asi ,porque que pasa
que no se puede poner un call a cualquier parte del programa? si puede alguien explicarme o con algun ejemplo
gracias
FIG 2.2.1 Direccionamiento directo con instrucción GOTO
Deberá tenerse en cuenta además que es posible avanzar de una página a otra en forma
automática cuando el PC se incrementa. Esto ocurre si el programa empieza en una
página y sigue en la siguiente. Sin embargo, al incrementarse el PC desde la última
posición de una página a la primera de la siguiente, los bits PA0 y PA1 no se
modifican, y por lo tanto sí se ejecuta una instrucción GOTO, CALL o alguna que actúe
sobre el PC, esta producirá un salto a la página anterior, a menos que el programador
tenga la precaución de actualizar el valor de dichos bits. Por este motivo es conveniente
dividir el programa en módulos o rutinas que estén confinados a una página.
En el caso de la instrucción CALL, el direccionamiento se complica un poco más, ya que la
misma solo dispone de 8 bits para especificar la dirección de destino salto. En este caso
también se utilizan los mismos bits de selección de página para completar los bits décimo
y decimoprimero de la dirección, pero falta el noveno bit. En estas instrucciones este bit se
carga siempre con 0, lo que implica que solo se pueden realizar saltos a subrutina a las
mitades inferiores de cada página. En este caso también el programador deberá
asegurarse que el estado de los bits PA0 y PA1 sea el correcto al momento de ejecutarse
la instrucción.
que no se puede poner un call a cualquier parte del programa? si puede alguien explicarme o con algun ejemplo
gracias
FIG 2.2.1 Direccionamiento directo con instrucción GOTO
Deberá tenerse en cuenta además que es posible avanzar de una página a otra en forma
automática cuando el PC se incrementa. Esto ocurre si el programa empieza en una
página y sigue en la siguiente. Sin embargo, al incrementarse el PC desde la última
posición de una página a la primera de la siguiente, los bits PA0 y PA1 no se
modifican, y por lo tanto sí se ejecuta una instrucción GOTO, CALL o alguna que actúe
sobre el PC, esta producirá un salto a la página anterior, a menos que el programador
tenga la precaución de actualizar el valor de dichos bits. Por este motivo es conveniente
dividir el programa en módulos o rutinas que estén confinados a una página.
En el caso de la instrucción CALL, el direccionamiento se complica un poco más, ya que la
misma solo dispone de 8 bits para especificar la dirección de destino salto. En este caso
también se utilizan los mismos bits de selección de página para completar los bits décimo
y decimoprimero de la dirección, pero falta el noveno bit. En estas instrucciones este bit se
carga siempre con 0, lo que implica que solo se pueden realizar saltos a subrutina a las
mitades inferiores de cada página. En este caso también el programador deberá
asegurarse que el estado de los bits PA0 y PA1 sea el correcto al momento de ejecutarse
la instrucción.
Última edición: