Mais um dia para a nossa semana Assembly, e no cardápio de hoje veremos o interessante comando SWITCH, originalmente ele era um dos Anões da Branca de Neve, porém foi tentar uma carreira solo e ficou perdido em comandos das linguagens C, C++, Ruby e Java com a sua quase eterna briga com o IF. Sua estrutura envolve um menu de opções que podem ocorrer, tal como:
switch (i) {
case 1: faça 1
case 2: faça 2
case 3: faça 3
default: se não fizer nenhuma delas
}
Em linguagem Assembly existe algumas maneiras bem diferentes de implementar este comando, porém prefiro a mais padrão que pode ser aplicada a todas as máquinas:
include 'emu8086.inc'
#MAKE_COM#
ORG 100h
.data
value dd 3
.code
cmp value, 3
jge default
cmp value, 0
je part0
cmp value, 1
je part1
cmp value, 2
je part2
part0:
print 'Parte 0', 0
jmp fim
part1:
print 'Parte 1', 1
jmp fim
part2:
print 'Parte 2', 2
jmp fim
default:
print 'Default', 0
fim:
RET
Acredito que não exista o menor mistério nestes comandos, já que vimos todas essas instruções anteriormente.
Abraços e até a próxima
Fernando Anselmo
0 comentários:
Postar um comentário