flat assembler
Message board for the users of flat assembler.
Index
> Projects and Ideas > My AJAX driven x86 Assembly Reference Goto page 1, 2 Next |
Author |
|
mattst88 27 Nov 2006, 20:44
In an attempt to increase my knowledge of Javascript, PHP, and assembly, I figured I would write an Assembly reference.
Here's the link: http://mattst88.com/programming/asmref/ I don't know why it doesn't work in Internet Explorer. It even partially works by displaying the number of instructions. I don't really care either. I've only got 85 instructions currently, but I'd like to add a lot more. I want to get all the MMX/SSE/3DNow instructions listed before I begin adding all the other general instructions. Tell me if the number of instructions for each is correct: MMX - 47 MMX+ - ? 3DNow! - 21/22 depending on if you classify prefetch and prefetchw as separate instructions. (Something about prefetchw didn't exist in the original 3DNow! instructions) Extended 3DNow! - 19 (Why does CPUID.com show 24?) SSE(1) - 70 SSE2 - 144 SSE3 - 13 SSSE3 - 16 SSE4 - somewhere around 50 If you like the site/reference/idea I'd very much appreciate it if you'd check out one of the ads on the page. I've put a lot of time into the site so it'd be great to get a little bit back If anyone is interested in contributing to the reference, here's how you can: All instructions are contained in their own files which are named like this: instruction_name.type.requires.ref where instruction_name is its name, type is the type of instruction, and requires is SSE/MMX etc, ref is just the extension I chose. List of types: movement - DataMovement convert - Type Conversion iarithmetic - Integer Arithmetic bcd - Binary Coded Decimal Arithmetic logical - Logical control - Control Transfer io - I/O string - String flag - Flag Control conditional - Conditional misc - Miscellaneous fparithmetic - Floating Point Arithmetic List of requires: none - No requirements fpu - FPU mmx - MMX sse1 - SSE1 sse2 - SSE2 sse3 - SSE3 ssse3 - SSSE3 sse4 - SSE4 3dnow - 3DNow! ext3d - Extended 3DNow! 64 - 64-bit All the file should contain is a description of the instruction with no trailing newline. Here's the file for the bsr instruction: bsr.logical.none.ref: Code: Searches for the Most Significant Set Bit. Also, if instructions, such as SSE2/3 work on MMX registers, you can add MMX into its name to have it show in the reference. For instance paddq's filename is 'paddq.iarithmetic.mmx.sse2.ref'. Anyway, I hope you find it useful, click an ad, and email me (mattst88 _at_ g mail dot com) some reference files to help the page grow. Btw, I have all SSE3 instructions listed since I know CPUID.com does not. _________________ My x86 Instruction Reference -- includes SSE, SSE2, SSE3, SSSE3, SSE4 instructions. Assembly Programmer's Journal Last edited by mattst88 on 12 Jul 2007, 00:43; edited 1 time in total |
|||
27 Nov 2006, 20:44 |
|
vid 27 Nov 2006, 20:56
have you seen MazeGen's reference? He is going to have it completed soon.
|
|||
27 Nov 2006, 20:56 |
|
LocoDelAssembly 27 Nov 2006, 21:20
Where Mazegen's reference is? I searched for his last post but he has no home page at his profile
|
|||
27 Nov 2006, 21:20 |
|
mattst88 27 Nov 2006, 21:35
|
|||
27 Nov 2006, 21:35 |
|
Goplat 28 Nov 2006, 03:10
cvtss2sd wasn't implemented until SSE2. Also I would consider pabs* and psign* to be arithmetic, not logical.
|
|||
28 Nov 2006, 03:10 |
|
mattst88 28 Nov 2006, 15:31
Fixed. Thanks for the heads up
|
|||
28 Nov 2006, 15:31 |
|
rugxulo 30 Nov 2006, 07:39
|
|||
30 Nov 2006, 07:39 |
|
OzzY 03 Dec 2006, 03:12
Looks very usefull mattst88!!
I like how it's organized by sections. Nice work! Btw, how did you learn AJAX? I'm thinking about learning it too... |
|||
03 Dec 2006, 03:12 |
|
mattst88 03 Dec 2006, 23:54
I bought the O'Reilly Javascript book, and I read a few AJAX tutorials.
|
|||
03 Dec 2006, 23:54 |
|
MichaelH 04 Dec 2006, 22:07
It's weird to hear people use the term AJAX as I was doing XMLHTTP pre 2000 (I think, seems a long time ago anyway) when Msxml.XMLHTTP first came out and then five years later I here the term AJAX, this "new way" of doing things. I guess all you need is a catchy name for your product and you too can be famous.
Anyway, I hope you consider using JSON http://en.wikipedia.org/wiki/JSON for your data transfers as xml is complete bloat! Or better yet, come up with a scheme that compiles natively with fasm (or use a macro) that can be used in javascript as well similar to JSON. Wouldn't that be great for data transfers especially when you consider Thomasz has just released a fasm dll, maybe it's time we all thought about a assembler fashioned data transfer scheme. |
|||
04 Dec 2006, 22:07 |
|
mattst88 20 Dec 2006, 21:16
Added a ton more instructions. For the most part SSE1 and SSE2 are complete. I know that SSE3, SSSE3, 3DNow!, and Extended 3DNow! are complete. I think MMX is complete, but it's hard to tell with all the overlap with later SSE instructions.
See if you see any mistakes or can tell me what instructions I'm missing. |
|||
20 Dec 2006, 21:16 |
|
mattst88 05 Feb 2007, 22:10
So I guess my reference isn't that useful, judging from the feedback.
|
|||
05 Feb 2007, 22:10 |
|
vid 05 Feb 2007, 22:40
rather judge from site hits. people often don't give feedback.
Personally, i think you would need a lot more data in the reference to be really useful. |
|||
05 Feb 2007, 22:40 |
|
mattst88 06 Feb 2007, 00:14
What type of data would you recommend adding? Just more instructions? Or add something?
|
|||
06 Feb 2007, 00:14 |
|
vid 06 Feb 2007, 01:03
for example flags which are modified / cleared / set / undefined / tested, allowed argument combinations, etc...
|
|||
06 Feb 2007, 01:03 |
|
Madis731 07 Feb 2007, 08:49
http://en.wikipedia.org/wiki/SSE4
SSE4 will *finally* put population count into hardware and CRC32 I like it already...I wonder if string comparison will be even faster than on Core 2 with these new instructions - just wow and keep your page updated - it helps many people - cpuid.com hasn't updated for years, I even e-mailed these guys but there was no response. For example check out where SSE3 links - to the index and only SSE has got some definitions, others are just mnemonics. |
|||
07 Feb 2007, 08:49 |
|
mattst88 15 May 2007, 18:32
I've optimized the Instruction Reference a good bit. It also works in IE7 now.
Btw, it's got 305 instructions and gets more fairly often. |
|||
15 May 2007, 18:32 |
|
mattst88 16 May 2007, 02:35
Just changed over from XML data exchange to JSON. The filesize is almost identical (JSON is about 1 KB smaller) but the GET (server generating the full instruction database + download time) is around 40~50 milliseconds faster.
Both are things we assembly programmers should love to hear |
|||
16 May 2007, 02:35 |
|
mattst88 07 Jun 2007, 00:00
SSE4.1 instructions added. SSE4.2 instructions coming shortly.
|
|||
07 Jun 2007, 00:00 |
|
Goto page 1, 2 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.