关于一个编程语言的问题,高手进
本人在写 CN语言翻译机,效果是翻译成NASM汇编.
本想在CN语言中加入异常处理的,思前想后,都无法相通。
// setjmp 保存程序运行时的堆栈环境.
// longjmp 恢复先前保存的程序堆栈环境.
虽然知道这两个函数可以实现异常.
但是汇编中,要如何做到,没有过多的寄存器可以利用,
是否必须开辟一块内存专门用于异常呢?
感觉这样的话,异常就需要一个架构的问题,需要好好想想,参考前人的思想。
iret 异常处理,是否能用于这样的情况,可以改变 cs, ip, 状态标志.实现远跳。
还是ret足以。
请高手给予回答