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

Fake 'Minus' sign #4

Closed psbhlw closed 10 years ago

psbhlw commented 10 years ago

Displacement in instruction like LD A,(IY—50) will be treated as +50 if a 'minus' sign has code 151 (dec, cp1251).

In attached archive:

code.a80 - example of such a code
code.lst - generated listing

Listing cut:

10   800B FD 7E 32            LD   A,(IY—50)

Value of #32 is wrong here, #CE should be instead with a real 'minus'. Issuing an error message is ok for this case.

UUencoded archive:

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

begin 644 wrong_minus.tar.gz
M'XL(".`6"5,$`'=R;VYG7VUI;G5S+G1A<@#LW,EK$U$<P/&7"*X$"^("BCZK
MN&"K,]G56M,QJ?M"%=P27*,(:M56$1&7@_^`%_'@Q9-X4#Q[$?4B"AX\J"@8
ME]&H39H6H>+2^-XD-6V-2\&*Z/<3.LM[O]]O-M[T04.W-6Y/SMP2-D0_,@TC
M%`I)(36CV[HH%/!)T^LSS&#09_C]JB7@-P)2].M)0?OZ#+8G#^W:EI1'#C?M
M2VYK/G!PC^D->X9ZAG;U-Q[8*2>%#</P#&UJWG*@6?<MC:UW^F*+97=S92[U
M*F>_MS-I6[;F[-S'9ZE,^G6I5D-LM7K$5=,6KY]A3M?Q;4]SV389>)Z53]/M
M*=F6;FNW6S+9U[+5SMDM=D9OUB^K6[C:,W39RI6K=`UK\9J>-=Z\33U+OT_)
M3.IEJCTUOW2T)0UJL:&JD*@C7[ZP6ZJDW?8V+3-V,;X4OBRJ%G6Z\)F`,5V%
M=[0[%_(F^Z)8//NZ>+"T3+]R3G9FX41GRF5UJ]=L6MK]2M?TO#//LJ^>Y5+M
M.K$U^Z(UEWV>2[6T?-1W<W=RKTSN/R@G5W^]P5UY35L.)9OV;I&5SFA56Y55
MSK/H&;%UU]YBQ(+**J=&E:I9BBG[_`OQHE_];/Q+,U0:_P%3CW_3'V3\_PD?
M/]]V75(_>Z=]^'S,>TO@_^*,_]U-S:(?_63\FP&_K_?X#_I\C/\_P3#ULU!D
M=S^>%1C><CFJW5>NO<P,PM!SO'#OP.*O/2-0KE.U![O:ZZU2>U_G($;(J:(N
MNSXJ%UA2;=3%Y.^8F1CA0N5`J7(P)G]]OF+,=O+5RAN6]77%,^KC+,8T"D4L
M?1*AF/1Y=?1OG=N89N$0,;E@=JETWV<\IK=0I[[7<S9]Y=J_F1V9_N^D!\JU
M_WPF90;+Y?W*_,H,]<KL=4;B;]9U'T0_^N'[WZ_NOB_TS?L_P/O_SU@WM?O>
MG'AQ8[-KD````````````/^<,/`?$_\YSP#IR8OQ'9Y);K4W:I!+#!3#A$OH
M=>U\U^<GXX^O?3FH\>+PX<-OVS?.AB>*:_:8EZ(F(O)W7)\VJ9S.?-XEW.I&
M/D@(,24Q)3$W\2`Q)_%0?>ZKED<)_:D^':]P=QUSR6@AKJH_2N:=O8FC122U
M:N*8B:-=8:'*7+[7\:BC<_RT`9T3KMTU:UW>UGB/;ZSE-^7S[X9<J%CZ;LC-
MD:M/#K\ULL&_<59>49V59B!H!BL'/(K/2YP76QL;FYWO99P3YYQK*G`-ULO!
M*N.$*O<A_B$^I%!9+VH2GS;E:RZJ*/=[=7D=E5L%````````````````\+?B
M7T,!````````````````````````````````````````````````````````
M`````/KLBB\5O^Y>+A['Q8D9U6O$C.H9U4F?$)D*CQ@B3HVK&-<P]M#8`2-$
MK:BQK&.6)<11ZZAE'15J/Q*Q:H0X'+6LZ&$ACD6.1B+'BNN(T[]"]^LTG5<[
M6*D5PNUV6[H]NFC?HJAJ5\%.GK5C@Q-G;6U84J_6ZGA.G#Y:H9[5L*2X']7]
MD1JW[N^LT%1>,5Z<&"T``````````````/C"'AP(``````#YOS:"JJJJJJJJ
MJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
MJJJJJJJJJJJT2R\G"`,!$$!3RC:0L#$_+Q83=2^:H+`1+-\/"#80O;QW&6;.
M`P```````````````/`#\WA.U7Y<BA75,0[#$(KP$K_RH^U"O6EBW?>Q;YKG
MT'5M'8I8L+9\&O-\G6ZY2O<4#I=CJL9M#&4YY67WKE->]1P`_,4#T=@Y>@`:
"`@!M
`
end
sum -r/size 31302/1963 section (from "begin" to "end")
sum -r/size 24803/1397 entire input file
vitamin-caig commented 10 years ago

Fixed with possible regressions due to whitespaces processing' change.