El séptimo paso de la programación de simulación
L #DB_ADR //Cargar dirección base de dirección
SLD 8 //Desplazamiento a la izquierda en 8 bits, ¿por qué desplazarse a la izquierda? Porque la dirección del módulo de simulación comienza desde 256 de forma predeterminada.
LAR1 //Carga la primera dirección del módulo de simulación en el registro de direcciones.
L #AI_COUNT //Cargar contador
Lp1: T #anzahl_loop //Usar contador como variable de bucle.
L DBW [AR1, P#2.0] se mueve de 2 a la vez, que es 256 esta vez y 258260 la próxima.
T #zs_pew
Aún no deberías haber emitido un comando de bucle.
La razón para mover 3 bits a la vez es formar un puntero de dirección de 32 bits. En STL, los punteros de dirección se dividen en 16 bits y 32 bits. Los 16 bits se utilizan para direccionar contadores, temporizadores, números de bloques de datos, etc., y el puntero de 32 bits se utiliza para direccionar direcciones específicas.
Por ejemplo, para DBWMD0, los datos en MD0 deben desplazarse 3 bits hacia la izquierda para formar un puntero de 32 bits para el direccionamiento.
En su programa, DBW [AR1, P#2.0] usa un registro de dirección y todas las direcciones en el registro son punteros. Esta oración es equivalente a DBWAR1=AR1 2.0.