PAGE 01 DAI FIRMWARE 1EA0E-1EBFF V1.1 002 ORG :EA0E 003 * 004 * 005 * 006 *************************************** 007 * COPY OPERAND INTO REGISTERS B,C,D,E * 008 *************************************** 009 * 010 * Entry: HL points to operand. 011 * Exit: HL points to last byte of operand. 012 * AF preserved. 013 * 014 EA0E 46 L1E159 MOV B,M 015 EA0F 23 INX H 016 EA10 4E MOV C,M 017 EA11 23 INX H 018 EA12 56 MOV D,M 019 EA13 23 INX H 020 EA14 5E MOV E,M 021 EA15 C9 RET 022 * 023 ************************************ 024 * CLEAR MACC AND REGISTERS A,B,C,D * 025 ************************************ 026 * 027 EA16 21D500 AZERO LXI H,:00D5 Addr MACC 028 EA19 AF XRA A ) 029 EA1A 47 MOV B,A ) Clear ABCD 030 EA1B 4F MOV C,A ) 031 EA1C 57 MOV D,A ) 032 EA1D C3DBE9 JMP :E9DB Clear MACC 033 * 034 ************************* 035 * FPT DIVIDE SUBROUTINE * 036 ************************* 037 * 038 * MACC = MACC / MEM. Rounded quotient in MACC 039 * and registers ABCD, exponent in E. 040 * 041 * Entry: HL points to operand. 042 * Exit: CY=1: Overflow, result invalid. 043 * CY=0: Result in ABCD, EHL corrupted. 044 * 045 EA20 CDF4EB ADIV CALL :EBF4 Test if MEM=0; exp byte in A 046 EA23 CA54EA JZ :EA54 Then run divide by 0 error 047 EA26 F5 PUSH PSW Save exp MEM 048 EA27 E680 ANI :80 Sign bit only 049 EA29 47 MOV B,A Preserve sign 050 EA2A F1 POP PSW Get exp MEM 051 EA2B E67F ANI :7F Skip sign bit 052 EA2D 2F CMA ) 2-compl of exponent 053 EA2E 3C INR A ) 054 EA2F FEC0 CPI :C0 Overflow in sign bit ? 055 EA31 CA46EA JZ :EA46 Then run overflow error 056 EA34 E67F ANI :7F Only compl. exp MEM 057 EA36 B0 ORA B Add sign 058 EA37 CD1DEB CALL :EB1D Subtract exponents 059 EA3A DA4BEA JC :EA4B Evt. run overflow error 060 EA3D CA16EA JZ :EA16 If zero result: clear MACC + 061 ABCD 062 EA40 CD4AEC CALL :EC4A Run fixed division 063 EA43 D206EB JNC :EB06 Round up if no overflow PAGE 02 DAI FIRMWARE 1EA0E-1EBFF V1.1 064 * 065 * If overflow: 066 * 067 EA46 CD4BC0 OVERF CALL :C04B Run overflow error 068 EA49 37 STC Flag error 069 EA4A C9 RET 070 * 071 ****************** 072 * ERROR HANDLING * 073 ****************** 074 * 075 * Entry: S=1: Overflow error. 076 * S=0: Underflow error. 077 * Z=1: Divide by zero error. 078 * 079 EA4B FA46EA OVUNF JM :EA46 Evt run overflow error 080 EA4E CD65C0 UNDRF CALL :C065 Run underflow error 081 EA51 C316EA JMP :EA16 Clear MACC + ABCD 082 EA54 CD6CC0 DIV0 CALL :C06C Run divide by 0 error 083 EA57 37 STC Flag error 084 EA58 C9 RET 085 * 086 ********************************* 087 * FPT MULTIPLICATION SUBROUTINE * 088 ********************************* 089 * 090 * MACC = MACC * MEM. Result in MACC and in 091 * registers A,B,C,D. 092 * 093 * Entry: HL points to operand in memory. 094 * Exit: CY=1: Overflow; result invalid. 095 * CY=0: Result in ABCD. EHL corrupted. 096 * 097 EA59 CDF4EB AMUL CALL :EBF4 Test if MEM=0; exp byte in A 098 EA5C C41DEB CNZ :EB1D Add exponents if not 099 EA5F DA4BEA JC :EA4B Evt run error 100 EA62 CA16EA JZ :EA16 Result 0: Clear MACC + ABCD 101 EA65 CD00EC CALL :EC00 Multiply mantissa's 102 * 103 * Normalise if necessary: 104 * 105 EA68 78 MOV A,B 1st product 106 EA69 B7 ORA A 107 EA6A C300EB JMP :EB00 Common exit with MUL/DIV 108 * 109 *************************** 110 * FPT SUBTRACT SUBROUTINE * 111 *************************** 112 * 113 * MACC = MACC - MEM. 114 * 115 * Entry: HL points to operand in memory. 116 * Exit: CY=1: Overflow. 117 * CY=0: Result in ABCD. EHL corrupted. 118 * 119 EA6D 0680 ASUB MVI B,:80 Mask to change sign of 120 operand 121 EA6F C374EA JMP :EA74 Into AADD 122 * 123 ********************** 124 * FPT ADD SUBROUTINE * 125 ********************** PAGE 03 DAI FIRMWARE 1EA0E-1EBFF V1.1 126 * 127 * MACC = MACC - MEM. 128 * 129 * Entry: HL points to operand in memory. 130 * Exit: CY=1: Overflow. 131 * CY=0: Result in ABCD. EHL corrupted. 132 * 133 EA72 0600 AADD MVI B,:00 Zero mask 134 EA74 3E7F AD10 MVI A,:7F Most possible value 135 EA76 32DE00 STA :00DE Set MACC >> MEM 136 EA79 CDF4EB CALL :EBF4 Test if MEM =0; exp in A 137 EA7C CAF8E9 JZ :E9F8 Then clear MACC + ABCD 138 EA7F 78 MOV A,B Get mask 139 EA80 AE XRA M XOR with exp (ADD: gives 140 exp; SUB: gives -exp) 141 EA81 23 INX H 142 EA82 46 MOV B,M ) 143 EA83 23 INX H ) 144 EA84 4E MOV C,M ) Copy mantissa MEM into B 145 EA85 23 INX H ) 146 EA86 56 MOV D,M ) 147 EA87 5F MOV E,A Exp in E 148 EA88 21D500 LXI H,:00D5 Addr MACC 149 EA8B 7E MOV A,M Get exp MACC 150 EA8C AB XRA E XOR with exp MEM 151 EA8D E680 ANI :80 Sign only 152 EA8F 32D900 STA :00D9 Store #80 if different signs 153 EA92 CDF4EB CALL :EBF4 Test if MACC=0; exp in A 154 EA95 CA11EB JZ :EB11 Jump if true 155 EA98 D5 PUSH D 156 EA99 7B MOV A,E Get exp MEM 157 EA9A CDE9C1 CALL :C1E9 Sign extend 158 EA9D 5F MOV E,A Ext exp MEM in E 159 EA9E 7E MOV A,M Get exp MACC 160 EA9F CDE9C1 CALL :C1E9 Sign extend 161 EAA2 93 SUB E Calc difference 162 EAA3 D1 POP D 163 EAA4 32DE00 STA :00DE Save it 164 EAA7 FAB2EA JM :EAB2 If exp MACC < exp MEM: 165 exchange ABCD and MACC 166 EAAA FE19 CPI :19 Total bits in mantissa 167 EAAC DAC6EA JC :EAC6 OK if difference between 168 both nrs <#19 in exp 169 EAAF C3F8E9 JMP :E9F8 Else: Result is zero in 170 MACC and ABCD 171 172 * Exchange MACC and ABCD: 173 174 EAB2 FEE7 L1E169 CPI :E7 Total bits in mantissa 175 EAB4 DA16EB JC :EB16 If difference not too big 176 EAB7 73 MOV M,E Ext exp MEM in MACC 177 EAB8 2F CMA ) 178 EAB9 3C INR A ) A = ext exp old MACC 179 EABA 23 INX H 180 EABB 5E MOV E,M ) Exchange 1st byte MACC 181 EABC 70 MOV M,B ) mantissa and byte in B 182 EABD 43 MOV B,E ) 183 EABE 23 INX H 184 EABF 5E MOV E,M ) Exchange 2nd byte MACC 185 EAC0 71 MOV M,C ) mantissa and byte in C 186 EAC1 4B MOV C,E ) 187 EAC2 23 INX H PAGE 04 DAI FIRMWARE 1EA0E-1EBFF V1.1 188 EAC3 5E MOV E,M ) Exchange 3rd byte MACC 189 EAC4 72 MOV M,D ) mantissa and byte in D 190 EAC5 53 MOV D,E ) 191 Now orig MACC in ABCD and 192 orig MEM in MACC 193 EAC6 1E00 L1E170 MVI E,:00 194 EAC8 CD55EB CALL :EB55 Shift BCDE right A places 195 EACB 3AD900 LDA :00D9 Get result XOR sign bits 196 EACE B7 ORA A 197 EACF 21D800 LXI H,:00D8 Addr lobyte MACC 198 EAD2 FAEFEA JM :EAEF Jump if different signbits 199 200 * If both signs equal: 201 202 EAD5 7E MOV A,M ) 203 EAD6 82 ADD D ) 204 EAD7 57 MOV D,A ) 205 EAD8 2B DCX H ) 206 EAD9 7E MOV A,M ) Add mantissa MACC to BCD 207 EADA 89 ADC C ) Result in BCD. 208 EADB 4F MOV C,A ) 209 EADC 2B DCX H ) 210 EADD 7E MOV A,M ) 211 EADE 88 ADC B ) 212 EADF 47 MOV B,A ) 213 EAE0 D206EB JNC :EB06 Jump if no overflow 214 EAE3 CD70EB CALL :EB70 Else: shift BCDE right 1 bit 215 EAE6 CDD9EB CALL :EBD9 Incr exponent 216 EAE9 DA46EA JC :EA46 Evt run overflow error 217 EAEC C306EB JMP :EB06 Round up 218 219 * If both signs not equal: 220 221 EAEF AF L1E171 XRA A ) 222 EAF0 93 SUB E ) Compl exp in E 223 EAF1 5F MOV E,A ) 224 EAF2 7E MOV A,M ) 225 EAF3 9A SBB D ) 226 EAF4 57 MOV D,A ) Subtract BCD from mantissa 227 EAF5 2B DCX H ) MACC. Result in BCD. 228 EAF6 7E MOV A,M ) 229 EAF7 99 SBB C ) 230 EAF8 4F MOV C,A ) 231 EAF9 2B DCX H ) 232 EAFA 7E MOV A,M ) 233 EAFB 98 SBB B ) 234 EAFC 47 MOV B,A ) 235 EAFD DC7DEB CC :EB7D Correct if overflow 236 EB00 F496EB AD10A CP :EB96 Evt normalize BCDE 237 EB03 F216EA JP :EA16 and clear MACC + ABCD 238 239 * Normal exit: 240 241 EB06 CDC3EB ADD11 CALL :EBC3 Round up BCD, result in MACC 242 exp in E 243 EB09 DA46EA JC :EA46 Evt run overflow error 244 EB0C 7B L1E174 MOV A,E Get exponent 245 EB0D F601 ORI :01 Set flags on exp OR 1 246 EB0F 7B MOV A,E Exp in A 247 EB10 C9 RET 248 249 * If operand = 0: PAGE 05 DAI FIRMWARE 1EA0E-1EBFF V1.1 250 251 EB11 3E80 L1E175 MVI A,:80 252 EB13 32DE00 STA :00DE (00DE)=#80 253 EB16 7B L1E176 MOV A,E Get exponent 254 EB17 CDDBE9 L1E177 CALL :E9DB Copy ABCD into MACC 255 EB1A C30CEB JMP :EB0C Take normal exit 256 * 257 ********************** 258 * FPT: ADD EXPONENTS * 259 ********************** 260 * 261 * Adds the exponent of the MACC to the exponent 262 * of a operand in memory. 263 * 264 * Entry: HL points to FPT number in memory. 265 * A contains its exponent. 266 * Other number in MACC. 267 * Exit: Z=1: MACC=0; HL=00D5 268 * CY=1: Overflow: HL=00D5; MACC pres. 269 * A: Sum of signed exponents SHL 1 270 * Z=0, CY=0: O.K.: HL=00D5; sum of exponents 271 * in MACC. 272 * 273 EB1D 47 MDEX MOV B,A Exp MEM in B 274 EB1E 23 INX H 275 EB1F 4E MOV C,M ) 276 EB20 23 INX H ) Copy mantissa MEM in CDE 277 EB21 56 MOV D,M ) 278 EB22 23 INX H ) 279 EB23 5E MOV E,M ) 280 EB24 CDF1EB CALL :EBF1 Test MACC=0; Exp MACC in A 281 EB27 C8 RZ Abort if MACC=0, Z=1 282 EB28 78 MOV A,B Get exp MEM in A 283 EB29 CDE9C1 CALL :C1E9 Sign extend 284 EB2C CDBAC1 CALL :C1BA Add exponents, result in MAC 285 EB2F D8 RC Abort if overflow, CY=1 286 EB30 78 MOV A,B Get orig exp MEM 287 EB31 E680 ANI :80 sign bit only 288 EB33 AE XRA M Evt correct sign 289 EB34 77 MOV M,A Exp back into MACC 290 EB35 3E01 MVI A,:01 291 EB37 B7 ORA A 292 EB38 C9 RET 293 * 294 ********************************* 295 * SHIFT BCDE LEFT (A) POSITIONS * 296 ********************************* 297 * 298 * Exit: AF preserved. 299 * 300 EB39 F5 LSHN PUSH PSW 301 EB3A 6F MOV L,A Nr of shifts in L 302 EB3B 2D L1E180 DCR L 303 EB3C FA46EB JM :EB46 Abort if ready 304 EB3F B7 ORA A Clear CY 305 EB40 CD48EB CALL :EB48 Shift BCDE left 1 position 306 EB43 C33BEB JMP :EB3B Next shift 307 EB46 F1 L1E182 POP PSW 308 EB47 C9 RET 309 * 310 * 311 * PAGE 06 DAI FIRMWARE 1EA0E-1EBFF V1.1 312 ********************* 313 * MULTIPLY BCDE * 2 * 314 ********************* 315 * 316 * Shifts BCDE left 1 position. Entry CY goes to 317 * lsb of E. 318 * 319 * Exit: A corrupted, HL preserved. 320 * F set on result. 321 * 322 EB48 7B L1E183 MOV A,E 323 EB49 17 RAL Shift left E 324 EB4A 5F MOV E,A 325 EB4B 7A MOV A,D 326 EB4C 17 RAL Shift left D 327 EB4D 57 MOV D,A 328 EB4E 79 MOV A,C 329 EB4F 17 RAL Shift left C 330 EB50 4F MOV C,A 331 EB51 78 MOV A,B 332 EB52 8F ADC A B=2*B+CY 333 EB53 47 MOV B,A 334 EB54 C9 RET 335 * 336 ********************************** 337 * SHIFT BCDE RIGHT (A) POSITIONS * 338 ********************************** 339 * 340 EB55 2E08 RSHN MVI L,:0008 Nr of shifts for 1 byte 341 EB57 BD L1E185 CMP L 342 EB58 FA64EB JM :EB64 Jump if A<8 343 344 * Shift 8 bits right: 345 346 EB5B 5A MOV E,D ) 347 EB5C 51 MOV D,C ) Shift 8 pos in one 348 EB5D 48 MOV C,B ) time 349 EB5E 0600 MVI B,:00 ) 350 EB60 95 SUB L Update nr of shifts left 351 EB61 C257EB JNZ :EB57 Again if not ready 352 353 * Shift 1 bit: 354 355 EB64 B7 L1E186 ORA A 356 EB65 C8 RZ Abort if ready 357 EB66 6F MOV L,A L is nr of shifts 358 EB67 B7 L1E187 ORA A 359 EB68 CD70EB CALL :EB70 Shift BCDE right one bit 360 EB6B 2D DCR L Update shift count 361 EB6C C267EB JNZ :EB67 Again if not ready 362 EB6F C9 RET 363 * 364 ******************** 365 * DIVIDE BCDE BY 2 * 366 ******************** 367 * 368 * Shifts contents BCDE right 1 position. 369 * 370 * Exit: AF corrupted, HL preserved. 371 * 372 EB70 78 L1E188 MOV A,B 373 EB71 1F RAR Shift right B PAGE 07 DAI FIRMWARE 1EA0E-1EBFF V1.1 374 EB72 47 MOV B,A 375 EB73 79 MOV A,C 376 EB74 1F RAR Shift right C 377 EB75 4F MOV C,A 378 EB76 7A MOV A,D 379 EB77 1F RAR Shift right D 380 EB78 57 MOV D,A 381 EB79 7B MOV A,E 382 EB7A 1F RAR Shift right E 383 EB7B 5F MOV E,A 384 EB7C C9 RET 385 * 386 ************************************* 387 * CHANGE SIGN OF A NUMBER IN MEMORY * 388 * NEGATE CONTENTS REGISTERS B,C,D,E * 389 ************************************* 390 * 391 * Entry: HL points to 1st byte mantissa. 392 * 393 EB7D 2B L1E189 DCX H Pnts to exp 394 EB7E 7E MOV A,M Get exp 395 EB7F EE80 XRI :80 Change sign bit 396 EB81 77 MOV M,A 397 EB82 AF L1E190 XRA A 398 EB83 6F MOV L,A L=0 399 EB84 93 SUB E 400 EB85 5F MOV E,A Negate E 401 EB86 7D MOV A,L 402 EB87 9A SBB D 403 EB88 57 MOV D,A Negate D 404 EB89 7D MOV A,L 405 EB8A 99 SBB C 406 EB8B 4F MOV C,A Negate C 407 EB8C 7D MOV A,L 408 EB8D 98 SBB B 409 EB8E 6F MOV L,A Negated B in L 410 EB8F A0 ANA B 411 EB90 17 RAL msb into CY 412 EB91 45 MOV B,L B = negated B 413 EB92 7D MOV A,L 414 EB93 1F RAR restore msb 415 EB94 8F ADC A A=2*A+CY 416 EB95 C9 RET 417 * 418 ********************************************* 419 * NORMALIZE CONTENTS BCDE, CORRECT EXPONENT * 420 ********************************************* 421 * 422 * Entry: FPT mantissa in BCDE, exponent in MACC. 423 * 424 * Mantissa is normalized and the exponent is 425 * adjusted correctly. 426 * 427 EB96 CDA0EB L1E191 CALL :EBA0 Normalize BCDE 428 EB99 D4B7C1 CNC :C1B7 Add exponents if BCDE<>0 429 EB9C 3F CMC 430 EB9D 1F RAR 431 EB9E B7 ORA A 432 EB9F C9 RET 433 * 434 * 435 * PAGE 08 DAI FIRMWARE 1EA0E-1EBFF V1.1 436 ****************************** 437 * NORMALIZE CONTENTS B,C,D,E * 438 ****************************** 439 * 440 * Shifts contents BCDE left until the msb = 1. 441 * 442 * Exit: A: Minus number of shifts. 443 * HL restored, S+Z-flag set on result. 444 * CY=1: BCDE was zero. 445 * 446 EBA0 E5 L1E192 PUSH H 447 EBA1 2E20 MVI L,:20 Max 32 bits to shift 448 EBA3 78 L1E193 MOV A,B Get 1st byte 449 EBA4 B7 ORA A 450 EBA5 C2BAEB JNZ :EBBA If '1'-bits in it 451 452 * Shift 8 bits at once: 453 454 EBA8 41 MOV B,C ) 455 EBA9 4A MOV C,D ) Shift 1 byte 456 EBAA 53 MOV D,E ) 457 EBAB 5F MOV E,A ) 458 EBAC 7D MOV A,L 459 EBAD D608 SUI :08 Count minus 8 bits 460 EBAF 6F MOV L,A 461 EBB0 C2A3EB JNZ :EBA3 Continue if not ready 462 EBB3 E1 POP H 463 EBB4 37 STC If 4* 8 bits shifted and no 464 '1' found: BCDE was 0: CY=1 465 EBB5 C9 RET 466 467 * Shift 1 bit: 468 469 EBB6 2D L1E194 DCR L Update count 470 EBB7 CD48EB CALL :EB48 Shift BCDE 1 bit left 471 EBBA F2B6EB L1E195 JP :EBB6 Again if msb <> 0 472 473 * If ready: 474 475 EBBD 7D MOV A,L Get nr of shifts left 476 EBBE D620 SUI :20 Calc neg nr of shifts done 477 EBC0 B7 ORA A 478 EBC1 E1 POP H 479 EBC2 C9 RET 480 * 481 ********* 482 * ROUND * 483 ********* 484 * 485 * Rounds up a FPT mantissa in BCD(E). Result in 486 * MACC, exponent also in E. 487 * 488 * Entry: FPT mantissa in BCDE. 489 * Exit: CY=1: overflow. 490 * All registers corrupted. 491 * 492 EBC3 7B L1E196 MOV A,E Get lobyte mantissa 493 EBC4 B7 ORA A 494 EBC5 FCD1EB CM :EBD1 Round up BCD if (E) 495 >= #80 496 EBC8 D8 RC Abort if overflow 497 EBC9 21D500 LXI H,:00D5 Addr MACC PAGE 09 DAI FIRMWARE 1EA0E-1EBFF V1.1 498 EBCC 5E MOV E,M Get exp in E 499 EBCD 7E MOV A,M and in A 500 EBCE C3DBE9 JMP :E9DB Copy ABCD into MACC 501 * 502 * ROUND UP CONTENTS B,C,D: 503 * 504 * Increments a FPT mantissa in BCD with 1 in 505 * the lsb. If required, the normalized exponent 506 * is adjusted. 507 * 508 * Exit: CY=1: Overflow. 509 * AEHL preserved. 510 * 511 EBD1 14 L1E197 INR D Add 1 to lobyte 512 EBD2 C0 RNZ 513 EBD3 0C INR C ) Add 1 to other bits to 514 EBD4 C0 RNZ ) if overflow 515 EBD5 04 INR B ) 516 EBD6 C0 RNZ 517 EBD7 0680 MVI B,:80 If overflow from B: Set B 518 for smallest mantissa and 519 increment exponent 520 * 521 ************************************ 522 * INCREMENT A FPT EXPONENT OF MACC * 523 ************************************ 524 * 525 * Exit: ABCDEHL preserved. CY=1: overflow. 526 * 527 EBD9 C5 L1E198 PUSH B 528 EBDA F5 PUSH PSW 529 EBDB E5 PUSH H 530 EBDC 3E01 MVI A,:01 1 to be added to exponent 531 EBDE 21D500 L1E199 LXI H,:00D5 Addr MACC 532 EBE1 CDBAC1 CALL :C1BA Add 1 to exponent 533 EBE4 E1 POP H 534 EBE5 C1 POP B 535 EBE6 78 MOV A,B 536 EBE7 C1 POP B 537 EBE8 C9 RET 538 * 539 *********************************************** 540 * DECREMENT FPT EXPONENT OF MACC - (not used) * 541 *********************************************** 542 * 543 EBE9 C5 L1E274 PUSH B 544 EBEA F5 PUSH PSW 545 EBEB E5 PUSH H 546 EBEC 3EFF MVI A,:FF -1 to be added to exponent 547 EBEE C3DEEB JMP :EBDE Add it to MACC exp 548 * 549 *************************** 550 * TEST IF OPERAND IS ZERO * 551 *************************** 552 * 553 * TSTZA: Test if contents MACC is zero. 554 * TSTZ: Test if operand, pointed at by HL, is 555 * zero. 556 * 557 * Exit: A: hibyte operand. 558 * BCDE preserved. 559 * HL points to 1st byte of operand. PAGE 10 DAI FIRMWARE 1EA0E-1EBFF V1.1 560 * Z=1: Operand = 0. 561 * 562 EBF1 21D500 TSTZA LXI H,:00D5 Operand = MACC 563 EBF4 7E TSTZ MOV A,M 564 EBF5 23 INX H 565 EBF6 B6 ORA M 566 EBF7 23 INX H 567 EBF8 B6 ORA M 568 EBF9 23 INX H 569 EBFA B6 ORA M Flags set on result OR 570 on all bytes of operand 571 EBFB 2B DCX H 572 EBFC 2B DCX H 573 EBFD 2B DCX H 574 EBFE 7E MOV A,M Hibyte operand in A 575 EBFF C9 RET 576 * 577 * 578 * 579 EC00 END *************************** * S Y M B O L T A B L E * *************************** AADD EA72 AD10 EA74 AD10A EB00 ADD11 EB06 ADIV EA20 AMUL EA59 ASUB EA6D AZERO EA16 DIV0 EA54 L1E159 EA0E L1E169 EAB2 L1E170 EAC6 L1E171 EAEF L1E174 EB0C L1E175 EB11 L1E176 EB16 L1E177 EB17 L1E180 EB3B L1E182 EB46 L1E183 EB48 L1E185 EB57 L1E186 EB64 L1E187 EB67 L1E188 EB70 L1E189 EB7D L1E190 EB82 L1E191 EB96 L1E192 EBA0 L1E193 EBA3 L1E194 EBB6 L1E195 EBBA L1E196 EBC3 L1E197 EBD1 L1E198 EBD9 L1E199 EBDE L1E274 EBE9 LSHN EB39 MDEX EB1D OVERF EA46 OVUNF EA4B RSHN EB55 TSTZ EBF4 TSTZA EBF1 UNDRF EA4E