當前位置:股票大全官網 - 私募基金 - WXJNB基金

WXJNB基金

樓主對兩種指令的概念不太清楚:子程序調用指令LCALL和跳轉指令LJMP、JNB等。;

1、LJMP、JNB和CJNE都是跳轉語句。跳轉後程序指針PC指向跳轉位置,但不影響SP棧的值。

2.LCALL,ACALL等。都是子程序調用指令。執行前需要將下壹條指令的地址(PC指針)推入堆棧(2字節),所以SP+2,然後PC指針移動到子程序開始執行子程序的位置;子程序執行後,PC指針恢復到RET指令調用前CALL語句的下壹條指令,SP-2也恢復。

因為程序中很多地方都用到LCALL,但是對應的子程序體中沒有RET返回指令,所以SP是遞增的,例如:

。。。。。。。。。

組織30H

WXL:jnbp 2.5 SCL

LJMPWXL

SCL:lcally 1

JNBP2.5,WXL100

LCALLWXL這句話有問題。執行完後,SP+2,再回到上面的WXL,再回到這個,SP又會是+2,永遠不會結束。

。。。。。。。。。。

因為這樣的錯誤太多了,而且我也不懂軟件功能,就不壹壹列舉了。我建議樓主再收拾壹下自己的心態。