1 %default { "store":"sw" } 2 /* For: iput-quick, iput-boolean-quick, iput-byte-quick, iput-char-quick, iput-short-quick */ 3 /* op vA, vB, offset//CCCC */ 4 srl a2, rINST, 12 # a2 <- B 5 lhu a1, 2(rPC) # a1 <- field byte offset 6 GET_VREG_U a3, a2 # a3 <- fp[B], the object pointer 7 ext a2, rINST, 8, 4 # a2 <- A 8 beqz a3, common_errNullObject # object was null 9 GET_VREG a0, a2 # a0 <- fp[A] 10 FETCH_ADVANCE_INST 2 # advance rPC, load rINST 11 daddu a1, a1, a3 12 $store a0, 0(a1) # obj.field <- a0 13 GET_INST_OPCODE v0 # extract opcode from rINST 14 GOTO_OPCODE v0 # jump to next instruction 15