x86

Are There any Open Source Real Time Operating Systems?

Are there any open source real time operating systems out there? I've heard of real-time Linux, but most implementations seem to really be a proprietary RTOS (that you have to pay for) that run Linux as a process -- much the same way Ardence's RTX real-time system works for Windows. EDIT: I should clarify that I'm looking for RTOS to w...

Online Assembly language resources

Hi, does anyone have any resources for learning assembly language on x86? I'm trying to debug a program in MSVC++6 and frequently come across assembly (like stepping into memcpy).. Previously I just ignored these but memcpy keeps throwing exceptions and I need to find out why.. Any help would be appreciated :) EDIT:Wow, lots of great r...

x86: Possible to debug-break when a particular pointer-to-string is pushed on the stack?

Hi, I am debugging a third-party DLL for which I don't have the source code. This DLL maintains a pool of strings. I want to trap the earliest occurrence at which one of these strings is passed into a function...any function at all... In other words, I want to detect when a pointer-to-a-null-terminated-string having a certain format is...

Help me understand this JavaScript exploit

I usually do not have difficulty to read JavaScript script but this one I can't figure out the logic. The code is from an Exploit that has been published 4 days ago. You can find it at milw0rm. Here is the code: <html> <div id="replace">x</div> <script> // windows/exec - 148 bytes // http://www.metasploit.com ...

Unicode strings in process memory

What is the most preferred format of unicode strings in memory when they are being processed? And why? I am implementing a programming language by producing an executable file image for it. Obviously a working programming language implementation requires a protocol for processing strings. I've thought about using dynamic arrays as the ...

Dynamic linking with smalltalk objects

I plan about implementing a dynamic linking into my smalltalk dialect. The problem is about getting message passing to work with dynamic linking. Message passing itself is as simple as this: message with a selector is sent to the object, the object picks up a method matching with the selector from it's protocol, it then process the data...

GC in multithreaded environment

How to do garbage collection in a program that consist from multiple threads or processes? I also like to know how can I scan the stack from each of those threads and processes? Does each process require it's own garbage collection routine? Is it a good idea to run the garbage collector in a separate thread/process from the actual prog...

Splitting a string on AT&T IA-32 Linux Assembler (gas)

.section .data astring: .asciz "11010101" format: .asciz "%d\n" .section .text .globl _start _start: xorl %ecx, %ecx movb astring(%ecx,1), %al movzbl %al, %eax pushl %eax pushl $format call printf addl $8, %esp movl $1, %eax movl $0, %ebx int $0x80 Suppose I wanna break the .asciz string 1101011 and get it's first one. How do I...

creating a substring on Linux IA-32 assembler (gas)

I wanna create a substring (ministring) of 3 asciz chars out of my original (thestring). The thing ain't printing when being run so I don't know what the hell I'm I doing. Why it ain't printing? Am I creating the ministring correctly? .section .data thestring: .asciz "111010101" ministring: .asciz "" formatd: .asciz "%d" formats:...

write-protected virtual pages, catch write

Does there exist a way to catch a write into write-protected page? I plan doing a self -like object system where you copy the object to instantiate it. (because it sounds simple and compact thing compared to the rest) Obviously, the objects created for this purpose ought be write-protected some way. I've seen there's a way to flag somet...

Converting 32-bit Application Into 64-bit Application in C

I am presently working on converting a 32bits application into a 64bits application in C. This application is currently working on x86 architecture (Windows, osx, Unix, Linux). So, before starting coding, I wanted to know what do I need to consider while converting the application. ...

ASM print over allready printed values

I have an ASM script that displays date(day, month, year) and time(hours, minutes, seconds). This prints the current datetime on the DOS-box. Thing is, it's static. What I want to do is make it dynamic, meaning I have to write the new value in the exact place where the current value is standing on the screen. How do you do this in ASM? ...

Multithreading and Interrupts

I'm doing some work on the input buffers for my kernel, and I had some questions. On Dual Core machines, I know that more than one "process" can be running simultaneously. What I don't know is how the OS and the individual programs work to protect collisions in data. There are two things I'd like to know on this topic: (1) Where do int...

Is it possible to predict a stack overflow in C on Linux?

There are certain conditions that can cause stack overflows on an x86 Linux system: struct my_big_object[HUGE_NUMBER] on the stack. Walking through it eventually causes SIGSEGV. The alloca() routine (like malloc(), but uses the stack, automatically frees itself, and also blows up with SIGSEGV if it's too big). Update: alloca() isn't f...

What is the fastest virtual machine design for x86?

I will implement a virtual machine in x86 and I wonder what kind of design would yield best results. What should I concentrate on to squish out the juice? I will to implement the whole virtual machine in x86 assembly. I haven't much instructions and I can choose their form. The instructions project directly into smalltalk's syntax in bl...

Running C# app 32 bit on 64 bit machine

How do I force my app to run 32 bit on the 64 bit machine? The code is written in C#. ...

What should I know when switching from MIPS to x86 assembly?

At school we have been programming in MIPS assembly language for some time. I'm interested into delving into x86 assembly and I have heard that is somewhat harder (even my MIPS textbook says this). What core information should I know as a MIPS programmer before making the dive into the x86 world? ...

developing for new instruction sets

Intel is set to release a new instruction set called AVX, which includes an extension of SSE to 256-bit operation. That is, either 4 double-precision elements or 8 single-precision elements. How would one go about developing code for AVX, considering there's no hardware out there that supports it yet? More generally, how can developer...

How can I program MIPS assembly from x86 linux?

Are there any command line interpreters around for x86 linux inorder to run MIPS assembly programs? I'd like to be able to write simple MIPS assembly programs and run them from the console on my local machine. I know of SPIM but it requires X Windows and I'm curious if there are better options out there. Edit: Turns out it doesn't req...

x86: ZF not always updated by AND?

Hello! I'm debugging my code on x86 and the problem tracks down to AND instruction sometimes does not clear ZF flag if the result is not zero. Here is the problematic piece of code: 0257A9F9 mov edx,dword ptr [ecx+18h] 0257A9FC and edx,80000h 0257AA02 int 3 0257AA03 je 0257AA2A I added a b...