Firstly, I suggest that both your computers should use a fixed/static IP adress, instead of using dynamically assigned IP addresses.
Set the computer with two network cards with IP address to say "192.168.1.1" and the subnet mask to "255.255.255.0". Gateway should be "192.168.1.1".
The other computer's IP address could be set to "192.168.1.2" and subnet mask to "255.255.255.0". Gateway "192.168.1.1".
With a static IP address, you can then try to ping the IP addresses of the computers.
I suppose cable wise you have the correct cables right? straight for computer to modem and crossover for computer to computer.
The LED lights for the computers NIC and also the cable modem should light up.
Also make sure you have enabled file and printer sharing on both computers.
The shared printer should appear in my network places. If not, connect by entering the command \\192.168.1.x or \\NameOfComputer that the printer is connected to.
Finally, my last suggestion might incur some cost. Get a multifunction router, that can share your internet conection and also your printer.
www.smc.com, www.linksys.com, www.netgear.com and
www.dlink.com all sell such routers.
I learn from helping others