Burst Transfer

No, you are wrong in case of wrap4 and halfword .

I will give examples for your clarification:-
example1:- wrap4 halfword and starting address is 0x0E.
steps:
1> count the size of transfer 4 * 2 = 8 bytes.
2> assume that the memory is divided in the segments of 8 bytes.
so trnsfers can be stored from 0 to 7 or 8 to 15 or 16 to 23 etc. address locations (here address locations are in decimal).
3>address 0x0E
0x08
0x0A
0x0C
example2:- WRAP16 - HALFWORD (as you asked)
steps:
1> count the size of transfer 16 * 2 = 32 bytes.
2> assume that the memory is divided in the segments of 8 bytes.
so trnsfers can be stored from 0 to 31 or 32 to 63 or 64 to 95 etc. address locations (here address locations are in decimal).
3>address 0x0E (starting address)
0x10
0x12
0x14
0x16
0x18
0x1A
0x1C
0x1E
0x00
0x02
0x04
0x06
0x08
0x0A
0x0C