📄 calctools.asm
字号:
lda #>Sign_b
sta0 .PYPP
call .CopyData
ret
.X_trans_S::
lda #<SignX
sta0 .PXDP
lda #<Sign_s
sta0 .PYDP
lda #>SignX
sta0 .PXPP
lda #>Sign_s
sta0 .PYPP
call .CopyData
ret
.X_trans_I::
lda #<SignX
sta0 .PXDP
lda #<Sign_i
sta0 .PYDP
lda #>SignX
sta0 .PXPP
lda #>Sign_i
sta0 .PYPP
call .CopyData
ret
.X_trans_R::
lda #<SignX
sta0 .PXDP
lda #<Sign_r
sta0 .PYDP
lda #>SignX
sta0 .PXPP
lda #>Sign_r
sta0 .PYPP
call .CopyData
ret
.X_trans_T::
lda #<SignX
sta0 .PXDP
lda #<SignT
sta0 .PYDP
lda #>SignX
sta0 .PXPP
lda #>SignT
sta0 .PYPP
call .CopyData
ret
.X_trans_LRX::
lda #<SignX
sta0 .PXDP
lda #<SignLRX
sta0 .PYDP
lda #>SignX
sta0 .PXPP
lda #>SignLRX
sta0 .PYPP
call .CopyData
ret
.T_trans_X::
lda #<SignT
sta0 .PXDP
lda #<SignX
sta0 .PYDP
lda #>SignT
sta0 .PXPP
lda #>SignX
sta0 .PYPP
call .CopyData
ret
.LRX_trans_X::
lda #<SignLRX
sta0 .PXDP
lda #<SignX
sta0 .PYDP
lda #>SignLRX
sta0 .PXPP
lda #>SignX
sta0 .PYPP
call .CopyData
ret
;------------(Y_COPY_X,Z,Buf,b,s)-----------
.Y_trans_X::
lda #<SignY
sta0 .PXDP
lda #<SignX
sta0 .PYDP
lda #>SignY
sta0 .PXPP
lda #>SignX
sta0 .PYPP
call .CopyData
ret
.Y_trans_Z::
lda #<SignY
sta0 .PXDP
lda #<SignZ
sta0 .PYDP
lda #>SignY
sta0 .PXPP
lda #>SignZ
sta0 .PYPP
call .CopyData
ret
.Y_trans_Buf::
lda #<SignY
sta0 .PXDP
lda #<Sign_buf
sta0 .PYDP
lda #>SignY
sta0 .PXPP
lda #>Sign_buf
sta0 .PYPP
call .CopyData
ret
.Y_trans_B::
lda #<SignY
sta0 .PXDP
lda #<Sign_b
sta0 .PYDP
lda #>SignY
sta0 .PXPP
lda #>Sign_b
sta0 .PYPP
call .CopyData
ret
.Y_trans_Xn::
lda #<SignY
sta0 .PXDP
lda #<SignXn
sta0 .PYDP
lda #>SignY
sta0 .PXPP
lda #>SignXn
sta0 .PYPP
call .CopyData
ret
.Y_trans_S::
lda #<SignY
sta0 .PXDP
lda #<Sign_s
sta0 .PYDP
lda #>SignY
sta0 .PXPP
lda #>Sign_s
sta0 .PYPP
call .CopyData
ret
.Y_trans_I::
lda #<SignY
sta0 .PXDP
lda #<Sign_i
sta0 .PYDP
lda #>SignY
sta0 .PXPP
lda #>Sign_i
sta0 .PYPP
call .CopyData
ret
.Y_trans_R::
lda #<SignY
sta0 .PXDP
lda #<Sign_r
sta0 .PYDP
lda #>SignY
sta0 .PXPP
lda #>Sign_r
sta0 .PYPP
call .CopyData
ret
.Y_trans_T::
lda #<SignY
sta0 .PXDP
lda #<SignT
sta0 .PYDP
lda #>SignY
sta0 .PXPP
lda #>SignT
sta0 .PYPP
call .CopyData
ret
.Y_trans_LRY::
lda #<SignY
sta0 .PXDP
lda #<SignLRY
sta0 .PYDP
lda #>SignY
sta0 .PXPP
lda #>SignLRY
sta0 .PYPP
call .CopyData
ret
.T_trans_Y::
lda #<SignT
sta0 .PXDP
lda #<SignY
sta0 .PYDP
lda #>SignT
sta0 .PXPP
lda #>SignY
sta0 .PYPP
call .CopyData
ret
.LRY_trans_Y::
lda #<SignLRY
sta0 .PXDP
lda #<SignY
sta0 .PYDP
lda #>SignLRY
sta0 .PXPP
lda #>SignY
sta0 .PYPP
call .CopyData
ret
;------------(z_COPY_X,Z,Buf,b,s)-----------
.Z_trans_X::
lda #<SignZ
sta0 .PXDP
lda #<SignX
sta0 .PYDP
lda #>SignZ
sta0 .PXPP
lda #>SignX
sta0 .PYPP
call .CopyData
ret
.Z_trans_Y::
lda #<SignZ
sta0 .PXDP
lda #<SignY
sta0 .PYDP
lda #>SignZ
sta0 .PXPP
lda #>SignY
sta0 .PYPP
call .CopyData
ret
.Z_trans_Buf::
lda #<SignZ
sta0 .PXDP
lda #<Sign_buf
sta0 .PYDP
lda #>SignZ
sta0 .PXPP
lda #>Sign_buf
sta0 .PYPP
call .CopyData
ret
.Z_trans_B::
lda #<SignZ
sta0 .PXDP
lda #<Sign_b
sta0 .PYDP
lda #>SignZ
sta0 .PXPP
lda #>Sign_b
sta0 .PYPP
call .CopyData
ret
.Z_trans_S::
lda #<SignZ
sta0 .PXDP
lda #<Sign_s
sta0 .PYDP
lda #>SignZ
sta0 .PXPP
lda #>Sign_s
sta0 .PYPP
call .CopyData
ret
.Z_trans_I::
lda #<SignZ
sta0 .PXDP
lda #<Sign_i
sta0 .PYDP
lda #>SignZ
sta0 .PXPP
lda #>Sign_i
sta0 .PYPP
call .CopyData
ret
.Z_trans_R::
lda #<SignZ
sta0 .PXDP
lda #<Sign_r
sta0 .PYDP
lda #>SignZ
sta0 .PXPP
lda #>Sign_r
sta0 .PYPP
call .CopyData
ret
.Z_trans_T::
lda #<SignZ
sta0 .PXDP
lda #<SignT
sta0 .PYDP
lda #>SignZ
sta0 .PXPP
lda #>SignT
sta0 .PYPP
call .CopyData
ret
;------------(Buf_COPY_X,Y,Z)---------------
.Buf_trans_X::
lda #<Sign_buf
sta0 .PXDP
lda #<SignX
sta0 .PYDP
lda #>Sign_buf
sta0 .PXPP
lda #>SignX
sta0 .PYPP
call .CopyData
ret
.Buf_trans_Y::
lda #<Sign_buf
sta0 .PXDP
lda #<SignY
sta0 .PYDP
lda #>Sign_buf
sta0 .PXPP
lda #>SignY
sta0 .PYPP
call .CopyData
ret
.Buf_trans_Z::
lda #<Sign_buf
sta0 .PXDP
lda #<SignZ
sta0 .PYDP
lda #>Sign_buf
sta0 .PXPP
lda #>SignZ
sta0 .PYPP
call .CopyData
ret
.Buf_trans_I::
lda #<Sign_buf
sta0 .PXDP
lda #<Sign_i
sta0 .PYDP
lda #>Sign_buf
sta0 .PXPP
lda #>Sign_i
sta0 .PYPP
call .CopyData
ret
;------------(B_COPY_X,Y,Z)------------------
.B_trans_X::
lda #<Sign_b
sta0 .PXDP
lda #<SignX
sta0 .PYDP
lda #>Sign_b
sta0 .PXPP
lda #>SignX
sta0 .PYPP
call .CopyData
ret
.B_trans_Y::
lda #<Sign_b
sta0 .PXDP
lda #<SignY
sta0 .PYDP
lda #>Sign_b
sta0 .PXPP
lda #>SignY
sta0 .PYPP
call .CopyData
ret
.B_trans_Z::
lda #<Sign_b
sta0 .PXDP
lda #<SignZ
sta0 .PYDP
lda #>Sign_b
sta0 .PXPP
lda #>SignZ
sta0 .PYPP
call .CopyData
ret
;------------(S_COPY_X,Y,Z)------------------
.S_trans_X::
lda #<Sign_s
sta0 .PXDP
lda #<SignX
sta0 .PYDP
lda #>Sign_s
sta0 .PXPP
lda #>SignX
sta0 .PYPP
call .CopyData
ret
.S_trans_Y::
lda #<Sign_s
sta0 .PXDP
lda #<SignY
sta0 .PYDP
lda #>Sign_s
sta0 .PXPP
lda #>SignY
sta0 .PYPP
call .CopyData
ret
.S_trans_Z::
lda #<Sign_s
sta0 .PXDP
lda #<SignZ
sta0 .PYDP
lda #>Sign_s
sta0 .PXPP
lda #>SignZ
sta0 .PYPP
call .CopyData
ret
.T_trans_S::
lda #<SignT
sta0 .PXDP
lda #<Sign_s
sta0 .PYDP
lda #>SignT
sta0 .PXPP
lda #>Sign_s
sta0 .PYPP
call .CopyData
ret
;------------(I_COPY_X,Y,Z)------------------
.I_trans_X::
lda #<Sign_i
sta0 .PXDP
lda #<SignX
sta0 .PYDP
lda #>Sign_i
sta0 .PXPP
lda #>SignX
sta0 .PYPP
call .CopyData
ret
.I_trans_Y::
lda #<Sign_i
sta0 .PXDP
lda #<SignY
sta0 .PYDP
lda #>Sign_i
sta0 .PXPP
lda #>SignY
sta0 .PYPP
call .CopyData
ret
.I_trans_Z::
lda #<Sign_i
sta0 .PXDP
lda #<SignZ
sta0 .PYDP
lda #>Sign_i
sta0 .PXPP
lda #>SignZ
sta0 .PYPP
call .CopyData
ret
;------------(R_COPY_X,Y,Z)------------------
.R_trans_X::
lda #<Sign_r
sta0 .PXDP
lda #<SignX
sta0 .PYDP
lda #>Sign_r
sta0 .PXPP
lda #>SignX
sta0 .PYPP
call .CopyData
ret
.R_trans_Y::
lda #<Sign_r
sta0 .PXDP
lda #<SignY
sta0 .PYDP
lda #>Sign_r
sta0 .PXPP
lda #>SignY
sta0 .PYPP
call .CopyData
ret
.R_trans_Z::
lda #<Sign_r
sta0 .PXDP
lda #<SignZ
sta0 .PYDP
lda #>Sign_r
sta0 .PXPP
lda #>SignZ
sta0 .PYPP
call .CopyData
ret
;------------(Xn_COPY_X,Y,Z)------------------
.Xn_trans_X::
lda #<SignXn
sta0 .PXDP
lda #<SignX
sta0 .PYDP
lda #>SignXn
sta0 .PXPP
lda #>SignX
sta0 .PYPP
call .CopyData
ret
.Xn_trans_Y::
lda #<SignXn
sta0 .PXDP
lda #<SignY
sta0 .PYDP
lda #>SignXn
sta0 .PXPP
lda #>SignY
sta0 .PYPP
call .CopyData
ret
.Xn_trans_Z::
lda #<SignXn
sta0 .PXDP
lda #<SignZ
sta0 .PYDP
lda #>SignXn
sta0 .PXPP
lda #>SignZ
sta0 .PYPP
call .CopyData
ret
;------------------------------------------------
ModCarry:: ;input/2pi
call .X_trans_R ;input
call .Y_trans_B ;2pi
call Division
call .Carry
call .R_trans_X
call GetInt
call .GetDpCount
lda0 DpCount ;input<2pi
cmpe #0h
brnz .Beyond2PI
ret
.Beyond2PI: ;input>2pi
call .B_trans_Y ;2pi
call .Z_trans_B
call .Z_trans_X
lda #0h
sta0 SignX
call Multiplation
call .Z_trans_Y
call .R_trans_X
lda #0h
sta0 SignX
lda #0h
sta0 OperandX+7
sta0 OperandY+7
call Subtration
call .Z_trans_R ;r
call .ClrX
lda #01h
sta OperandX+6
lda #05h
sta PointX
call .Z_trans_Y
call Subtration
call .R_trans_X
lda0 SignZ
cmpe #0h
brnz .EndModCarry
call .ClrX
.EndModCarry:
call .B_trans_Z ;q
ret
;-------------------------------------------
Order_tab:
DB 000h,000h,000h,000h,000h,000h,001h,000h
DB 000h,000h,000h,000h,000h,000h,001h,000h
DB 000h,000h,000h,000h,000h,000h,002h,000h
DB 000h,000h,000h,000h,000h,000h,006h,000h
DB 000h,000h,000h,000h,000h,000h,024h,000h
DB 000h,000h,000h,000h,000h,001h,020h,000h
DB 000h,000h,000h,000h,000h,007h,020h,000h
DB 000h,000h,000h,000h,000h,050h,040h,000h
DB 000h,000h,000h,000h,004h,003h,020h,000h
DB 000h,000h,000h,000h,036h,028h,080h,000h
DB 000h,000h,000h,003h,062h,088h,000h,000h
DB 000h,000h,000h,039h,091h,068h,000h,000h
DB 000h,000h,004h,079h,000h,016h,000h,000h
DB 000h,000h,062h,027h,002h,008h,000h,000h
DB 000h,008h,071h,078h,029h,012h,000h,000h
DB 001h,030h,076h,074h,036h,080h,000h,000h
DB 020h,092h,027h,089h,088h,080h,000h,000h
DB 035h,056h,087h,042h,080h,096h,000h,0ffh
DB 064h,002h,037h,037h,005h,072h,080h,0feh
DB 012h,016h,045h,010h,004h,008h,083h,0fch
DB 024h,032h,090h,020h,008h,017h,066h,0fbh
DB 051h,009h,009h,042h,017h,017h,009h,0fah
DB 011h,024h,000h,007h,027h,077h,076h,0f8h
DB 025h,085h,020h,016h,073h,088h,085h,0f7h
DB 062h,004h,048h,040h,017h,033h,024h,0f6h
DB 015h,051h,012h,010h,004h,033h,031h,0f4h
DB 040h,032h,091h,046h,011h,026h,061h,0f3h
DB 010h,088h,088h,069h,045h,004h,018h,0f1h
DB 030h,048h,088h,034h,046h,011h,071h,0f0h
DB 088h,041h,076h,019h,093h,073h,097h,0efh
DB 026h,052h,052h,085h,098h,012h,019h,0edh
DB 082h,022h,083h,086h,054h,017h,079h,0ech
DB 026h,031h,030h,083h,069h,033h,069h,0eah
DB 086h,083h,031h,076h,018h,081h,019h,0e9h
DB 029h,052h,032h,079h,090h,039h,060h,0e7h
DB 010h,033h,031h,047h,096h,063h,086h,0e5h
DB 037h,019h,093h,032h,067h,089h,090h,0e4h
DB 013h,076h,037h,053h,009h,012h,026h,0e2h
DB 052h,030h,022h,061h,074h,066h,060h,0e1h
DB 020h,039h,078h,082h,008h,011h,097h,0dfh
DB 081h,059h,015h,028h,032h,047h,090h,0deh
DB 033h,045h,025h,026h,061h,031h,064h,0dch
DB 014h,005h,000h,061h,017h,075h,029h,0dah
DB 060h,041h,052h,063h,006h,033h,074h,0d9h
DB 026h,058h,027h,015h,074h,078h,085h,0d7h
DB 011h,096h,022h,022h,008h,065h,048h,0d5h
DB 055h,002h,062h,021h,059h,081h,021h,0d4h
DB 025h,086h,023h,024h,015h,011h,017h,0d2h
DB 012h,041h,039h,015h,059h,025h,036h,0d0h
DB 060h,082h,081h,086h,040h,034h,027h,0cfh
DB 030h,041h,040h,093h,020h,017h,013h,0cdh
DB 015h,051h,011h,087h,053h,028h,074h,0cbh
DB 080h,065h,081h,075h,017h,009h,044h,0cah
DB 042h,074h,088h,032h,084h,006h,000h,0c8h
DB 023h,008h,043h,069h,073h,039h,024h,0c6h
DB 012h,069h,064h,003h,035h,036h,058h,0c4h
DB 071h,009h,098h,058h,078h,004h,086h,0c3h
DB 040h,052h,069h,019h,050h,048h,077h,0c1h
DB 023h,050h,056h,013h,031h,028h,029h,0bfh
DB 013h,086h,083h,011h,085h,045h,069h,0bdh
DB 083h,020h,098h,071h,012h,074h,014h,0bch
DB 050h,075h,080h,021h,038h,077h,023h,0bah
DB 031h,046h,099h,073h,026h,003h,088h,0b8h
DB 019h,082h,060h,083h,015h,040h,044h,0b6h
DB 012h,068h,086h,093h,021h,085h,088h,0b4h
DB 082h,047h,065h,005h,092h,008h,025h,0b3h
DB 054h,043h,044h,093h,090h,077h,044h,0b1h
DB 036h,047h,011h,010h,091h,081h,089h,0afh
DB 024h,080h,003h,055h,042h,043h,068h,0adh
DB 017h,011h,022h,045h,024h,028h,014h,0abh
PI_tab::
DB 031h,041h,059h,026h,053h,058h,097h,00dh
PI2_tab::
DB 000h,00dh,062h,083h,018h,053h,007h,017h,094h,0ffh
PI_tab1::
DB 000h,00dh,031h,041h,059h,026h,053h,058h,097h,0ffh
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -