delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/03/25/09:32:27

Date: Fri, 25 Mar 94 08:46:18 -0500
From: dj AT ctron DOT com (DJ Delorie)
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: far pointer emulation module

After talking with the gcc people about far pointers, Windows, NT,
gcc, and inlined asms, I decided to do something about the problem of
far pointers in djgpp.  After a few hours work, I had it.  Attached is
a set of inline asm functions that can do far pointer accesses about
as fast as native support would have done (still no far function
calls, though).  Please post suggestions for improvements, and if
everyone likes this I'll add it to 1.11.maint5 (probably as
<sys/_farptr.h>).

DJ

--

begin 644 farptr.zip
M4$L#!!0``@`(`$IH>1P[0#=VD AT 8``%D6```(````9F%R<'1R+FC-5V%O([<1
M_6P!^@\#!X97AN*[`$&!).@'G2WGMO!9 AT J2K>T`!'[7+E0BO2('D>D\M^L>2
M_(#F0_Y3WY#:E7RMF\2^<VO`QNZ2,_/FS<PC_>*$SLQZ8]5BZ2G)>O35-]]\
M3>=_HG-9&JOD*=&YT<++G+PAOY2TKN:ERB AT W*Z'T:;?3[1#1['4ZI>GH8G8]
MF`P)S^/)Z,_I^?"<WK\?3/'A^)@&5^=TG<Y>C][.\/R.AG\93X;3*8TFP47Z
M9GR9P@`>)H.K63J<]BF].KM\>YY>?=]O+2_3-^EL,$M'5WU$'39FP<7.E$87
M]&8X.7N-U\&K]#*=O0OQ+]+9%<>\&$UH0./!9):>O;T<3&C\=C(>38<AGY]_
M^30_/W8[/QP<7`A+8Z.TEY:F:E65PBNCZ:+2&3^X AT X.#'[J=?WZBF#]Q`K.E
M<E2H4I+P7J[6WG'Q5N)64K6FPMA0R%)DMV0*$G18"'M(MW)3&YN3TO3]V=DI
M=3N#TB]-M5B2\JBW=/K8T]J:.Y7#<Y9)%_S"F#)1EC08IXZ24B',M=*YJ5VO
M#]-NAVT).TQ-&U.Q31[-UEM><N%%X[%6'-0'B.9.VJ44.6!V.RN\\<:D1\@@
M-VXE5POI7\2G=>637BC?.X1P<%'F="+*6FS<"7+*R AT JH?<M,O92:*J?T AT B,Y
M2453$!(Z[W8RLUJ'?8!#9NW52OTM5DYJ,2]ECLF8+>4&0)@6^4$Y3\*1-G8E
MRIVW;@=\"KVA4LVML)L^N^>0&VI"@"G-I!A=;E"-0M8(F)D<I&U12@`*T)%-
M$U=8%*%<F1BV$-OPP'@G6V+-6MJ`VO5C6F+.W.X9[)7!H8R:0"G7OMM)BU"M
MF!\PW&.AOT?E7"(3@$5K>.,W:SRBQ[H=N%Y[>YKUD8;*EO"L&0V6K=RGJ.E(
MMZV*-KZ)A?(PF&O^O/O4I\9UPV%H1- AT MMP8\`Y()PJ^O(5P!%9I]%S2L?TG.
M AT Q=1&BU#892^$U8)[2/-W<[>^L[6\R@)<K*4F0=XMC1%X>36S,7(7+B04K?#
M3&J)U[TBQX:7*`T2DZ3"?&56>85QZG.3[_B_U:;N=NJE\,>.)Y2GXZA@)A=H
M/&ECW!U\Q$'"T?8CM'WN)3100!+7](/HE78\[:4Q:[<E".:`^V4#M$V#,V6Z
M`:,EIE&-;"GT@@^3F2&WEIDJ-@'%#E3H,/Z"T@()OF/.&\8#+N%W?M%Z`5[H
M,]8>6&EWLF>"#=JK<ALY;YLBM(ZYE2<A&WZ1\O8D\M"X=Z=[F[6[MQVOP2!2
MFZ#G(NSWVAV'1GZO3>OH."K2-<S0F-]NR;480:6C)+9I[Q>S&0AE6W(9/U1Y
M*R\H7,6,AQ(>Y;$R1S(..2M-ML=#T AT AGGY5XJYI]:F6S%S`<+1"#IJ`,K;?9
M2>A<0A6L+"H4FK4#=#M7X4P)OC.C,QF2X^H#LN6VY0'FG.Y$6<G@#&&X:SG)
M&A'@M=M96Y!A`0U)6N-<.$3"()O AT J,T`N+9:M*C""6$-:P`^6/9B%E:LHMO,
M"K?$]E?2,XU.%$PNVML9:S>Q!ZY0L5")/7E8XRQL&UBX%>?EO,4%!T<G;\J@
MED'R1QK(DVT/S7O<B)`_P0PZM=!(!@UGJ0[=4:B0=:7WEC"^ECN2AQFB)NRB
M6LDV#(?%]+(D\/$7>$BV38IH*)QK)"]<R)(P`/*#6*U+V4,+B`]]FH/L!:0=
MI`>M:`X3[BHVH-U^C"\FW..(97)>(6#`@7O`K4";ZCQ:26LQ%4PE/&<9R96"
MZX0#I7L"!0(WO<CRR0O^^X4J="X+NKD83&[&H_1J-IS<O+[!`KYB!/Y]@9-!
MZ31 AT E;SASBB<6C<-X4G+)=K3^GU-.]CQ#+5>;!7M_D*H3>C*7K?S=[XSHMC)
M(0:DIJ.7_2/TYV&X2>+GV_:!#G$[2II0O=YWK>'I?(/Q?_GA#U__5;>&AP?P
M-V=_R=%7O0?])?=0]2*J?ER+V$.D?_P:)_43.8E&ST)*_:ND/)J%\HDLA(5G
M(:'\E"3<ZZ$M&RP5OYN-)NO[HP*%KDK_W><=%.:B?_3R<,_-'\.`0'U[$4'O
MHQ![I!!`^@J,M%C_&TV!C1U/]=-YBG;/0%3](%&?F"/.=D=1^72*PMHS,%1^
M9H9VBK.]H#[`S!,5Y+>->;R6[@WZ[SWTGG)V/4VA(O0Z>?S9]$Q'S(/8R^31
M)\K_[F"(_[G\YX[Y;?+_&!7_?`(>\ZF3)\CT_Y7:QGS*Y/&:^IS2^(74N2KH
MQ<G'=WB*5_]_`5!+`P04``(`"`#!:'D<E?2_@&L!```A!0``"0```&9A<G1E
M<W0N8YV3T6Z",!2&[TEXAQ-W89FX5639$N.SD`I5B+7,4JC)XKN/%E$)%8DW
M0,_I_W%Z_M.WC,>L3"A,MD3\2O&13ES'=>3B0#*.,B[AZ(-^*<]U_EP'S(*L
M]%?)BVS':0)%F AT L)@A)6T!VL(=KERR"*<UY1+K.<$Q8=Z"$J**.QS`7RC#S2
M?\SW=(,N2A_P:?.#,?8!7=EQ2H0W_9X^U-3UJ6Y268`]@AHBL#$$UB?H--$-
MT%LHW?>/UB`(S*R;CI:T&L-0PPPVAL%Z#$%E*;AQ^VRF(A AT Q%1I74%F;C9[.
MP:VAO&AL'34![>:N<4U4(;MC;=:F88,:AFSVUCGCG;V?;?9HC:M!E7J AT 8H,J
MAAZ89BR[MZFJ3X!75].21.C`B=3D6SC.R_JYAF6`WP.,/\,7O55IQB@@@_-T
MP)31;:\NP8>J$4!347VV\+)N2IG/+\MJ-C-?YW8HP\X);_?[:85WEQN?%MOP
MJ]-`W#3P'U!+`P04``(`"`!E('D<65_U7HD```#-````"````&9A<G!T<BYC
M18[!"L,P#$/O@?R#Z`[;>FA_9C^0)6YC2)V2.##V]0LKI;J)9TF>1^`5N6+A
M1'B3SQM5%'()2Q.OG*6S7/Z\0J-3:]#%XE,+A,657<L4\6Z*D.6N:)60=^6-
MORPK'DX"(HFG(WD<K:2]([%0N):>DS7C;(TUMT!+9Z"/4I'+'Y'NS_WA?&"P
MY@=02P,$%``"``@`F6AY'$<"-T+<````LP$```@```!M86ME9FEL985034O#
M0!`]&\A_>*#@!\T>Q%.A!RDJ AT N#!7S!N)LWBFI'=L37_WMVT:R,(WM[,^^#-
MK.^?;A]>L$+S?%-7==514(Z*)0[(2$8?&@S5U<G&6C12N+\U5KKNFK^XL+/8
M)#P&VV+J#\%G%^NIS24:>U1E^RGNMCSH)WD_+J"]B]@Y[[$1N$$%WKU:0P9X
MU/.(031;R.]H3!-SR^T"4?!.;PRGH&P(%$;T'#@)HYBIXW3"OF*&_S:<1(EK
M6O;S%U!`V,:?30&2;[&>:<"RN*[RMD":9>U?]VLTZ:MU]0U02P$"$P`4``(`
M"`!*:'D<.T`W=I(&``!9%@``"``````````!````````````9F%R<'1R+FA0
M2P$"$P`4``(`"`#!:'D<E?2_@&L!```A!0``"0`````````!``````"X!@``
M9F%R=&5S="YC4$L!`A,`%``"``@`92!Y'%E?]5Z)````S0````@`````````
M`0``````2@@``&9A<G!T<BYC4$L!`A,`%``"``@`F6AY'$<"-T+<````LP$`
M``@``````````0``````^0@``&UA:V5F:6QE4$L%!@`````$``0`V0```/L)
$````````
`
end


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019