home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.asm.x86      Ahh, the lost art of x86 assembly      4,675 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 3,338 of 4,675   
   Kerr-Mudd,John to notsaying@nospicedham.invalid.org   
   Re: Hex 2 Bin   
   07 Apr 18 20:51:52   
   
   From: notsaying@nospicedham.invalid.org   
      
   On Thu, 05 Apr 2018 09:10:04 GMT, "Kerr-Mudd,John"   
    wrote:   
      
   > On Thu, 05 Apr 2018 08:57:47 GMT, "Kerr-Mudd,John"   
   >  wrote:   
   >   
   >> On Wed, 04 Apr 2018 09:15:43 GMT, "wolfgang kern"    
   >> wrote:   
   >>   
   >>> Kerr-Mudd,John wrote:   
   >>>   
   >>>>>>> Criticisms welcome:   
   >>>   
   >>>   
   >>> Yeah, a LUT would be overkill. A bit reordering and CMOVcc, SETcc   
   >>> could save some jumps.   
   >> Actually, it's OK   
   >>   
   []   
   >   
   > Now contemplating SMC to make all these redundant.   
   > (have to drop EXP as an option)   
   >   
   Nope, space to put it back in;   
      
   BE8000AC9891E8A7007663954EAC3C20E1FB745A50E8980091587652982C253C   
   0A774B3C027505E8C600EB1299BE9A01D0E001C68B34958936E901E8AB00BF96   
   01B9680080FB10740AB12009C07904F7D8B12D31D2F7F3923C0A1C692F88054F   
   9209C075EE880D575AB409CD21C3BA7301EBF655736167652069733A2063616C   
   63206E756D31205B2B2D2A2F25262728295D206E756D320D0A24F7F121C8F7F1   
   09C831C8F7E101C8F7E129C8F7F1F7F1AC3C20E1FB7431BB0A003C687503B310   
   AC5531FF3C2D74034F4E4131EDAC3C30720E244FD4379895F7E3720B01C5E2ED   
   954F7B02F7D8F85DC301C84D790192C389E849F7E57202E2FAC3   
      
      
   161D:0100 BE 80 00       mov          si,0080   
   161D:0103 AC             lodsb   
   161D:0104 98             cbw   
   161D:0105 91             xchg         ax,cx   
   161D:0106 E8 A7 00       call         01B0   
   161D:0109 76 63          jbe          016E   
   161D:010B 95             xchg         ax,bp   
   161D:010C 4E             dec          si   
   161D:010D AC             lodsb   
   161D:010E 3C 20          cmp          al,20   
   161D:0110 E1 FB          loopzw       010D   
   161D:0112 74 5A          jz           016E   
   161D:0114 50             push         ax   
   161D:0115 E8 98 00       call         01B0   
   161D:0118 91             xchg         ax,cx   
   161D:0119 58             pop          ax   
   161D:011A 76 52          jbe          016E   
   161D:011C 98             cbw   
   161D:011D 2C 25          sub          al,25   
   161D:011F 3C 0A          cmp          al,0A   
   161D:0121 77 4B          ja           016E   
   161D:0123 3C 02          cmp          al,02     ; '=exp is special   
   161D:0125 75 05          jnz          012C   
   161D:0127 E8 C6 00       call         01F0   
   161D:012A EB 12          jmp          013E   
   161D:012C 99             cwd   
   161D:012D BE 9A 01       mov          si,019A   ;LUT   
   161D:0130 D0 E0          shl          al,1   
   161D:0132 01 C6          add          si,ax   
   161D:0134 8B 34          mov          si,[si]   
   161D:0136 95             xchg         ax,bp   
   161D:0137 89 36 E9 01    mov          [01E9],si ;SMC!  DoCalc   
   161D:013B E8 AB 00       call         01E9   
   PrtNum:   
   161D:013E BF 96 01       mov          di,0196   
   161D:0141 B9 68 00       mov          cx,0068   
   161D:0144 80 FB 10       cmp          bl,10   
   161D:0147 74 0A          jz           0153   
   161D:0149 B1 20          mov          cl,20   
   161D:014B 09 C0          or           ax,ax   
   161D:014D 79 04          jns          0153   
   161D:014F F7 D8          neg          ax   
   161D:0151 B1 2D          mov          cl,2D   
   161D:0153 31 D2          xor          dx,dx   
   161D:0155 F7 F3          div          bx   
   161D:0157 92             xchg         ax,dx   
   161D:0158 3C 0A          cmp          al,0A   
   161D:015A 1C 69          sbb          al,69   
   161D:015C 2F             das   
   161D:015D 88 05          mov          [di],al   
   161D:015F 4F             dec          di   
   161D:0160 92             xchg         ax,dx   
   161D:0161 09 C0          or           ax,ax   
   161D:0163 75 EE          jnz          0153   
   161D:0165 88 0D          mov          [di],cl   
   161D:0167 57             push         di   
   161D:0168 5A             pop          dx   
   161D:0169 B4 09          mov          ah,09   
   161D:016B CD 21          int          21   
   161D:016D C3             ret   
   PrtUsage:   
   161D:016E BA 73 01       mov          dx,0173   
   161D:0171 EB F6          jmp          0169   
      
   LUT   
   161D:019A F7 F1          div          cx   
   161D:019C 21 C8          and          ax,cx   
   161D:019E F7 F1          div          cx   
   161D:01A0 09 C8          or           ax,cx   
   161D:01A2 31 C8          xor          ax,cx   
   161D:01A4 F7 E1          mul          cx   
   161D:01A6 01 C8          add          ax,cx   
   161D:01A8 F7 E1          mul          cx   
   161D:01AA 29 C8          sub          ax,cx   
   161D:01AC F7 F1          div          cx   
   161D:01AE F7 F1          div          cx   
      
   GetNum:   
   161D:01B0 AC             lodsb   
   161D:01B1 3C 20          cmp          al,20   
   161D:01B3 E1 FB          loopzw       01B0   
   161D:01B5 74 31          jz           01E8   
   161D:01B7 BB 0A 00       mov          bx,000A   
   161D:01BA 3C 68          cmp          al,68   
   161D:01BC 75 03          jnz          01C1   
   161D:01BE B3 10          mov          bl,10   
   161D:01C0 AC             lodsb   
   161D:01C1 55             push         bp   
   161D:01C2 31 FF          xor          di,di   
   161D:01C4 3C 2D          cmp          al,2D   
   161D:01C6 74 03          jz           01CB   
   161D:01C8 4F             dec          di   
   161D:01C9 4E             dec          si   
   161D:01CA 41             inc          cx   
   161D:01CB 31 ED          xor          bp,bp   
   161D:01CD AC             lodsb   
   161D:01CE 3C 30          cmp          al,30   
   161D:01D0 72 0E          jb           01E0   
   161D:01D2 24 4F          and          al,4F   
   161D:01D4 D4 37          aam          37   
   161D:01D6 98             cbw   
   161D:01D7 95             xchg         ax,bp   
   161D:01D8 F7 E3          mul          bx   
   161D:01DA 72 0B          jb           01E7   
   161D:01DC 01 C5          add          bp,ax   
   161D:01DE E2 ED          loopw        01CD   
   161D:01E0 95             xchg         ax,bp   
   161D:01E1 4F             dec          di   
   161D:01E2 7B 02          jnp          01E6   
   161D:01E4 F7 D8          neg          ax   
   161D:01E6 F8             clc   
   161D:01E7 5D             pop          bp   
   161D:01E8 C3             ret   
   DoCalc:   
   161D:01E9 01 C8          add          ax,cx   
   161D:01EB 4D             dec          bp   
   161D:01EC 79 01          jns          01EF   
   161D:01EE 92             xchg         ax,dx   
   161D:01EF C3             ret   
   ExpNum:   
   161D:01F0 89 E8          mov          ax,bp   
   161D:01F2 49             dec          cx   
   161D:01F3 F7 E5          mul          bp   
   161D:01F5 72 02          jb           01F9   
   161D:01F7 E2 FA          loopw        01F3   
   161D:01F9 C3             ret   
      
   ; 7 spare   
      
      
      
      
   --   
   Bah, and indeed, Humbug.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca