vitamin-caig / sjasmplus

SJAsmPlus mirror ("master" branch) + my modifications ("my" branch)
http://zx.pk.ru/showthread.php?t=447
4 stars 2 forks source link

Missed code when using DISP/ENT #2

Closed psbhlw closed 10 years ago

psbhlw commented 10 years ago

A part of code is missed when using DISP/ENT and the real address crosses #8000 boundary.

In attached archive:

code.a80 - example of such a code
code.C   - generated binary with broken code
code.dis - disassemble of broken code
code.lst - generated listing (looks ok)

UUencoded archive:

section 1 of 1 of file disp_missed_code.tar.gz  < MxUUE v0.6.7 (c) 1999-2004 Maxxi >

begin 644 disp_missed_code.tar.gz
M'XL(",`6"5,$`&1I<W!?;6ES<V5D7V-O9&4N=&%R`.S<R:]+41P'\-,2E#0D
M8@KA&&*(XIP[HZC[VD:((8^$T(:^UXO*T_):8\2P\`_86=A8B8U8VP@V0F)A
M@9"P82<BD1!3G3MT[GN]AKX(W\]+>MMS?K]SS[WGWM[SCJ&_D+669PQ&NH@S
MINLZ)=3&ZK8N42U3+LF,:QK7%$D4J0I7*.EJI\!!/5GK>*[?HJ=/%H]8_:7!
M8X>Y9(3'A\=7Z@N#!^A\??]^'AY?+&4&2[6:;*YXA,[G5I]2'S^0I9F(KA^L
M:^%8B2Z6ET0RX?$GLGFG*)<708N5);6@P8%,[<.A0=H?$;%UU9;8L9U_*E3+
M#3E)(1&=M\-/B?=>G'B7S8D7T9G%\\45IBR)%(_X[.,(!X6R?701/6@-#!3F
MTD5.UZV\<Q`#5IY:1X_1!<N\$U_++V:.6\5\ALYS[F+Q;E[$&:/&B+Y<WHOH
MF1=QVHB(-FLQ!/Y?[G5!NFK([_\*5:U\_TNRRNT"KDKX_A\):T\\'O5\]#3C
MRWWQRKX\'F47>-]#^&;X]SGWOWB$DR[J</_+FJ94[W^F,/O^U[B,^W\D]&[=
MO$I/)CD=3M$Z<%C,1J@(#H_WE6%/%^V@@W7Q<H**JZ"]@:R[S41$S$&ZFBXZ
ML:B:*M.X3)D\U*Z.E>R-,Y&BF6J26GO7N*="_UZ[<!4=ENA"S]9X@N[J3217
M4:\E8\:ANE;C)F7*$-FY?/5XQ!RUFJ13WOX,U":_E5U1V:!)<XC(0X/NMC]2
M/9YJYGK:LW*8?5BE:J39=,#+_IS:/FKOV@V#^2O#D*@;!O-7AB'N>Q@25&:=
MAR'OC4/M>`W&V$]<M?7'&XU&Q0FDAW/%HI6E]O?SW&J;TB_>1")5^8GNU)*Z
M?86(?6A48E0SJ*92K6=I9H,]]:A=%<LSQ?Y<KNY7HPBK9B9'H'=)*@9R2/G"
MD4HD9[XCN>](R7>D[#M2\1VI^H[4?$?JOB,-WY$K?4>N]QUI^H[L\1T9_XG(
MQBO;RF=I83]=)*K%'4W^(&?^-U`LD2[J,/^35*7E]S]-89C_C03&[;%@31?F
M\*N"3&J7(\KE=N5M5A"=YTK+'-);WF)JN\IVJXU,LU>/$Z;2W`_=*V]X6K8N
MPS'#C=,:'XVMBW-LI1MH-$PV6E<Q.7/CUE?F%ZWS"L[=$+-A?M>ZXLDE-RY>
MF<VUSN*X[(8DF@Z?*UYY0V\;UTRYZL3TL(:>AMPN:FX=;YC[U*^OBAPG0F[H
M7,CME>'6*<V]6MF^7&*5\F3="#CKMA)WJU2:B%-=IK+]:R)M7LV5)#=J98?1
MEF0WSNPTVI+B!L8[->B=PV3'!MT3&N>=&M3=.+EC@X8;J'9J<*4;IW=J4&9N
M8..EUKPF78N2F&9HJM8C?I(2EYBH<\<JT7C7BG*I7;F[MBW;/1)/NT1SCM*N
MO&4=7%:'2-?:E7=>,Y?U=GE^5M)E8[C,/_O`_L,J9X%TT;#/?T4\+V2]Y?FO
MJGC^CXA=B^H_K4IY;_8%QA(``````````````/CG&`#_,?*?"X^BX3*9_3$\
M/R@^31T;(&/(!!(@]G;MNL"WE[//[7PSMG!]XL2)#U[?O6S,);=?3W]#HC%2
M?ACXNE?D?"^7`R0H3N33-"$+TPO3J]-/TZO2S\3/$U'R/&W_++N4FA2L['/C
M-$)NB3^4+#N?YDXCL5?;YDZ?.RU@$-',C<<?GW_\/GOQJ.]S;C_B:P/2N]3]
M^AZ7]Y;+'T+7)FWZ$+HW9?N%B?>G]"I[5I0%43F/J^*?E\X;]3RU)GV5]!4*
MSM]X-:^0*\XQN0+C[-=Q(N.\:.YSZG,JY+9LOT337_>6H]=%5/"3.+R/\_H(
M`````````````````````,!?`_\7+```````````````````````````````
M````````````````````````````````````````````````````_*Z;\JO4
MG>!F\B)%SB]=MH,L7;9TF243\G92F(3(Q5F39O7./#YSU&2RED1-\ZQI$G+&
M/&.:9XCX'(N944).QDTS?I*0L[$SL=A9;QMSZK?8]7::G;=VG+"6D&`P:-KE
M\0U'-L1%N0AV\LS]NYTXLZ]W8U)LQ?Z<.'MO;GMF[T;O<]RNCT6#=OWW23:1
MY\6_/S>-``````````#\8`^."0``00"`F<$LWI;R,"-AN"A`$+8!````````
M``````````````````````````#`9%'YSKY_`0``````````````````````
M`````````````````$"W2R\G"`,!$$!3RC9@V)B?%XN)NA=-4-@(EN\'!!M8
MO+QW&6;.`P````````````````````"E+=,EU8=IK0IJ8AS',53A+?[D5]>'
M9MO&9ACBT+:OH>^[)E2QHK1\GO)RF^^Y3H\4CM=3JJ==#)O-G-?]I\ZYZ#D`
+^(LG5>*Q.``H`@"[
`
end
sum -r/size 58896/2600 section (from "begin" to "end")
sum -r/size 27904/1856 entire input file
vitamin-caig commented 10 years ago

Fixed (4772e58433ec1c1497748eb8264741145dc902d6). Required some testing on high-memory code generation to avoid regressions.