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 2,817 of 4,675   
   wolfgang kern to Kerr Mudd-John   
   Re: BASE64 again   
   15 Jul 17 17:15:22   
   
   From: nowhere@never.at   
      
   Kerr Mudd-John wrote:   
   ...   
   >> unfortunately it wont work with cmp al,0 (it could be an "A")   
   > Drat!   
   ...   
   > aren't you missing:   
   > 75 01          jnz nosave   
   > AA             stosb   
   > nosave:   
      
   yes, but only in this text here, AA01 paires well.   
      
   here we go:   
   I could have reached my estimated 206 byte, but can't pair all without   
   having 0x22 in there, so thanks to your short b64 decoder we are down   
   to 180+29=209 bytes for now (tested).   
      
   YQQj/hbxXP5byPQQ4~PjQaSW-s^1GXSs!$<$u]%> 98,E0D3,08,80,06e1,ac,d5EB seem to fit well, so even only three pairs   
   >> we have only seven modify points in this part yet. That's good!   
   >> I could pair E180 with a two bytes addon SUB and perhaps also D398   
   >> and AC06 anyway, so with 2 bytes more in the modifier chain it may   
   >> become: d398,08e0,e180,ac06,d5eb (five instead of seven = -6 byte).   
      
   Sorry not all pairs are possible without more additional bytes, even   
   06e1 wont pair so there are now eight (16 in total) to modify.   
      
   >> I think it's now time to go for it :)   
      
   > An alternative (I don't know if it's better or worse for your fixups)   
   > 2C 06          sub          al,06   
   > 98             cbw   
   > 41             inc          cx   
   > 41             inc          cx   
   > D3 E0          shl          ax,cl   
   > 08 25          or           [di],ah   
   > 47             inc          di   
   > 83 E1 06       and          cx,0006   
   > 88 05          mov          [di],al   
   > 75 01          jnz          0137   
   > 4F             dec          di   
   > AC             lodsb   
   > EB d5       jmp top+2   
   >   
   > 9806 e0d3 08 e183 8806 05 01 AC D5EB   
   > 9 maybe not.   
      
   easy to check: 9806+7862=1068 so not pairable by sub. Only values between   
   a9xx..05xx and xxbf..xx1c will be pairable with my current DX=7862 subs.   
   So I use the coincidental given AH=A1 to cover 80..a8 singles.   
   __   
   wolfgang   
      
   --- 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