.orig x3000 and r1, r1, 0 ; r1 <- 0 br 1 ; nextPC <- PC+1+1 ==> br next add r1, r1, 1 ; never exectued br next ; nextPC <- PC+1+1 ==> brz -2 add r1, r1, 1 ; r1 <- 1 next: brz -2 ; (1) nextPC <- PC+1-2 ==> add r1, r1, 1 ; (2) nextPC <- PC+1 ==> and r2, r2, 0 and r2, r2, 0 ; r2 <- 0 lea r4, 2 ; r4 <- PC+1+2 jmp r4 ; nextPC ==> jsr func1 add r2, r2, 1 ; never executed jsr func1 ; nextPC ==> add r2, r2, 2 ; r7 <- PC+1 ==> add r2, r2, 4 add r2, r2, 4 ; r2 <- 6 HALT func1: add r2, r2, 2 ; r2 <- 2 ret ; nextPC <- R7 ==> add r2, r2, 4 DATA: .FILL xbeef .end