Last active
August 29, 2015 13:56
-
-
Save marcoscastro/8893421 to your computer and use it in GitHub Desktop.
Código que mostra os números de 1 a 100 em Jasmin (assembler para JVM)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.class public serie1a100 | |
.super java/lang/Object | |
; imprime os numeros de 1 a 100 | |
.method public static main([Ljava/lang/String;)V | |
.limit stack 10 | |
.limit locals 2 | |
getstatic java/lang/System/out Ljava/io/PrintStream; | |
ldc "Numeros de 1 a 100" | |
invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V | |
bipush 1 ; empilha o numero 1 | |
bipush 100 ; empilha o numero 100 | |
istore 0 ; armazena o valor 100 na variavel local 0 | |
istore 1 ; armazena o valor 1 na variavel local 1 | |
; empilho novamente os valores 1 e 100 | |
iload 1 ; empilha o valor 1 | |
iload 0 ; empilha o valor 100 | |
Lteste: | |
; if_icmplt retira os dois elementos do topo da pilha e compara eles | |
; se o valor2 for menor ou igual ao valor1, entao vai para Llaco | |
if_icmple Llaco | |
goto Lend | |
Llaco: | |
getstatic java/lang/System/out Ljava/io/PrintStream; | |
iload 1 | |
invokevirtual java/io/PrintStream/println(I)V | |
iinc 1 1 ; incrementa a variável local 1 em 1 | |
iload 1 ; empilha o valor da variável local 1 (valor incrementado | |
iload 0 ; empilha o valor da variável local 0 (valor 100) | |
goto Lteste ; vai para Lteste | |
Lend: | |
return | |
.end method |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment