Skip to main content
Advice
2 votes
2 replies
39 views

Our memory manager uses x87 FPU for 32-64 byte copies on legacy 32-bit x86: fild qword ptr [eax] ; push 8 bytes fild qword ptr [eax+8] ; push 8 more... ; 4 total fild, then fistp in ...
Maxim Masiutin's user avatar
1 vote
0 answers
98 views

I am making my own UNIX like OS called Connor's UNIX and I am implementing kernel and userspace separation and I have been all day and this is as far as I can get it to work and if you need any more ...
Connor Thomson's user avatar
Tooling
4 votes
3 replies
95 views

I'm starting to learn x86 Assembly but Visual Studio refuses to be installed ("Sorry, something went wrong. The install operation failed") on my (Windows 10) machine; I've researched and ...
student signup's user avatar
Advice
0 votes
4 replies
191 views

Title: Why does GCC transform a >= 4 into a > 3 at -O0? JG seems more complex than JGE I'm analyzing a simple C code on godbolt and found GCC's code generation puzzling: long a; a = a >= 4; ...
Alexandr's user avatar
2 votes
2 answers
119 views

As you can see down at bottom on my stage 2 boot loader, I have a VGA write thing (Prints out "Starting kernel...", but when I use it, the system starts to boot loop, I have no idea why this ...
Connor Thomson's user avatar
1 vote
0 answers
77 views

I'm trying to compile code in OpenWatcom 1.9 written in assembly. On Windows, utils in use: wasm msys2 command: /d/Maksym/WATCOM/binnt/wasm.exe -5p kstart.asm -fo=kstart.obj output: Open Watcom ...
Maksym Semenii's user avatar
5 votes
1 answer
79 views

I am having a problem with a bootloader I made. Mostly used code snippets from wiki.osdev.org, and screeck (on Github and Youtube) . The issue is: the bootloader cannot jump farther than 0xFFFFF, and ...
Alexbrine's user avatar
2 votes
1 answer
86 views

%macro mov_dd 2 push eax push ebx mov dword eax, [%1] mov ebx, [eax] mov dword [%2], ebx pop ebx pop eax %endmacro section .data text db "Enter first Number: &...
user31887642's user avatar
1 vote
1 answer
112 views

I wonder if Intel (and Intel compatible) CPUs have an instruction (for diagnostic/debugging purposes) which, for a given linear address, returns the result of paging translation (i.e. the ...
Ruslan's user avatar
  • 144
4 votes
1 answer
111 views

im trying to make a simple bootloader that loads a simple kernel and the problem is that the kernel code doesnt run i do see prints from the bootloader but not from the kernel here is my code: boot....
someuser's user avatar
0 votes
1 answer
60 views

I'm trying to fully understand how paging works in the x86 architecture when segmentation is also enabled. I have a couple of questions: Does paging divide the logical memory (the selector + offset ...
GZanotto's user avatar
2 votes
1 answer
146 views

I noticed std::atomic<uint64_t>{}.is_lock_free() returns true even if I switch the target platform to x86 in Visual Studio. I also checked the disassembly of an uint64_t assignment like below. ...
Tinggo's user avatar
  • 1,167
3 votes
0 answers
157 views

I was benchmarking a naive transposition and noticed a very large performance discrepancy in performance between: a naive operation where we read data contiguously and write with a large stride; the ...
Etienne M's user avatar
  • 715
5 votes
1 answer
82 views

I'm writing a hello-world program in i386 assembly for OpenBSD 7.8. The program works if the string (buf argument of write(2)) is in .data or on the stack, but write(2) returns EFAULT (== 14) if the ...
pts's user avatar
  • 88.7k
Advice
0 votes
2 replies
90 views

I have some troubles with prebuilt development tools (compiler, linker, ...) on my very old workstation. Because the CPU from my old system only supports the micro architecture level x86-64-v1 it ...
Johannes Krottmayer's user avatar

15 30 50 per page
1
2 3 4 5
1200