Subversion Repositories Kolibri OS

Rev

Rev 485 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 485 Rev 552
Line 789... Line 789...
789
    mov  ebx,dword [bmp_load_area+22]
789
    mov  ebx,dword [bmp_load_area+22]
790
    mov  dword [img_dest_area],eax
790
    mov  dword [img_dest_area],eax
791
    mov  dword [img_dest_area+4],ebx
791
    mov  dword [img_dest_area+4],ebx
792
}
792
}
Line -... Line 793...
-
 
793
 
793
 
794
if used ReadGIF
794
; For convert RGB to BGR
795
; For convert RGB to BGR
-
 
796
COLOR_ORDER equ MENUETOS
-
 
797
include 'gif_lite.inc'
Line 795... Line 798...
795
COLOR_ORDER equ MENUETOS
798
end if
796
 
799
 
797
macro giftoani gifsrc,imgsrc,num_of_frames
-
 
798
{
800
macro giftoani gifsrc,imgsrc,num_of_frames
799
local hasharea, ReadGIF, nextblock,_null
-
 
800
local globalColor, img_count, cur_info, img_start
-
 
801
local codesize, compsize, bit_count, CC, EOI, Palette
-
 
802
local block_ofs, table_ptr, gifmacend
-
 
803
local no_gc, block_skip, no_comm, noextblock, uselocal
-
 
804
local setPal, filltable, reinit, cycle, zadd, noinc
-
 
805
local notintable, er, zend, nxt, continue, ex, Gif_skipmap
-
 
806
local Gif_get_sym, shift, nextbl, noblock, loop1, exx
-
 
807
local Gif_output, next, loop2
-
 
808
 
-
 
809
_null = 0x1000 ; 0x1000
-
 
810
 
801
{
811
;    jmp sss
-
 
812
;    if defined gif_hash_offset
-
 
813
;    else
802
gif_img_count = num_of_frames
814
;    hasharea:
-
 
815
;    times 4096 dd 0 ;4096
-
 
816
;    end if
-
 
817
;sss:
-
 
818
 
-
 
819
    mov  esi,gifsrc	      ;“ª § â¥«ì ­  ƒˆ” ä ¨« ¢ ¯ ¬ïâ¨
-
 
820
    mov  edi,imgsrc	      ;“ª § â¥«ì ­  ᯨ᮪ ª à⨭®ª
-
 
821
 
-
 
822
    if defined gif_hash_offset
-
 
823
    mov  eax,gif_hash_offset	; ¡®ç ï ®¡« áâì ¬¨­¨¬ã¬ 4096*4 ¡ ©â
-
 
824
    else
-
 
825
    mov  eax,hasharea	      ; ¡®ç ï ®¡« áâì ¬¨­¨¬ã¬ 4096*4 ¡ ©â
-
 
826
    end if
803
        mov     esi, gifsrc
827
 
-
 
828
    call ReadGIF
-
 
829
    push ecx
-
 
830
    pop  dword num_of_frames
-
 
831
    jmp  gifmacend
-
 
832
 
-
 
833
    if defined gif_hash_offset
-
 
834
    else
-
 
835
    hasharea:
-
 
836
    times 4096 dd 0 ;4096
-
 
837
    end if
-
 
838
 
-
 
839
ReadGIF:
-
 
840
    push esi edi
-
 
841
    mov  [table_ptr],eax
-
 
842
    mov  [cur_info],edi
-
 
843
    xor  eax,eax
-
 
844
    mov  [globalColor],eax
-
 
845
    mov  [img_count],eax
-
 
846
    inc  eax
-
 
847
    cmp  dword[esi],'GIF8'
-
 
848
    jne  er	       ; signature
-
 
849
    mov  ecx,[esi+0xa]
-
 
850
    inc  eax
-
 
851
    add  esi,0xd
-
 
852
    mov  edi,esi
-
 
853
    bt	 ecx,7
-
 
854
    jnc  nextblock
-
 
855
    mov  [globalColor],esi
-
 
856
    call Gif_skipmap
-
 
857
nextblock:
-
 
858
    cmp  byte[edi],0x21
-
 
859
    jne  noextblock
-
 
860
    inc  edi
-
 
861
    cmp  byte[edi],0xf9 ; Graphic Control Ext
-
 
862
    jne  no_gc
-
 
863
    add  edi,7
-
 
864
    jmp  nextblock
-
 
865
no_gc:
-
 
866
    cmp  byte[edi],0xfe ; Comment Ext
-
 
867
    jne  no_comm
-
 
868
    inc  edi
-
 
869
block_skip:
-
 
870
    movzx eax,byte[edi]
-
 
871
    lea  edi,[edi+eax+1]
-
 
872
    cmp  byte[edi],0
-
 
873
    jnz  block_skip
-
 
874
    inc  edi
-
 
875
    jmp  nextblock
-
 
876
no_comm:
-
 
877
    cmp  byte[edi],0xff ; Application Ext
-
 
878
    jne  nextblock
-
 
879
    add  edi,13
-
 
880
    jmp  block_skip
-
 
881
noextblock:
-
 
882
    cmp  byte[edi],0x2c    ; image beginning
-
 
883
    jne  er
-
 
884
    inc  [img_count]
-
 
885
    inc  edi
-
 
886
    mov  esi,[cur_info]
-
 
887
    xchg esi,edi
-
 
888
    movsd
-
 
889
    movsd
-
 
890
 
-
 
891
    push edi
-
 
892
    movzx ecx,word[esi]
-
 
893
    inc  esi
-
 
894
    bt	 ecx,7
-
 
895
    jc	 uselocal
-
 
896
    push [globalColor]
-
 
897
    mov  edi,esi
-
 
898
    jmp  setPal
-
 
899
uselocal:
-
 
900
    call Gif_skipmap
-
 
901
    push esi
-
 
902
setPal:
-
 
903
    movzx ecx,byte[edi]
-
 
904
    inc  ecx
-
 
905
    mov  [codesize],ecx
-
 
906
    dec  ecx
-
 
907
    pop  [Palette]
-
 
908
    lea  esi,[edi+1]
-
 
909
    mov  edi,[table_ptr]
-
 
910
    xor  eax,eax
-
 
911
    cld
-
 
912
    lodsb		; eax - block_count
-
 
913
    add  eax,esi
-
 
914
    mov  [block_ofs],eax
-
 
915
    mov  [bit_count],8
-
 
916
    mov  eax,1
-
 
917
    shl  eax,cl
-
 
918
    mov  [CC],eax
-
 
919
    inc  eax
-
 
920
    mov  [EOI],eax
-
 
921
    lea  ecx,[eax-1]
-
 
922
    mov  eax, _null shl 16
-
 
923
filltable:
-
 
924
    stosd
-
 
925
    inc  eax
-
 
926
    loop filltable
-
 
927
    pop  edi
-
 
928
    mov  [img_start],edi
-
 
929
reinit:
-
 
930
    mov  edx,[EOI]
-
 
931
    inc  edx
-
 
932
    push [codesize]
-
 
933
    pop  [compsize]
-
 
934
    call Gif_get_sym
-
 
935
    cmp  eax,[CC]
-
 
936
    je	 reinit
-
 
937
    call Gif_output
-
 
938
cycle:
-
 
939
    movzx ebx,ax
-
 
940
    call Gif_get_sym
-
 
941
    cmp  eax,edx
-
 
942
    jae  notintable
-
 
943
    cmp  eax,[CC]
-
 
944
    je	 reinit
-
 
945
    cmp  eax,[EOI]
-
 
946
    je	 zend
-
 
947
    call Gif_output
-
 
948
zadd:
-
 
949
    push eax
-
 
950
    mov  eax,[table_ptr]
-
 
951
    mov  [eax+edx*4],ebx
-
 
952
    pop  eax
-
 
953
    cmp  edx,0xFFF
-
 
954
    jae  cycle
-
 
955
    inc  edx
-
 
956
    bsr  ebx,edx
-
 
957
    cmp  ebx,[compsize]
-
 
958
    jne  noinc
-
 
959
    inc  [compsize]
-
 
960
noinc:
-
 
961
    jmp  cycle
-
 
962
notintable:
-
 
963
    push eax
-
 
964
    mov  eax,ebx
-
 
965
    call Gif_output
-
 
966
    push ebx
-
 
967
    movzx eax,bx
-
 
968
    call Gif_output
-
 
969
    pop  ebx eax
-
 
970
    jmp  zadd
-
 
971
er:
-
 
972
    pop  edi
-
 
973
    jmp  ex
-
 
974
zend:
-
 
975
;    mov  eax,[.cur_info]    ; skip offset to next frame
-
 
976
;    mov  [eax],edi
-
 
977
    mov  [cur_info],edi
-
 
978
    add  esi,2
-
 
979
    xchg esi,edi
-
 
980
nxt:
-
 
981
    cmp  byte[edi],0
-
 
982
    jnz  continue
-
 
983
    inc  edi
-
 
984
    jmp  nxt
-
 
985
continue:
-
 
986
    cmp  byte[edi],0x3b    ;read next frame
-
 
987
    jne  nextblock
-
 
988
    xor  eax,eax
-
 
989
    stosd
-
 
990
    mov  ecx,[img_count]
-
 
991
ex:
-
 
992
    pop  edi esi
-
 
993
    ret
-
 
994
 
-
 
995
Gif_skipmap:
-
 
996
; in: ecx - image descriptor, esi - pointer to colormap
-
 
997
; out: edi - pointer to area after colormap
-
 
998
 
-
 
999
    and  ecx,111b
-
 
1000
    inc  ecx		; color map size
-
 
1001
    mov  ebx,1
-
 
1002
    shl  ebx,cl
-
 
1003
    lea  ebx,[ebx*2+ebx]
-
 
1004
    lea  edi,[esi+ebx]
-
 
1005
    ret
-
 
1006
 
-
 
1007
Gif_get_sym:
-
 
1008
    mov  ecx,[compsize]
-
 
1009
    push ecx
-
 
1010
    xor  eax,eax
-
 
1011
shift:
-
 
1012
    ror  byte[esi],1
-
 
1013
    rcr  eax,1
-
 
1014
    dec  [bit_count]
-
 
1015
    jnz  loop1
-
 
1016
    inc  esi
-
 
1017
    cmp  esi,[block_ofs]
-
 
1018
    jb	 noblock
-
 
1019
    push eax
-
 
1020
    xor  eax,eax
-
 
1021
    lodsb
-
 
1022
    test eax,eax
-
 
1023
    jnz  nextbl
-
 
1024
    mov  eax,[EOI]
-
 
1025
    sub  esi,2
-
 
1026
    add  esp,8
-
 
1027
    jmp  exx
-
 
1028
nextbl:
-
 
1029
    add  eax,esi
-
 
1030
    mov  [block_ofs],eax
-
 
1031
    pop  eax
-
 
1032
noblock:
-
 
1033
    mov  [bit_count],8
-
 
1034
loop1:
-
 
1035
    loop shift
-
 
1036
    pop  ecx
-
 
1037
    rol  eax,cl
-
 
1038
exx:
-
 
1039
    xor  ecx,ecx
-
 
1040
    ret
-
 
1041
 
-
 
1042
Gif_output:
-
 
1043
    push esi eax edx
-
 
1044
    mov  edx,[table_ptr]
-
 
1045
next:
-
 
1046
    push word[edx+eax*4]
-
 
1047
    mov  ax,word[edx+eax*4+2]
-
 
1048
    inc  ecx
-
 
1049
    cmp  ax,_null
-
 
1050
    jnz  next
-
 
1051
    shl  ebx,16
-
 
1052
    mov  bx,[esp]
-
 
1053
loop2:
-
 
1054
    pop  ax
-
 
1055
 
-
 
1056
    lea  esi,[eax+eax*2]
-
 
1057
    add  esi,[Palette]
-
 
1058
 
-
 
1059
    if COLOR_ORDER eq MENUETOS
-
 
1060
	mov  esi,[esi]
-
 
1061
	bswap esi
-
 
1062
	shr  esi,8
-
 
1063
	mov  [edi],esi
-
 
1064
	add  edi,3
-
 
1065
    else
-
 
1066
	movsw
-
 
1067
	movsb
-
 
1068
    end if
-
 
1069
 
-
 
1070
    loop loop2
-
 
1071
    pop  edx eax esi
-
 
1072
    ret
-
 
1073
 
-
 
1074
    globalColor dd 1
-
 
1075
    img_count dd 1
-
 
1076
    cur_info dd 1	 ; image table pointer
-
 
1077
    img_start dd 1
-
 
1078
    codesize dd 1
-
 
1079
    compsize dd 1
-
 
1080
    bit_count dd 1
-
 
1081
    CC dd 1
-
 
1082
    EOI dd 1
-
 
1083
    Palette dd 1
-
 
1084
    block_ofs dd 1
-
 
1085
    table_ptr dd 1
-
 
1086
 
804
        mov     edi, imgsrc
Line 1087... Line -...
1087
gifmacend:
-
 
1088
}
-
 
1089
 
805
        call    ReadGIF
1090
 
806
}
1091
 
-
 
1092
macro giftoimg gifsrc,imgsrc
-
 
1093
{
-
 
1094
local hasharea, ReadGIF, nextblock,_null
-
 
1095
local globalColor, img_count, cur_info, img_start
-
 
1096
local codesize, compsize, bit_count, CC, EOI, Palette
-
 
1097
local block_ofs, table_ptr, gifmacend
-
 
1098
local no_gc, block_skip, no_comm, noextblock, uselocal
-
 
1099
local setPal, filltable, reinit, cycle, zadd, noinc
-
 
1100
local notintable, er, zend, nxt, continue, ex, Gif_skipmap
-
 
1101
local Gif_get_sym, shift, nextbl, noblock, loop1, exx
-
 
1102
local Gif_output, next, loop2
-
 
1103
 
-
 
1104
_null = 0x1000 ; 0x1000
-
 
1105
 
-
 
1106
    mov  esi,gifsrc	      ;“ª § â¥«ì ­  ƒˆ” ä ¨« ¢ ¯ ¬ïâ¨
807
 
1107
    mov  edi,imgsrc	      ;“ª § â¥«ì ­  ᯨ᮪ ª à⨭®ª
808
macro giftoimg gifsrc,imgsrc
1108
 
-
 
1109
    if defined gif_hash_offset
-
 
1110
    mov  eax,gif_hash_offset	; ¡®ç ï ®¡« áâì ¬¨­¨¬ã¬ 4096*4 ¡ ©â
809
{
1111
    else
-
 
-
 
810
if defined gif_img_count
-
 
811
error 'giftoimg cannot be used in GIF multiple images mode. Use giftoani instead.'
1112
    mov  eax,hasharea	      ; ¡®ç ï ®¡« áâì ¬¨­¨¬ã¬ 4096*4 ¡ ©â
812
end if
1113
    end if
-
 
1114
 
-
 
1115
    call ReadGIF
-
 
1116
    jmp  gifmacend
-
 
1117
 
-
 
1118
    if defined gif_hash_offset
-
 
1119
    else
-
 
1120
    hasharea:
-
 
1121
    times 4096 dd 0 ;4096
-
 
1122
    end if
-
 
1123
 
-
 
1124
ReadGIF:
-
 
1125
    push esi edi
-
 
1126
    mov  [table_ptr],eax
-
 
1127
    mov  [cur_info],edi
-
 
1128
    xor  eax,eax
-
 
1129
    mov  [globalColor],eax
-
 
1130
    mov  [img_count],eax
-
 
1131
    inc  eax
-
 
1132
    cmp  dword[esi],'GIF8'
-
 
1133
    jne  er	       ; signature
-
 
1134
    mov  ecx,[esi+0xa]
-
 
1135
    inc  eax
-
 
1136
    add  esi,0xd
-
 
1137
    mov  edi,esi
-
 
1138
    bt	 ecx,7
-
 
1139
    jnc  nextblock
-
 
1140
    mov  [globalColor],esi
-
 
1141
    call Gif_skipmap
-
 
1142
nextblock:
-
 
1143
    cmp  byte[edi],0x21
-
 
1144
    jne  noextblock
-
 
1145
    inc  edi
-
 
1146
    cmp  byte[edi],0xf9 ; Graphic Control Ext
-
 
1147
    jne  no_gc
-
 
1148
    add  edi,7
-
 
1149
    jmp  nextblock
-
 
1150
no_gc:
-
 
1151
    cmp  byte[edi],0xfe ; Comment Ext
-
 
1152
    jne  no_comm
-
 
1153
    inc  edi
-
 
1154
block_skip:
-
 
1155
    movzx eax,byte[edi]
-
 
1156
    lea  edi,[edi+eax+1]
-
 
1157
    cmp  byte[edi],0
-
 
1158
    jnz  block_skip
-
 
1159
    inc  edi
-
 
1160
    jmp  nextblock
-
 
1161
no_comm:
-
 
1162
    cmp  byte[edi],0xff ; Application Ext
-
 
1163
    jne  nextblock
-
 
1164
    add  edi,13
-
 
1165
    jmp  block_skip
-
 
1166
noextblock:
-
 
1167
    cmp  byte[edi],0x2c    ; image beginning
-
 
1168
    jne  er
-
 
1169
    inc  [img_count]
-
 
1170
    inc  edi
-
 
1171
    mov  esi,[cur_info]
-
 
1172
    xchg esi,edi
-
 
1173
;    movsd
-
 
1174
;    movsd
-
 
1175
 
-
 
1176
    mov   bp,word[esi+4]
-
 
1177
    movzx ebx,bp
-
 
1178
    mov   [edi],ebx
-
 
1179
 
-
 
1180
    mov   bp,word[esi+6]
-
 
1181
    movzx ebx,bp
-
 
1182
    mov   [edi+4],ebx
-
 
1183
 
-
 
1184
    add edi,8
-
 
1185
    add esi,8
-
 
1186
 
-
 
1187
    push edi
-
 
1188
    movzx ecx,word[esi]
-
 
1189
    inc  esi
-
 
1190
    bt	 ecx,7
-
 
1191
    jc	 uselocal
-
 
1192
    push [globalColor]
-
 
1193
    mov  edi,esi
-
 
1194
    jmp  setPal
-
 
1195
uselocal:
-
 
1196
    call Gif_skipmap
-
 
1197
    push esi
-
 
1198
setPal:
-
 
1199
    movzx ecx,byte[edi]
-
 
1200
    inc  ecx
-
 
1201
    mov  [codesize],ecx
-
 
1202
    dec  ecx
-
 
1203
    pop  [Palette]
-
 
1204
    lea  esi,[edi+1]
-
 
1205
    mov  edi,[table_ptr]
-
 
1206
    xor  eax,eax
-
 
1207
    cld
-
 
1208
    lodsb		; eax - block_count
-
 
1209
    add  eax,esi
-
 
1210
    mov  [block_ofs],eax
-
 
1211
    mov  [bit_count],8
-
 
1212
    mov  eax,1
-
 
1213
    shl  eax,cl
-
 
1214
    mov  [CC],eax
-
 
1215
    inc  eax
-
 
1216
    mov  [EOI],eax
-
 
1217
    lea  ecx,[eax-1]
-
 
1218
    mov  eax, _null shl 16
-
 
1219
filltable:
-
 
1220
    stosd
-
 
1221
    inc  eax
-
 
1222
    loop filltable
-
 
1223
    pop  edi
-
 
1224
    mov  [img_start],edi
-
 
1225
reinit:
-
 
1226
    mov  edx,[EOI]
-
 
1227
    inc  edx
-
 
1228
    push [codesize]
-
 
1229
    pop  [compsize]
-
 
1230
    call Gif_get_sym
-
 
1231
    cmp  eax,[CC]
-
 
1232
    je	 reinit
-
 
1233
    call Gif_output
-
 
1234
cycle:
-
 
1235
    movzx ebx,ax
-
 
1236
    call Gif_get_sym
-
 
1237
    cmp  eax,edx
-
 
1238
    jae  notintable
-
 
1239
    cmp  eax,[CC]
-
 
1240
    je	 reinit
-
 
1241
    cmp  eax,[EOI]
-
 
1242
    je	 zend
-
 
1243
    call Gif_output
-
 
1244
zadd:
-
 
1245
    push eax
-
 
1246
    mov  eax,[table_ptr]
-
 
1247
    mov  [eax+edx*4],ebx
-
 
1248
    pop  eax
-
 
1249
    cmp  edx,0xFFF
-
 
1250
    jae  cycle
-
 
1251
    inc  edx
-
 
1252
    bsr  ebx,edx
-
 
1253
    cmp  ebx,[compsize]
-
 
1254
    jne  noinc
-
 
1255
    inc  [compsize]
-
 
1256
noinc:
-
 
1257
    jmp  cycle
-
 
1258
notintable:
-
 
1259
    push eax
-
 
1260
    mov  eax,ebx
-
 
1261
    call Gif_output
-
 
1262
    push ebx
-
 
1263
    movzx eax,bx
-
 
1264
    call Gif_output
-
 
1265
    pop  ebx eax
-
 
1266
    jmp  zadd
-
 
1267
er:
-
 
1268
    pop  edi
-
 
1269
    jmp  ex
-
 
1270
zend:
-
 
1271
;    mov  eax,[.cur_info]    ; skip offset to next frame
-
 
1272
;    mov  [eax],edi
-
 
1273
    mov  [cur_info],edi
-
 
1274
    add  esi,2
-
 
1275
    xchg esi,edi
-
 
1276
nxt:
-
 
1277
    cmp  byte[edi],0
-
 
1278
    jnz  continue
-
 
1279
    inc  edi
-
 
1280
    jmp  nxt
-
 
1281
continue:
-
 
1282
;    cmp  byte[edi],0x3b    ;read next frame
-
 
1283
;    jne  nextblock
-
 
1284
    xor  eax,eax
-
 
1285
    stosd
-
 
1286
    mov  ecx,[img_count]
-
 
1287
ex:
-
 
1288
    pop  edi esi
-
 
1289
    ret
-
 
1290
 
-
 
1291
Gif_skipmap:
-
 
1292
; in: ecx - image descriptor, esi - pointer to colormap
-
 
1293
; out: edi - pointer to area after colormap
-
 
1294
    and  ecx,111b
-
 
1295
    inc  ecx		; color map size
-
 
1296
    mov  ebx,1
-
 
1297
    shl  ebx,cl
-
 
1298
    lea  ebx,[ebx*2+ebx]
-
 
1299
    lea  edi,[esi+ebx]
-
 
1300
    ret
-
 
1301
 
-
 
1302
Gif_get_sym:
-
 
1303
    mov  ecx,[compsize]
-
 
1304
    push ecx
-
 
1305
    xor  eax,eax
-
 
1306
shift:
-
 
1307
    ror  byte[esi],1
-
 
1308
    rcr  eax,1
-
 
1309
    dec  [bit_count]
-
 
1310
    jnz  loop1
-
 
1311
    inc  esi
-
 
1312
    cmp  esi,[block_ofs]
-
 
1313
    jb	 noblock
-
 
1314
    push eax
-
 
1315
    xor  eax,eax
-
 
1316
    lodsb
-
 
1317
    test eax,eax
-
 
1318
    jnz  nextbl
-
 
1319
    mov  eax,[EOI]
-
 
1320
    sub  esi,2
-
 
1321
    add  esp,8
-
 
1322
    jmp  exx
-
 
1323
nextbl:
-
 
1324
    add  eax,esi
-
 
1325
    mov  [block_ofs],eax
-
 
1326
    pop  eax
-
 
1327
noblock:
-
 
1328
    mov  [bit_count],8
-
 
1329
loop1:
-
 
1330
    loop shift
-
 
1331
    pop  ecx
-
 
1332
    rol  eax,cl
-
 
1333
exx:
-
 
1334
    xor  ecx,ecx
-
 
1335
    ret
-
 
1336
 
-
 
1337
Gif_output:
-
 
1338
    push esi eax edx
-
 
1339
    mov  edx,[table_ptr]
-
 
1340
next:
-
 
1341
    push word[edx+eax*4]
-
 
1342
    mov  ax,word[edx+eax*4+2]
-
 
1343
    inc  ecx
-
 
1344
    cmp  ax,_null
-
 
1345
    jnz  next
-
 
1346
    shl  ebx,16
-
 
1347
    mov  bx,[esp]
-
 
1348
loop2:
-
 
1349
    pop  ax
-
 
1350
 
-
 
1351
    lea  esi,[eax+eax*2]
-
 
1352
    add  esi,[Palette]
-
 
1353
 
-
 
1354
    if COLOR_ORDER eq MENUETOS
-
 
1355
	mov  esi,[esi]
-
 
1356
	bswap esi
-
 
1357
	shr  esi,8
-
 
1358
	mov  [edi],esi
-
 
1359
	add  edi,3
-
 
1360
    else
-
 
1361
	movsw
-
 
1362
	movsb
-
 
1363
    end if
-
 
1364
 
-
 
1365
    loop loop2
-
 
1366
    pop  edx eax esi
-
 
1367
    ret
-
 
1368
 
-
 
1369
    globalColor dd 1
-
 
1370
    img_count dd 1
-
 
1371
    cur_info dd 1	 ; image table pointer
-
 
1372
    img_start dd 1
-
 
1373
    codesize dd 1
-
 
1374
    compsize dd 1
-
 
1375
    bit_count dd 1
-
 
1376
    CC dd 1
-
 
1377
    EOI dd 1
-
 
1378
    Palette dd 1
-
 
1379
    block_ofs dd 1
-
 
1380
    table_ptr dd 1
813
        mov     esi, gifsrc
1381
 
-