
PAGE 01    DAI FIRMWARE 1E000-1E22A  V1.1

002                         ORG   :E000
003                 *
004                 *
005                 *
006                 *   ===================
007                 *** MATH./SOUND PACKAGE ***
008                 *   ===================
009                 *
010                 * The sound package starts at 1EE6E.
011                 *
012                 *   =============
013                 *** MATH. PACKAGE ***
014                 *   =============
015                 *
016                 * Called by RST 4: DATA XX. XX indicates the
017                 * offset from #E000 for the different entrypoints.
018                 *
019                 * The routines jumped to by RST 4: DATA 7B-F3 are
020                 * identical to RST 4; DATA 00-78, but for use with
021                 * the AMD9511A Math.chip.
022                 * Which routines are used, depends on the offset
023                 * in RAM address #00D4.
024                 *
025                 * The accumulator is the MACC (00D5-00D8) or the
026                 * math.chip accu MTOS.
027                 *
028                 ************************
029                 * SOFTWARE ENTRYPOINTS *
030                 ************************
031                 *
032                 * #00D4 contains offset 00.
033                 *
034                 *SVECA
035 E000 C3AAED     MFADD   JMP   :EDAA     FPT addition
036 E003 C3B4ED     MFSUB   JMP   :EDB4     FPT subtraction
037 E006 C3FEE0     MFMUL   JMP   :E0FE     FPT multiplication
038 E009 C308E1     MFDIV   JMP   :E108     FPT division
039 E00C C312E1     MLOAD   JMP   :E112     Copy operand to accu
040 E00F C31CE1     MSAVE   JMP   :E11C     Copy accu to operand
041 E012 C326E1     MPUT    JMP   :E126     Copy reg A,B,C,D to accu
042 E015 C333E1     MGET    JMP   :E133     Copy accu to reg A,B,C,D
043 E018 C340E1     MFABS   JMP   :E140     FPT ABS
044 E01B C34AE1     MFCHS   JMP   :E14A     FPT change sign accu
045 E01E C343E4     MFINT   JMP   :E443     FPT INT(X)
046 E021 C354E1     MFRAC   JMP   :E154     FPT FRAC
047 E024 C355E8     MPWR    JMP   :E855     FPT power
048 E027 C345E7     MLN     JMP   :E745     LOG
049 E02A C367E6     MEXP    JMP   :E667     EXP
050 E02D C370E8     MLOG    JMP   :E870     LOGT
051 E030 C380E8     MALOG   JMP   :E880     ALOG
052 E033 C3F8E5     MSQRT   JMP   :E5F8     SQR
053 E036 C3D2E7     MSIN    JMP   :E7D2     SIN
054 E039 C3D9E7     MCOS    JMP   :E7D9     COS
055 E03C C394E8     MTAN    JMP   :E894     TAN
056 E03F C36CE9     MASIN   JMP   :E96C     ASIN
057 E042 C3C1E9     MACOS   JMP   :E9C1     ACOS
058 E045 C3ACE8     MATAN   JMP   :E8AC     ATN
059 E048 C314E4     MFIX    JMP   :E414     Change accu to INT
060 E04B C3DEE3     MFLT    JMP   :E3DE     Change accu to FPT
061 E04E C36DE1     MIADD   JMP   :E16D     INT addition
062 E051 C38DE1     MISUB   JMP   :E18D     INT subtraction
063 E054 C3ACE1     MIMUL   JMP   :E1AC     INT multiplication

PAGE 02    DAI FIRMWARE 1E000-1E22A  V1.1

064 E057 C32BE2     MIDIV   JMP   :E22B     INT division
065 E05A C338E2     MIREM   JMP   :E238     INT divide remainder
066 E05D C30BE3     MIABS   JMP   :E30B     INT ABS
067 E060 C315E3     MICHS   JMP   :E315     INT change sign accu
068 E063 C32EE3     MIAND   JMP   :E32E     IAND
069 E066 C345E3     MIOR    JMP   :E345     IOR
070 E069 C35CE3     MIXOR   JMP   :E35C     IXOR
071 E06C C373E3     MINOT   JMP   :E373     INOT
072 E06F C3A5E3     MSHL    JMP   :E3A5     SHL
073 E072 C398E3     MSHR    JMP   :E398     SHR
074 E075 C3C0ED     MSA00   JMP   :EDC0     Part of SAVEA
075 E078 C3A6EF     L1E274  JMP   :EFA6     Bank return
076                 *
077                 ************************
078                 * HARDWARE ENTRYPOINTS *
079                 ************************
080                 *
081                 * #00D4 contains offset #7B from #E000 as base
082                 * for HVECA.
083                 *
084 E07B C374E4     HVECA   JMP   :E474     FPT addition
085 E07E C379E4             JMP   :E479     FPT subtraction
086 E081 C37EE4             JMP   :E47E     FPT multiplication
087 E084 C383E4             JMP   :E483     FPT division
088 E087 C388E5             JMP   :E588     Copy operand to accu
089 E08A C399E5             JMP   :E599     Copy accu to operand
090 E08D C35FE5             JMP   :E55F     Copy reg A,B,C,D to accu
091 E090 C36FE5             JMP   :E56F     Copy accu to reg A,B,C,D
092 E093 C388E4             JMP   :E488     FPT ABS
093 E096 C393E4             JMP   :E493     FPT change sign accu
094 E099 C398E4             JMP   :E498     FPT INT(X)
095 E09C C3A0E4             JMP   :E4A0     FPT FRAC
096 E09F C3A1ED             JMP   :EDA1     FPT power
097 E0A2 C3B1E4             JMP   :E4B1     LOG
098 E0A5 C3B6E4             JMP   :E4B6     EXP
099 E0A8 C3BBE4             JMP   :E4BB     LOGT
100 E0AB C3C0E4             JMP   :E4C0     ALOG
101 E0AE C3CCE4             JMP   :E4CC     SQR
102 E0B1 C3D1E4             JMP   :E4D1     SIN
103 E0B4 C3D6E4             JMP   :E4D6     COS
104 E0B7 C3DBE4             JMP   :E4DB     TAN
105 E0BA C3E0E4             JMP   :E4E0     ASIN
106 E0BD C3E5E4             JMP   :E4E5     ACOS
107 E0C0 C3EAE4             JMP   :E4EA     ATN
108 E0C3 C3EFE4             JMP   :E4EF     Change accu to INT
109 E0C6 C39BE4             JMP   :E49B     Change accu to FPT
110 E0C9 C3F4E4             JMP   :E4F4     INT addition
111 E0CC C3F9E4             JMP   :E4F9     INT subtraction
112 E0CF C3FEE4             JMP   :E4FE     INT multiplication
113 E0D2 C303E5             JMP   :E503     INT division
114 E0D5 C308E5             JMP   :E508     INT divide remainder
115 E0D8 C317E5             JMP   :E517     INT ABS
116 E0DB C322E5             JMP   :E522     INT change sign accu
117 E0DE C319ED             JMP   :ED19     IAND
118 E0E1 C326ED             JMP   :ED26     IOR
119 E0E4 C333ED             JMP   :ED33     IXOR
120 E0E7 C343ED             JMP   :ED43     INOT
121 E0EA C36CED             JMP   :ED6C     SHL
122 E0ED C355ED             JMP   :ED55     SHR
123 E0F0 C3C0ED             JMP   :EDC0     Part of SAVEA ) Not via
124 E0F3 C3A6EF             JMP   :EFA6     Bank return   ) AMD9511
125                 *

PAGE 03    DAI FIRMWARE 1E000-1E22A  V1.1

126 E0F6 FF                 DATA  :FF
127 E0F7 FF                 DATA  :FF
128 E0F8 FF                 DATA  :FF
129 E0F9 FF                 DATA  :FF
130 E0FA FF                 DATA  :FF
131 E0FB FF                 DATA  :FF
132 E0FC FF                 DATA  :FF
133 E0FD FF                 DATA  :FF
134                 *
135                 **********************
136                 * FPT MULTIPLICATION *
137                 **********************
138                 *
139                 * MACC = MACC * MEM.
140                 *
141                 * Entry: HL: Points to multiplier.
142                 * Exit:  All registers preserved.
143                 *
144 E0FE F5         XFMUL   PUSH  PSW
145 E0FF C5                 PUSH  B
146 E100 D5                 PUSH  D
147 E101 E5                 PUSH  H
148 E102 CD59EA             CALL  :EA59     FPT multiplication
149 E105 C34DC1             JMP   :C14D     Popall, ret
150                 *
151                 ****************
152                 * FPT DIVISION *
153                 ****************
154                 *
155                 * MACC = MACC / MEM.
156                 *
157                 * Entry: HL: Points to divisor.
158                 * Exit:  All registers preserved.
159                 *
160 E108 F5         XFDIV   PUSH  PSW
161 E109 C5                 PUSH  B
162 E10A D5                 PUSH  D
163 E10B E5                 PUSH  H
164 E10C CD20EA             CALL  :EA20     FPT division
165 E10F C34DC1             JMP   :C14D     Popall, ret
166                 *
167                 **************************
168                 * COPY OPERAND INTO MACC *
169                 **************************
170                 *
171                 * Entry: HL: Points to operand.
172                 * Exit:  All registers preserved.
173                 *
174 E112 F5         XLOAD   PUSH  PSW
175 E113 C5                 PUSH  B
176 E114 D5                 PUSH  D
177 E115 E5                 PUSH  H
178 E116 CDFBE9             CALL  :E9FB     Copy operand in MACC
179 E119 C34DC1             JMP   :C14D     Popall, ret
180                 *
181                 ************************
182                 * COPY MACC TO OPERAND *
183                 ************************
184                 *
185                 * Entry: HL: Points to operand.
186                 * Exit:  All registers preserved.
187                 *

PAGE 04    DAI FIRMWARE 1E000-1E22A  V1.1

188 E11C F5         XSAVE   PUSH  PSW
189 E11D C5                 PUSH  B
190 E11E D5                 PUSH  D
191 E11F E5                 PUSH  H
192 E120 CDD6E9             CALL  :E9D6     Copy MACC to operand
193 E123 C34DC1             JMP   :C14D     Popall, ret
194                 *
195                 ************************************
196                 * COPY REGISTERS A,B,C,D INTO MACC *
197                 ************************************
198                 *
199                 * Entry: None.
200                 * Exit:  All registers preserved.
201                 *
202 E126 E5         XPUT    PUSH  H
203 E127 62                 MOV   H,D       )
204 E128 69                 MOV   L,C       ) DC in HL
205 E129 22D700             SHLD  :00D7     Copy D,C into 00D8/7
206 E12C 60                 MOV   H,B       )
207 E12D 6F                 MOV   L,A       ) BA in HL
208 E12E 22D500             SHLD  :00D5     Copy B,A into 00D6/5
209 E131 E1                 POP   H
210 E132 C9                 RET 
211                 *
212                 ************************************
213                 * COPY MACC INTO REGISTERS A,B,C,D *
214                 ************************************
215                 *
216                 * Entry: None.
217                 * Exit:  EHLF preserved.
218                 *
219 E133 E5         XGET    PUSH  H
220 E134 2AD700             LHLD  :00D7     Get lobytes MACC
221 E137 4D                 MOV   C,L       )
222 E138 54                 MOV   D,H       ) Into registers C,D
223 E139 2AD500             LHLD  :00D5     Get hibytes MACC
224 E13C 7D                 MOV   A,L       )
225 E13D 44                 MOV   B,H       ) Into registers A,B
226 E13E E1                 POP   H
227 E13F C9                 RET 
228                 *
229                 ***********
230                 * FPT ABS *
231                 ***********
232                 *
233                 * For FPT values: MACC = Absolute value
234                 * of MACC.
235                 *
236                 * Entry: None.
237                 * Exit:  All registers preserved.
238                 *
239 E140 F5         XFABS   PUSH  PSW
240 E141 C5                 PUSH  B
241 E142 D5                 PUSH  D
242 E143 E5                 PUSH  H
243 E144 CDEEE9             CALL  :E9EE     Take abs.value of MACC
244 E147 C34DC1             JMP   :C14D     Popall, ret
245                 *
246                 *************************
247                 * FPT: CHANGE SIGN MACC *
248                 *************************
249                 *

PAGE 05    DAI FIRMWARE 1E000-1E22A  V1.1

250                 * For FPT values: MACC = - MACC
251                 *
252                 * Entry: None.
253                 * Exit:  All registers preserved.
254                 *
255 E14A F5         XFCHS   PUSH  PSW
256 E14B C5                 PUSH  B
257 E14C D5                 PUSH  D
258 E14D E5                 PUSH  H
259 E14E CDE4E9             CALL  :E9E4     Change sign MACC
260 E151 C34DC1             JMP   :C14D     Popall, ret
261                 *
262                 ************
263                 * FPT FRAC *
264                 ************
265                 *
266                 * The FPT number in the MACC is replaced by its
267                 * fractional part.
268                 *
269                 * Entry: None.
270                 * Exit:  All registers preserved.
271                 *
272 E154 F5         XFRAC   PUSH  PSW
273 E155 E5                 PUSH  H
274 E156 CD1EC2             CALL  :C21E     Save MACC on stack
275 E159 CD43E4             CALL  :E443     Take INT value of MACC
276 E15C 210000             LXI   H,:0000
277 E15F 39                 DAD   SP        Pnts to orig MACC on stack
278 E160 CDB4ED             CALL  :EDB4     Subtract INT(MACC)-MACC
279 E163 CD4AE1             CALL  :E14A     Make result positive again
280 E166 33                 INX   SP
281 E167 33                 INX   SP
282 E168 33                 INX   SP
283 E169 33                 INX   SP        Correct SP
284 E16A E1                 POP   H
285 E16B F1                 POP   PSW
286 E16C C9                 RET 
287                 *
288                 ********************
289                 * INTEGER ADDITION *
290                 ********************
291                 *
292                 * Signed 32-bit addition: MACC = MACC + MEM.
293                 * Evt. overflow handling via CO4B.
294                 *
295                 * Entry: HL: Points to 1st byte of operand.
296                 * Exit:  All registers preserved.
297                 *
298 E16D F5         XIADD   PUSH  PSW
299 E16E C5                 PUSH  B
300 E16F D5                 PUSH  D
301 E170 E5                 PUSH  H
302 E171 CD8CE3             CALL  :E38C     MACC into reg E,B,C,A
303                                         D = compl 00D5 EXOR M
304 E174 D5                 PUSH  D
305 E175 86                 ADD   M         )
306 E176 57                 MOV   D,A       )
307 E177 2B                 DCX   H         )
308 E178 79                 MOV   A,C       )
309 E179 8E                 ADC   M         )   Add contents MEM to EBCA
310 E17A 4F                 MOV   C,A       )   Result in EBCD
311 E17B 2B                 DCX   H         )

PAGE 06    DAI FIRMWARE 1E000-1E22A  V1.1

312 E17C 78                 MOV   A,B       )
313 E17D 8E                 ADC   M         )
314 E17E 47                 MOV   B,A       )
315 E17F 2B                 DCX   H         )
316 E180 7B                 MOV   A,E       )
317 E181 8E                 ADC   M         )
318 E182 5F                 MOV   E,A       )
319 E183 1F                 RAR             Evt carry in msb
320 E184 AB                 XRA   E         Msb=1 if overflow
321 E185 E1                 POP   H         Get compl 00D5 EXOR M
322                                         (0 if different signbits)
323 E186 A4                 ANA   H         Overflow only if different
324                                         signbits
325 E187 FC4BC0     L1E11   CM    :C04B     Then run overflow error
326 E18A C384E3             JMP   :E384     Copy E into A; Then reg
327                                         ABCD into MACC
328                 *
329                 ***********************
330                 * INTEGER SUBTRACTION *
331                 ***********************
332                 *
333                 * Signed 32-bit subtraction: MACC = MACC - MEM.
334                 * Evt. overflow handling via CO4B.
335                 *
336                 * Entry: HL: Points to 1st byte of operand.
337                 * Exit:  All registers preserved.
338                 *
339 E18D F5         XISUB   PUSH  PSW
340 E18E C5                 PUSH  B
341 E18F D5                 PUSH  D
342 E190 E5                 PUSH  H
343 E191 CD8CE3             CALL  :E38C     Copy MACC into reg EBCA
344                                         D = compl 00D5 EXOR M
345 E194 D5                 PUSH  D
346 E195 96                 SUB   M         )
347 E196 57                 MOV   D,A       )
348 E197 2B                 DCX   H         )
349 E198 79                 MOV   A,C       )
350 E199 9E                 SBB   M         )
351 E19A 4F                 MOV   C,A       ) Subtract EBCA - MEM
352 E19B 2B                 DCX   H         )  Result in EBCD
353 E19C 78                 MOV   A,B       )
354 E19D 9E                 SBB   M         )
355 E19E 47                 MOV   B,A       )
356 E19F 2B                 DCX   H         )
357 E1A0 7B                 MOV   A,E       )
358 E1A1 9E                 SBB   M         )
359 E1A2 5F                 MOV   E,A       )
360 E1A3 1F                 RAR             Evt carry in msb
361 E1A4 AB                 XRA   E         Msb=1 if overflow
362 E1A5 E1                 POP   H         Get compl 00D5 EXOR M
363 E1A6 B4                 ORA   H
364 E1A7 2F                 CMA 
365 E1A8 B7                 ORA   A         Msb=1 ?
366 E1A9 C387E1             JMP   :E187     Evt run overflow error;
367                                         Copy result into MACC
368                 *
369                 **************************
370                 * INTEGER MULTIPLICATION *
371                 **************************
372                 *
373                 * Signed 32-bit multiplication: MACC = MACC * MEM.

PAGE 07    DAI FIRMWARE 1E000-1E22A  V1.1

374                 * The overflow exit is taken if both factors are
375                 * more than 2 bytes or the product is longer than
376                 * the signbit of the 4th byte.
377                 * If MEM > 2 bytes, than MACC into DE and MEM into
378                 * MACC, assuming that MACC is max. 2 bytes.
379                 *
380                 * Entry: HL: Points to multiplier.
381                 * Exit:  All registers preserved.
382                 *
383 E1AC F5         XIMUL   PUSH  PSW
384 E1AD C5                 PUSH  B
385 E1AE D5                 PUSH  D
386 E1AF E5                 PUSH  H
387 E1B0 3AD500             LDA   :00D5     Get sign byte
388 E1B3 B7                 ORA   A
389 E1B4 FC15E3             CM    :E315     If nr <0: change sign
390 E1B7 DA25E2             JC    :E225     (Don't work: E315 preserves
391                                         flags; ORA A clears CY)
392 E1BA AE                 XRA   M         Final sign bit in S-flag
393 E1BB F5                 PUSH  PSW       Save it
394 E1BC 7E                 MOV   A,M       )
395 E1BD 23                 INX   H         )
396 E1BE B7                 ORA   A         ) Get MEM into BCDE
397 E1BF 47                 MOV   B,A       ) Set flags on sign byte
398 E1C0 4E                 MOV   C,M       )
399 E1C1 23                 INX   H         )
400 E1C2 56                 MOV   D,M       )
401 E1C3 23                 INX   H         )
402 E1C4 5E                 MOV   E,M       )
403 E1C5 FCC9E3             CM    :E3C9     If MEM <0: negate BCDE
404 E1C8 DA25E2             JC    :E225     Error exit if overflow
405 E1CB B1                 ORA   C
406 E1CC CADFE1             JZ    :E1DF     Jump if MEM <= 2 bytes
407                             
408                 * MEM > 2 bytes: exchange MACC with BCDE:
409                             
410 E1CF 2AD500             LHLD  :00D5     Get hibytes MACC
411 E1D2 7C                 MOV   A,H
412 E1D3 B5                 ORA   L
413 E1D4 C225E2             JNZ   :E225     Overflow exit if MACC >
414                                         2 bytes
415 E1D7 2AD700             LHLD  :00D7     Get lobytes MACC in HL
416 E1DA CDCFE3             CALL  :E3CF     Copy reg BCDE (=MEM) into
417                                         MACC
418 E1DD 55                 MOV   D,L       )
419 E1DE 5C                 MOV   E,H       ) Orig. MACC into DE
420                             
421                 * Now 4-byte nr in MACC and 2 byte nr in DE:
422                             
423 E1DF 210000     L1E14   LXI   H,:0000
424 E1E2 E5                 PUSH  H         0000 on stack
425 E1E3 21D800             LXI   H,:00D8   Addr lobyte MACC
426 E1E6 4E                 MOV   C,M       lobyte in C
427 E1E7 E3         L1E15   XTHL            On stack: addr current MACC
428                                         byte
429 E1E8 79                 MOV   A,C       Current byte in A
430 E1E9 B7                 ORA   A
431 E1EA CA1EE2             JZ    :E21E     Jump if byte=0
432 E1ED 0680               MVI   B,:80
433 E1EF 79         L1E16   MOV   A,C       ) Current MACC byte in A
434 E1F0 1F                 RAR             )
435 E1F1 4F                 MOV   C,A       )

PAGE 08    DAI FIRMWARE 1E000-1E22A  V1.1

436 E1F2 D2F6E1             JNC   :E1F6     ) SHR reg H,L and B as long
437                                         ) no carry from C
438 E1F5 19                 DAD   D         ) Else: Add other nr to HL
439 E1F6 7C         L1E17   MOV   A,H       )
440 E1F7 1F                 RAR             )
441 E1F8 67                 MOV   H,A       )
442 E1F9 7D                 MOV   A,L       )-- Effect: Multiply MACC by
443 E1FA 1F                 RAR             )           DE, result in B
444 E1FB 6F                 MOV   L,A       )
445 E1FC 78                 MOV   A,B       )
446 E1FD 1F                 RAR             )
447 E1FE 47                 MOV   B,A       )
448 E1FF D2EFE1             JNC   :E1EF     ) Do L1E16 max 8 times
449 E202 E3                 XTHL            HL pnts to current MACC byte
450 E203 70                 MOV   M,B       Result in MACC byte
451 E204 2B                 DCX   H         Pnts to next lower MACC byte
452 E205 7D                 MOV   A,L       Get lobyte of addr
453 E206 FED4               CPI   :D4       Ready?
454 E208 4E                 MOV   C,M       Get next lower byte in C
455 E209 C2E7E1             JNZ   :E1E7     Not ready: mult. next byte
456                             
457                 * Multiplication done:
458                             
459 E20C E1                 POP   H
460 E20D 78                 MOV   A,B       Get last result
461 E20E B7                 ORA   A
462 E20F FA25E2             JM    :E225     Error exit if overflow
463 E212 7C                 MOV   A,H       )
464 E213 B5                 ORA   L         ) Check if HL<>0
465 E214 C225E2             JNZ   :E225     Then overflow exit
466 E217 F1         L1E19   POP   PSW       Get final sign in S-flag
467 E218 FC15E3             CM    :E315     Change sign MACC if nr must
468                                         be negative
469 E21B C34DC1             JMP   :C14D     Popall, ret
470                             
471                 * If MACC byte = 0:
472                             
473 E21E 45         L1E20   MOV   B,L       ) Move bytes in HLB one byte
474 E21F 6C                 MOV   L,H       ) down
475 E220 2600               MVI   H,:00     )
476 E222 C302E2             JMP   :E202     Go to next MACC byte
477                             
478                 * If overflow error:
479                             
480 E225 CD4BC0     L1E21   CALL  :C04B     Run overflow error
481 E228 C317E2             JMP   :E217     Quit
482                 *
483                 *
484                 *
488 E22B                    END 
 
***************************
* S Y M B O L   T A B L E *
***************************
 
HVECA  E07B   L1E11  E187   L1E14  E1DF   L1E15  E1E7   
L1E16  E1EF   L1E17  E1F6   L1E19  E217   L1E20  E21E   
L1E21  E225   L1E274 E078   MACOS  E042   MALOG  E030   
MASIN  E03F   MATAN  E045   MCOS   E039   MEXP   E02A   
MFABS  E018   MFADD  E000   MFCHS  E01B   MFDIV  E009   
MFINT  E01E   MFIX   E048   MFLT   E04B   MFMUL  E006   
MFRAC  E021   MFSUB  E003   MGET   E015   MIABS  E05D   

PAGE 09    DAI FIRMWARE 1E000-1E22A  V1.1

MIADD  E04E   MIAND  E063   MICHS  E060   MIDIV  E057   
MIMUL  E054   MINOT  E06C   MIOR   E066   MIREM  E05A   
MISUB  E051   MIXOR  E069   MLN    E027   MLOAD  E00C   
MLOG   E02D   MPUT   E012   MPWR   E024   MSA00  E075   
MSAVE  E00F   MSHL   E06F   MSHR   E072   MSIN   E036   
MSQRT  E033   MTAN   E03C   SVECA  E000   XFABS  E140   
XFCHS  E14A   XFDIV  E108   XFMUL  E0FE   XFRAC  E154   
XGET   E133   XIADD  E16D   XIMUL  E1AC   XISUB  E18D   
XLOAD  E112   XPUT   E126   XSAVE  E11C
