When dumping memory the printed addresses always start with `00000000`. This can be very confusing and lead to errors. Allow the user to specify a starting address of the printed memory that will be used instead. By introducing a wrapper function, existing users are unaffected.