NumberFormatException java汇编程序

NumberFormatException java汇编程序,java,assembly,Java,Assembly,我一直在为我的虚拟机开发java汇编程序,我不知道为什么会发生这种情况,因为提供的字符串是1。我尝试过修剪它,但它仍然抛出这个错误。我发现的所有东西都不能解决这个问题。错误在我设置tmpa的第117行,请帮助 asm.java packagevm; 导入java.util.Scanner; 导入java.io.File; 导入java.io.BufferedReader; 导入java.io.FileReader; 类asm{ 公共静态int pc=0; 公共静态void main(字符串[]a

我一直在为我的虚拟机开发java汇编程序,我不知道为什么会发生这种情况,因为提供的字符串是1。我尝试过修剪它,但它仍然抛出这个错误。我发现的所有东西都不能解决这个问题。错误在我设置tmpa的第117行,请帮助
asm.java

packagevm;
导入java.util.Scanner;
导入java.io.File;
导入java.io.BufferedReader;
导入java.io.FileReader;
类asm{
公共静态int pc=0;
公共静态void main(字符串[]args){
字符串a=“”;
字符串filename=“prog.asm”;
字符串tmp=“”;
尝试
{
BufferedReader reader=新的BufferedReader(新文件读取器(文件名));
弦线;
而((line=reader.readLine())!=null)
{
tmp+=线路;
tmp+=”;
}
reader.close();
}
捕获(例外e)
{
System.err.format(“尝试读取'%s',文件名时发生异常”);
e、 printStackTrace();
系统出口(1);
}
tmp=tmp.replace(“,”,”);
tmp=tmp.replace(“,”,”);
tmp=tmp.replace(“,”,”);
字符串[]prog=tmp.split(“”);
对于(int i=0;i 2){
a+=“0”+tmpc;
}else if(tmpc.length()>1){
a+=“00”+tmpc;
}else if(tmpc.length()>0){
a+=“000”+tmpc;
}
pc++;
}
else if(prog[pc].子字符串(0,1).equals(“r”)){
System.out.println(prog[pc+1].子字符串(1,2));

int tmpa=Integer.parseInt(prog[pc+1].substring(1,2).trim());当您的代码在“hlt”行上运行并且检查的子字符串包含一个不是数字的“l”字母时,因此Integer.parseInt无法将“l”字母转换为整数。

我没有看到eclipse中的原因l看起来像1
mov $1#, r1
mov $1#, r2
add r1, r2
psh r1
hlt