Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!think!mintaka!ogicse!plains!harlow From: harlow@plains.UUCP (Jay B. Harlow) Newsgroups: comp.sys.intel Subject: Re: Undoc'd immediate MUL in 80X86 (incl.8086) Message-ID: <3431@plains.UUCP> Date: 14 Feb 90 21:10:21 GMT References: <622@tuura.UUCP> Reply-To: harlow@plains.UUCP (Jay B. Harlow) Distribution: comp Organization: North Dakota State University, Fargo Lines: 35 In article <622@tuura.UUCP> risto@tuura.UUCP (Risto Lankinen) writes: >A little experimenting with Microsoft Macro Assembler version 5.10 and >the instructions AAM and AAD revealed a neat way to do immediate 8-bit >MUL and DIV on 80X86:s. The 'feature' is *ABSOLUTELY* undocumented by >either Intel or Microsoft or any other organization associated. Who- >ever uses it must consider the possibility of the instructions not Along the same note, this is what i found out.... 0d4h n ; aam - if n = 0ah, unpack - if n = 10h 0d5h n ; aad - if n = 0ah, pack - if n = 10h 0d6h ; lalc - load al with carry carry - al = 0ffh no carry - al = 0 i came across 0d6h, by looking though my roms, ( best way to find out how they do what they do....) and keep seeing 'db 0d6 ??' these three i have tried on a 8088, 80286, 80386sx, my guess is like the 'loadall' (which MS CV disassembles ;-) are for 'INTEL' use only... ha... loadall I can see reserving for thier testing but these are VERY handy. also ever notice that CV will disassemble xbts ibts ( extract bit string, insert bit string) but the 386sx can't execute them? are these simply instructions that were going to put in & didn't, or are they just on the 386 (haven't checked) are they there & have been moved? Inquiring minds want to know... Jay -- Jay B. Harlow uunet!plains!harlow (UUCP) harlow@plains (Bitnet) Of course the above is personal opinion, And has no bearing on reality...