INPUT FILES: mnt.txt ONE 2 1 1 1 TWO 2 1 5 2 mdt.txt MOVER (P,3) (P,1) ADD (P,3) (P,2) MOVEM (P,3) (P,1) MEND MOVER (P,3) (P,1) ADD (P,3) (P,2) MOVEM (P,3) (P,1) MOVER CREG, (P,1) ADD CREG,9 MOVEM CREG, (P,1) MEND ir.txt START READ O READ T TWO T, 7 PRINT O PRINT T STOP O DS 1 T DS 1 END kpdt.txt 1 E AREG 2 O DREG CODE: package macroP2; import java.io.BufferedReader;import import import import import java.io.FileReader; java.io.FileWriter; java.io.IOException; java.util.HashMap; java.util.Vector; public class macrop2 { public static void main (String[] args) throws IOException { BufferedReader mntb=new BufferedReader(new FileReader("mnt.txt")); BufferedReader mdtb=new BufferedReader(new FileReader("mdt.txt")); BufferedReader kpdtb=new BufferedReader(new FileReader("kpdt.txt")); BufferedReader irb=new BufferedReader(new FileReader("ir.txt")); FileWriter fr=new FileWriter("pass2.txt"); HashMapmnt=new HashMap(); HashMapaptab=new HashMap(); HashMapaptabinverse=new HashMap(); Vectormdt=new Vector(); Vectorkpdt=new Vector(); String line; int mdtp,kpdtp,pp,kp,paramNo; while((line=mdtb.readLine())!=null) { mdt.addElement(line); } while((line=kpdtb.readLine())!=null){ kpdt.addElement(line); } while((line=mntb.readLine())!=null){ String[] parts=line.split(" "); mnt.put(parts[0], new MNTEntry(parts[0],Integer.parseInt(parts[1]),Integer.parseInt(parts[2]),Integer.pa rseInt(parts[3]),Integer.parseInt(parts[4]))); } while((line=irb.readLine())!=null) { String []parts=line.split("\\s+"); if(mnt.containsKey(parts[0])) { pp=mnt.get(parts[0]).getpp(); kp=mnt.get(parts[0]).getkp(); kpdtp=mnt.get(parts[0]).getkpdtp(); mdtp=mnt.get(parts[0]).getmdtp(); paramNo=1; for(int i=0;i