You have to wiggle 19 address lines and read the 8 bit output for every address. The Arduino Mega has enough lines or you can use 3 74HC595 shift registers in series for the address lines (takes 3 pins) with an Arduino UNO. The shift register approach will be terribly slow, see below.
https://www.arduino.cc/en/Tutorial/Foundations/ShiftOutWrite the code to send ASCII values for address and data, capture then in the Terminal and eventually get them to an ASCII file. You can convert them to binary at some point.
Execution would be a lot faster with 74HC590 8 bit synchronous counters. You would need 3 in series using the ripple carry setup but, in code, you would just need to pulse a single clock line instead of shifting 19 bits of address. This would be a lot faster but I didn't find an example circuit. I would use the counter approach!
You could save a lot of time by not sending the address value. Or maybe you send the address value every once in a while. Maybe send it every 16 bytes. Maybe send along a checksum. Like the Intel hex format with segment records to handle the large address field. This is an advanced topic...
Advanced idea: Install an SD Shield and write the binary data directly to a file.