I am trying to silmulate the 7segment& stepper motor with 8086mp using proteus.Program compled succesfully but when iam running it schematic capture iam getting an error called program load address is beyond the internal memory range which i couldn't understood.Kindly waiting for a quick answer.

  • 2
    \$\begingroup\$ What is the program load address? What is the internal memory range? \$\endgroup\$
    – user253751
    Mar 16 at 10:05
  • \$\begingroup\$ Looks like your program is too big for the memory. \$\endgroup\$
    – Damien
    Mar 16 at 10:18

The 8086 starts execution at 0xFFFF:0000, which is only 16 bytes before end of address space.

You as a developer are supposed to put a jump instruction there to point the program counter at the actual program start.

If the PC just continues incrementing, you get a wrap-around at FFFF:0010. The behaviour here differes between chip versions, the original 8086 wraps to 0000:0000, while modern variants (80286 and up) would access memory beyond 1MB. See also "A20 gate".

In most cases using addresses bigger than FFFF:000F will be a bug. Don't do that.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.