I'm working on a project with multiple axis of movement… trying to get two motors to run at the same time in order to achieve a mix of two!
In NXT-G if you place a block after another block it will run in succession. To get two motors running at the same time you can place two motor blocks, one at the start and the other just above or below. Drag the sequence beam (the white Technic beam) to the second block to complete the circuit.
Don't forget to make sure the motor blocks are controlling separate ports and that both ports on the NXT brick are attached to motors.
You could just use one block to control the two ports but they would both have to be running in the same direction.
It depends on the programming language, but assuming you're using NXT-G then the Move block may be sufficient. The Move block is designed to coordinate 2 motors so that they both rotate at the same speed over a distance. The Move block has settings for speed/power of the motion. There is a forward/backward setting. There is also a steering setting, which is implemented as a slider bar giving about 20 ratios of motor output.
Setting speed to 75, forward and steering = 0 should give you a diagonal line.
Change the steering to something +- 100 to give other diagonal lines.
To give straight horizontal or vertical lines, turn one motor off, the other on.