x86

Good x86 assembly book

I'm looking to teach myself basic hardware architecture; specifically, I'd like to learn x86 assembly for Linux or OSX. What books does this community recommend?...

x86 Assembly on a mac...

Does anyone know of any good tools (i'm looking for IDEs, primarily) to write assembly on the mac... XCode is a little cumbersome to me. Also, on the Intel Macs, can I use generic x86 asm? or is there a modified instruction set? Any information about post Intel Also: I know that on windows, asm can run in an emulated environment cre...

8086 Assembler Tutorial

Following on from http://stackoverflow.com/questions/27568/, I have decided to try and focus on x86 assembler rather than Z80 assembler. To that end, I'd like suggestions of good tutorials to follow. Suggestions of other useful information (such as reference works on x86 assembler) are also very welcome. ...

What is the meaning of "non temporal" memory accesses in x86

This is a somewhat low-level question. In x86 assembly there are two SSE instructions: MOVDQA xmmi, m128 and MOVNTDQA xmmi, m128 The IA-32 Software Developer's Manual says that the NT in MOVNTDQA stands for Non-Temporal, and that otherwise it's the same as MOVDQA. My question is, what does Non-Temporal mean? ...

How can I make my VS2008 x86 installer install x64 assemblies on x64?

I'm using the VS2008 installer (plus a custom Orca action) to create an installer for my .NET product. I just recently found out that one of the third-party assemblies I was using is x86-specific (as it includes some native code); thus, x64 customers were getting crashes on startup with errors about the assembly not being appropriate fo...

What is the fastest way to convert float to int on x86

What is the fastest way you know to convert a floating-point number to an int on an x86 CPU. Preferrably in C or assembly (that can be in-lined in C) for any combination of the following: 32/64/80-bit float -> 32/64-bit integer I'm looking for some technique that is faster than to just let the compiler do it. ...

How can I tell whether I am on x64 or x86 using .NET?

I'd like to offer my users correct links to an upgraded version of my program based on what platform they're running on, so I need to know whether I'm currently running on an x86 OS or an x64 OS. The best I've found is using Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE"), but I would think there would be some built-in faci...

How to disable a programmatical breakpoint / assert?

I am using Visual Studio, developing a native application, I have a programmatical breakpoint (assert) in my code placed using __asm int 3 or __debugbreak. Sometimes when I hit it, I would like to disable it so that successive hits in the same debugging session no longer break into the debugger. How can I do this? ...

How much speed-up from converting 3D maths to SSE or other SIMD?

I am using 3D maths in my application extensively. How much speed-up can I achieve by converting my vector/matrix library to SSE, AltiVec or a similar SIMD code? ...

GCC inline assembler, mixing register sizes (x86)

Does anyone know how I can get rid of the following assembler warning? Code is x86, 32 bit: int test (int x) { int y; // do a bit-rotate by 8 on the lower word. leave upper word intact. asm ("rorw $8, %0\n\t": "=q"(y) :"0"(x)); return y; } If I compile it I get the following (very valid) warning: Warning: using `%ax' instead...

How to get GCC to use more than two SIMD registers when using intrinsics?

I am writing some code and trying to speed it up using SIMD intrinsics SSE2/3. My code is of such nature that I need to load some data into an XMM register and act on it many times. When I'm looking at the assembler code generated, it seems that GCC keeps flushing the data back to the memory, in order to reload something else in XMM0 an...

Calling 32bit Code from 64bit Process

I have an application that we're trying to migrate to 64bit from 32bit. It's .NET, compiled using the x64 flags. However, we have a large number of DLLs written in FORTRAN 90 compiled for 32bit. The functions in the FORTRAN DLLs are fairly simple: you put data in, you pull data out; no state of any sort. We also don't spend a lot of...

OS Development

I want to make my own operating system for the X86 architecture. What would be the best language to use? (Along with assem of course) What would the best compiler for the language be on a windows environment? Are there any good tutorials on this subject? Is it better to test it using an emulator or physical pc? ...

Is x86 assembler via .NET possible?

Is there such a thing as an x86 assembler that I can call through C#? I want to be able to pass x86 instructions as a string and get a byte array back. If one doesn't exist, how can I make my own? To be clear - I don't want to call assembly code from C# - I just want to be able to assemble code from instructions and get the machine code...

Are there any considerations needed to be taken running your .net program on x64 vs x86?

I believe the architecture type (x86 vs x64) is abstracted away for you when making .Net programs, but are there any other considerations that can cause problems? ...

Unable to run assembly program

Hi, I have just started reading Introduction to 80x86 Assembly Language and Computer Architecture.I am trying to use NASM, to run the first example shown in chapter 3 ,but unsuccessfully.Has anyone read the book,and run the examples? ...

x86 Assembly - 'testl' eax against eax?

Hi All, I am trying to understand some assembly. Assembly as follows, I am interested in the testl line: 000319df 8b4508 movl 0x08(%ebp),%eax 000319e2 8b4004 movl 0x04(%eax),%eax 000319e5 85c0 testl %eax,%eax 000319e7 7407 je 0x000319f0 I am trying to understand that point of ...

Fast pseudo random number generator for procedural content

I am looking for a pseudo random number generator which would be specialized to work fast when it is given a seed before generating each number. Most generators I have seen so far assume you set seed once and then generate a long sequence of numbers. The only thing which looks somewhat similar to I have seen so far is Perlin Noise, but i...

How do I compile to x64 binary from a x86 platform running VS2008 Pro?

I am trying to compile my apps (which uses 3rd party libraries) for the x64 platform. However selecting x64 from Build Configuration Manager from my VS2008 Pro doesn't seem to work. The binary does get created but my client wasn't able to get it to run on x64. I wonder if the 3rd party DLLs could be the cause. Anyone has any idea on th...

Can a WinForms app be configured to run as "x86" without recompiling?

Can a WinForms app compiled for "Any CPU" be configured to run as "x86" on a 64-bit server without recompiling the app? Specifically, I'm looking for an app.config setting or Control Panel applet to accomplish this end. All the customer's clients are x86, but the server is x64, and we like to install the WinForms app on the server for ad...