Ocorrência de string - jasmin
; O programa efetua leitura de duas strings, compara o tamanho das duas,
; se a segunda for maior que a primeira, exibe mensagem de erro, senao
; verifica se a segunda string esta contida na primeira string.
;
;
; Discente: Ivan J.
.class public String
.super java/lang/Object
.field public static scanner_field Ljava/util/Scanner;
.method public <init>()V ;construtor aload_0 ;empilha iten na variavel local 0 invokenonvirtual java/lang/Object/<init>()V ;invoca o construtor return
.end method
.method public static main([Ljava/lang/String;)V
.limit stack 50 ;limite maximo da pilha
.limit locals 7 ;numero maximo de caracteres new java/util/Scanner ;cria uma nova instancia dup ;duplica o valor no topo da pilha getstatic java/lang/System/in Ljava/io/InputStream; invokespecial java/util/Scanner/<init>(Ljava/io/InputStream;)V ;invoca construtor ;leitura da primeira string astore 1 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Informe a primeira string: " invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V iconst_0 anewarray java/lang/Object pop aload_1 invokevirtual java/util/Scanner/nextLine()Ljava/lang/String; astore_2
;leitura da segunda string getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Informe a segunda string: " invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V iconst_0 anewarray java/lang/Object pop aload_1 invokevirtual java/util/Scanner/nextLine()Ljava/lang/String; astore 3
;verifica o tamanho das strings, se a primeira for maior, segue execuçao ;se a segunda for maior, imprime mensagem de erro. ;se a segunda string estiver contida na primeira, imprime mensagem de sucesso ;caso contrario, imprime mensagem de erro aload_2 aload_3 invokevirtual java/lang/String.indexOf(Ljava/lang/String;)I istore 6 aload_2 invokevirtual