ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
bank_set.c
Go to the documentation of this file.
1/*****************************************************************************
2 * ugBASIC - an isomorphic BASIC language compiler for retrocomputers *
3 *****************************************************************************
4 * Copyright 2021-2026 Marco Spedaletti (asimov@mclink.it)
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *----------------------------------------------------------------------------
18 * Concesso in licenza secondo i termini della Licenza Apache, versione 2.0
19 * (la "Licenza"); è proibito usare questo file se non in conformità alla
20 * Licenza. Una copia della Licenza è disponibile all'indirizzo:
21 *
22 * http://www.apache.org/licenses/LICENSE-2.0
23 *
24 * Se non richiesto dalla legislazione vigente o concordato per iscritto,
25 * il software distribuito nei termini della Licenza è distribuito
26 * "COSÌ COM'È", SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO, esplicite o
27 * implicite. Consultare la Licenza per il testo specifico che regola le
28 * autorizzazioni e le limitazioni previste dalla medesima.
29 ****************************************************************************/
30
31/****************************************************************************
32 * INCLUDE SECTION
33 ****************************************************************************/
34
35#include "../../ugbc.h"
36
37#if defined(__atari__) || defined(__atarixl__) || defined(__c64__) || defined(__c128__) || defined(__plus4__) || defined(__vic20__) || defined(__c16__)
38
48/* <usermanual>
49@keyword BANK
50
51@english
52
53The ''BANK'' command allows you to change the currently selected bank. All
54operations that are performed on the banks, and that do not explicitly indicate
55the bank to operate on, work with the implicit bank, which is set by this command.
56The minimum bank number is zero (''0'') while the maximum is equal to ''BANK COUNT - 1''.
57
58@italian
59
60Il comando ''BANK'' permette di modificare il banco selezionato attualmente. Tutte
61le operazioni che si svolgono sui banchi, e che non indicano espressamente il banco
62su cui operare, lavorano con il banco implicito, che viene impostato da questo comando.
63Il numero minimo del banco è zero (''0'') mentre il massimo è pari a ''BANK COUNT - 1''.
64
65@syntax BANK id
66
67@example BANK #1
68
69@seeAlso BANK COUNT (constant)
70@target all
71</usermanual> */
72void bank_set( Environment * _environment, int _bank ) {
73
74 variable_store( _environment, "GEORAMBANKSHADOW", _bank );
75
76}
77
87void bank_set_var( Environment * _environment, char * _bank ) {
88
89 variable_move( _environment, _bank, "GEORAMBANKSHADOW" );
90
91}
92
93#endif
Variable * variable_move(Environment *_environment, char *_source, char *_destination)
Store the value of a variable inside another variable by converting it.
Variable * variable_store(Environment *_environment, char *_destination, unsigned int _value)
Store a direct value to a variable.
void bank_set(Environment *_environment, int _bank)
Emit ASM code for instruction BANK ....
Definition bank_set.c:72
void bank_set_var(Environment *_environment, char *_bank)
Emit ASM code for instruction BANK ....
Definition bank_set.c:87
struct _Environment Environment
Structure of compilation environment.