下面的程序代码:
0011 000 000000000 ;Start at 0x3000
0101 010 010 1 00000 ;R2 <- 0 (counter)
0010 011 000010000 ;R3 <- M[x3012] (ptr)
1111 0000 00100011 ;Input to R0 (TRAP x23)
0110 001 011 000000 ;R1 <- M[R3]
0001 100 001 1 11100 ;R4 <- R1 <- 4 (EOT)
0000 010 000001000 ;if Z, goto x300E
1001 001 001 111111 ;R1 <- NOT R1
0001 001 001 1 00001 ;R1 <- R1 + 1
0001 001 001 0 00 000 ;R1 <- R1 + R0
0000 101 000000001 ;If N or P, goto x300B
0001 010 010 1 00001 ;R2 <- R2 + 1
0001 011 011 1 00001 ;R3 <- R3 + 1
0110 001 011 000000 ;R1 <- M[R3]
0000 111 111110110 ;Goto x3004
0010 000 000000100 ;R0 <- M[x3013]
0001 000 000 0 00 010 ;R0 <- R0 + R2
1111 0000 00100001 ;Print R0 (TRAP x21)
1111 0000 00100101 ;HALT (TRAP x25)
;Starting Address of File
0000 000 000110000 ;ASCII x30 ('0')
我从字符串3-R3 <-M [x3012](ptr)开始的问题。我不明白指针如何获取地址x3012。由于LC-3仿真器,我知道地址是什么。它表明。以及如何计算PCoffset9?