Rev 153 | Rev 195 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 153 | Rev 175 | ||
---|---|---|---|
Line 194... | Line 194... | ||
194 | jmp show_result |
194 | jmp show_result |
Line 195... | Line 195... | ||
195 | 195 | ||
196 | no_int: |
196 | no_int: |
197 | cmp eax,23 |
197 | cmp eax,23 |
198 | jne no_1x |
- | |
199 | fld [trans1] |
198 | jne no_1x |
200 | fld1 |
199 | fld1 |
201 | fdiv st,st1 |
200 | fdiv [trans1] |
Line 202... | Line 201... | ||
202 | jmp show_result |
201 | jmp show_result |
203 | 202 | ||
204 | no_1x: |
203 | no_1x: |
Line 345... | Line 344... | ||
345 | cmp eax,[entry_multiplier] |
344 | cmp eax,[entry_multiplier] |
346 | jge no_entry |
345 | jge no_entry |
347 | cmp [id],1 |
346 | cmp [id],1 |
348 | je decimal_entry |
347 | je decimal_entry |
349 | mov ebx,[integer] |
348 | mov ebx,[integer] |
350 | test ebx,0xc0000000 |
349 | test ebx,0xF0000000 |
351 | jnz no_entry |
350 | jnz no_entry |
352 | mov ebx,eax |
351 | mov ebx,eax |
353 | mov eax,[integer] |
352 | mov eax,[integer] |
354 | mov ecx,[entry_multiplier] |
353 | mov ecx,[entry_multiplier] |
355 | mul ecx |
354 | mul ecx |
Line 468... | Line 467... | ||
468 | cmp ax, 0x0100 |
467 | cmp ax, 0x0100 |
469 | jne no_neg |
468 | jne no_neg |
470 | mov [sign],1 |
469 | mov [sign],1 |
Line 471... | Line 470... | ||
471 | 470 | ||
- | 471 | no_neg: |
|
472 | no_neg: |
472 | fld [tmp2] |
473 | fistp [integer] |
473 | fistp [integer] |
474 | fld [tmp2] |
474 | fld [tmp2] |
475 | fisub [integer] |
475 | fisub [integer] |
476 | fldcw [controlWord] |
476 | fldcw [controlWord] |
Line 489... | Line 489... | ||
489 | imul ebx,10 |
489 | imul ebx,10 |
490 | mov [res],ebx |
490 | mov [res],ebx |
491 | mov eax,[decimal] |
491 | mov eax,[decimal] |
492 | add [res],eax |
492 | add [res],eax |
493 | fisub [decimal] |
493 | fisub [decimal] |
- | 494 | fst [tmp2] |
|
494 | ftst |
495 | ftst |
495 | fstsw ax |
496 | fstsw ax |
496 | 497 | test ax,1 |
|
- | 498 | jnz real_done |
|
- | 499 | fld [tmp2] |
|
497 | dec edi |
500 | dec edi |
498 | jz real_done |
501 | jz real_done |
499 | jmp newd |
502 | jmp newd |
Line 500... | Line 503... | ||
500 | 503 | ||
Line 656... | Line 659... | ||
656 | 659 | ||
657 | mov eax,12 |
660 | mov eax,12 |
658 | mov ebx,1 |
661 | mov ebx,1 |
Line 659... | Line 662... | ||
659 | int 0x40 |
662 | int 0x40 |
660 | 663 | ||
661 | mov eax,0 |
664 | xor eax,eax |
662 | mov ebx,200*65536+255 |
665 | mov ebx,200*65536+255 |
663 | mov ecx,200*65536+180 |
666 | mov ecx,200*65536+180 |
664 | mov edx,[sc.work] |
667 | mov edx,[sc.work] |