jasmin实例之比较数值大小

输入20个数据并输入的数据比较,再输出结果

.class public a1
.super java/lang/Object

.method public <init>()V
aload_0
invokespecial java/lang/Object/<init>()V
return
.end method

.method public static main([Ljava/lang/String;)V
.limit stack 4
.limit locals 9

new java/util/Scanner
dup
getstatic java/lang/System.in Ljava/io/InputStream;
invokespecial java/util/Scanner/<init>(Ljava/io/InputStream;)V
astore_0
;-------------------------------------------------------------
bipush 4
istore 7			;变量7

iconst_0
dup			;存放结果
dup
istore_1    ; =
istore_2	; >
istore_3	; <


getstatic java/lang/System/out Ljava/io/PrintStream;
ldc "输入比较数:"
invokevirtual java/io/PrintStream/print(Ljava/lang/String;)V

aload_0
invokevirtual java/util/Scanner/nextInt()I
istore 4

getstatic java/lang/System.out Ljava/io/PrintStream;
ldc "输入20个数据:"
invokevirtual java/io/PrintStream/print(Ljava/lang/String;)V

Loop:
aload_0
invokevirtual java/util/Scanner/nextInt()I
istore 5

iload 5
iload 4
if_icmpgt Add1
goto Add2
Add1: 
iinc 3 1
goto Quit
Add2:
iload 5
iload 4
if_icmpeq Add3
iinc 2 1
goto Quit
Add3:
iinc 1 1
goto Quit

Quit:

iinc 7 -1
iload 7
ifgt Loop

ldc "等于:"
jsr Print2
iload_1
jsr Print1
ldc "小于:"
jsr Print2
iload_2
jsr Print1
ldc "大于:"
jsr Print2
iload_3
jsr Print1

return

Print1:
astore_0
getstatic java/lang/System.out Ljava/io/PrintStream;
swap
invokevirtual java/io/PrintStream/println(I)V
ret 0

Print2:
astore_0
getstatic java/lang/System.out Ljava/io/PrintStream;
swap
invokevirtual java/io/PrintStream/print(Ljava/lang/String;)V
ret 0
.end method

比较结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花椒且喵酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值