I don't no which way to go, get Emu8086 to link to Visual C++ or Visual C++ to Emu8086, I mean I just don't know how to link it, I think Visual C++ links easily to MASM, yet I need Visual C++ to compile to assembly and then Emu8086 to build the ASM into the kernel, as we all know Emu8086 is compatible with some functions of MASM, would it be possible to do this, anyone tried?
By the way I am using Vista so I'll need compatible software and/or software for Vista.
Please Help.
Thanks
CybX.

Dani AI

Generated

Short answer: don’t try to “link” Emu8086 and Visual C++ — they target different architectures and object formats, so their outputs are not compatible.

Emu8086 is an 8086 real‑mode assembler/emulator. Visual C++ 2008 produces 32‑bit protected‑mode code and COFF objects for the Win32 environment. That means calling conventions, segment model, instruction set assumptions and binary formats all differ; an assembly listing produced by MSVC is for 32‑bit code and will not assemble or run as 8086 real‑mode code. As suggested, asking Emu8086’s authors can help with Emu8086 specifics, but it won’t bridge the fundamental mismatch described above.

If the goal is an 8086 (16‑bit) kernel: use a 16‑bit toolchain from the start. Assemble and test with Emu8086 or a MASM/TASM compatible assembler, and compile C with a compiler that can target 16‑bit (for example Open Watcom). The OSDev wiki has step‑by‑step guidance for small kernels and toolchains (Bare_Bones and GCC_Cross-Compiler are good starting points). Open Watcom and classic 16‑bit assemblers are more appropriate than Visual C++ for producing 8086 binaries (, NASM).

If the goal is a 32‑bit protected‑mode kernel, use a proper cross‑toolchain (i686‑elf gcc + binutils) and a linker script to produce a flat binary. Visual C++ can compile 32‑bit kernel C code, but integrating it into an OS build is harder than using a standard cross‑GCC toolchain that many OS developers use (see the OSDev cross‑compiler guide).

Practical tip: decide the target CPU/mode first (8086 real mode vs 32‑bit protected mode). If staying with Visual C++ Express, note MASM is not bundled — Professional or a separate SDK/toolchain is required (see related discussion on using MASM with Express editions).

Recommended Answers

All 4 Replies

By the way I'm making my first (or best attempt) at making an OS, bottom first and working my way up, I hope this is the right forum and I hope you can help, if not refer me to the right forum, please!

Re: No answers...

Why don't you ?

Tried it, no help, they don't understand much english there, I don't think - so I'm stuck!

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.