Visualizing Pipeline Activity
4-8
Example 4−2. Diagramming Pipeline Activity
Address Opcode Instruction Initial Values
000040 F345 I1: MOV DP,#VarA ; DP = page that has VarA. VarA address = 000203
000041 F346 I2: MOV AL,@VarA ; Move content of VarA to AL. VarA = 1230
000042 F347 I3: MOVB AR0,#VarB ; AR0 points to VarB. VarB address = 000066
000043 F348 I4: ADD AL,*XAR0++ ; Add content of VarB to VarB = 0001
; AL, and add 1 to XAR0. (VarB + 1) = 0003
000044 F349 I5: MOV @VarC,AL ; Replace content of VarC (VarB + 2) = 0005
; with content of AL. VarC address = 000204
000045 F34A I6: ADD AL,*XAR0++ ; Add content of (VarB + 1) VarD address = 000205
; to AL, and add 1 to XAR0.
000046 F34B I7: MOV @VarD,AL ; Replace content of VarD
; with content of AL.
000047 F34C I8: ADD AL,*XAR0 ; Add content of (VarB + 2)
; to AL.
F1 F2 D1 Instruction D2 R1 R2 E
W
000040
F346:F345
000042 F345
F348:F347 F346 I1: MOV DP,#VarA DP = 8
000044 F347 I2: MOV AL,@VarA Generate
VarA address
−
F34A:F349 F348 I3: MOVB XAR0,#Var
B
XAR0 = 66 000203 −
000046 F349 I4: ADD AL,*XAR0+
+
XAR0 = 67 − 1230 −
F34C:F34B F34A I5: MOV @VarC,AL Generate
VarC address
000066 − AL = 1230 −
F34B I6: ADD AL,*XAR0+
+
XAR0 = 68 − 0001 − −
F34C I7: MOV @VarD,AL Generate
VarD address
000067 − AL = 1231 −
I8: ADD AL,*XAR0 XAR0 = 68 − 0003 − −
000068 − AL= 1234 000204
1231
0005 − −
AL = 1239 000205
1234