为什么用模拟器8086只能MOV AX,1000H才能运行?
发布网友
发布时间:2024-09-29 18:31
我来回答
共1个回答
热心网友
时间:2024-09-29 18:58
单片机有多个硬件入口
0X0000地址就是硬件复位后执行程序的入口。0X0003就是外部中断入口等等。
复位后就自动从0x0000开始执行,外部中断来了会自动从0X0003开始执行。当一个函数写上interrupt 0 的时候,这个函数就会根据中断号自动放在对应的入口处。中断号0就是把这个函数放到0x0003(其实是一条跳转指令)。
如果主程序中没有打开中断和使能中断,0x0003就是普通的程序存储空间。
具体的看下图:
从图中看出,有中断就意味着只是两套程序(蓝色和红色)。