| English | Português (Brasil) |
Uma condição if deve ter o tipo boolean. Uma condicional pode conter uma instrução:
if Enabled then
Counter := $01;
O ramo opcional else segue as regras de posicionamento de ponto e vírgula do Pascal.
Não há ponto e vírgula entre a instrução final do ramo then e o else; um ponto
e vírgula encerra a estrutura condicional completa:
if Enabled then
Counter := $01
else
Counter := $02;
Utilize begin e end para um ramo contendo múltiplas instruções:
if Enabled then
begin
Counter := Counter + $01;
Ready := true;
end
else
begin
Counter := $00;
Ready := false;
end;
Condicionais podem ser aninhadas. Um else sem um bloco delimitador pertence ao
if não casado mais próximo.
A análise de atribuição definitiva segue o fluxo de controle. Uma variável atribuída
em ambos os ramos de um if/else é considerada atribuída após a estrutura. Uma
atribuição realizada apenas no ramo then, ou em um if sem else, não é garantida posteriormente.
nes.run deve permanecer no bloco principal de nível superior.
Chamadas de paleta dentro de condicionais de runtime são permitidas e preparam
alterações para o VBlank; chamadas de nível superior anteriores a nes.run realizam
escritas diretas durante a inicialização.
O backend emite um desvio relativo próximo seguido por um JMP absoluto. Isso mantém
os desvios condicionais válidos mesmo quando o corpo de um ramo excede o alcance de
desvio relativo do 6502.