direct manipulation port for DUE

Hi Palliser,
You can answer me can write code in 32 bit mode. Is it possible to translate described below code.

#define encoder_a 22 
#define encoder_b 23 
#define motor_step 53
#define motor_direction 52

volatile long motor_position, encoder;

void setup () {
  pinMode(motor_step, OUTPUT);
  pinMode(motor_direction, OUTPUT);
  
  pinMode(encoder_a, INPUT);
  pinMode(encoder_b, INPUT);
  digitalWrite(encoder_a, HIGH); 
  digitalWrite(encoder_b, HIGH); 
  
  attachInterrupt(22, encoderPinChangeA, CHANGE);
  attachInterrupt(23, encoderPinChangeB, CHANGE);
  encoder = 0; 
}

void loop() {
  if (encoder > 0) {
    digitalWrite(motor_direction, HIGH);
    digitalWrite(motor_step, HIGH);
    digitalWrite(motor_step, LOW);
    delayMicroseconds(600);
    motor_position++;
    encoder = 0; 
  }
  else if (encoder < 0) {
    digitalWrite (motor_direction, LOW); 
    digitalWrite (motor_step, HIGH);
    digitalWrite (motor_step, LOW);
    delayMicroseconds(600);
    motor_position--;
    encoder = 0; 
  }
}

void encoderPinChangeA() {
  if (digitalRead(encoder_a)==digitalRead(encoder_b)) {
    encoder--;
  }
  else{
      encoder++;
  }
}

void encoderPinChangeB() {
  if (digitalRead(encoder_a) != digitalRead(encoder_b)) {
    encoder--;
  }
  else {
    encoder++;
  }
 }