我在C中使用GMP库获得任意精度.我见过的所有用法示例似乎都避免了自我分配,例如:
Syntax : void mpz_add (mpz_t rop, const mpz_t op1, const mpz_t op2)
mpz_add(a, a, b); // Assign a+b to a
Run Code Online (Sandbox Code Playgroud)
这种用法是允许的,还是应该只分配给第三个变量?
我无法找到有关MC68000在外部中断期间是否保留其状态寄存器/ CCR的任何信息.我想如果CPU在条件分支之前立即中断并且中断修改CCR将是一个问题.现在我的中断代码如下所示:
ORG $110000 ; Location of IPL6 vector
IPL6 MOVE.W SR, -(SP) ; Is this line necessary?
MOVE.L D0, -(SP)
; Perform interrupt tasks here
MOVE.L (SP)+, D0
MOVE.W (SP)+, SR ; Is this line necessary?
RTE ; Return
Run Code Online (Sandbox Code Playgroud)
我想知道是否需要从堆栈中推送/弹出SR的指示行,或者CPU是否在中断期间自动保存和恢复SR.