Category "assembly"

mold and lld not linking against libc correctly

I've been writing some x64 assembly on linux - exactly what it is is not relevant - and I've come across a strange problem. In my assembly code, I've declared p

What is the Program Segment Prefix (PSP)?

What exactly is Program Segment Prefix (PSP)? I searched in Google but couldn't find any clean and straight answers to help me completely understand it. What d

Most insanely fastest way to convert 9 char digits into an int or unsigned int

#include <stdio.h> #include <iostream> #include <string> #include <chrono> #include <memory> #include <cstdlib> #include <

x86 Assembly Question - Can anyone determine what is happening below?

I downloaded a modification for a 20+ year old game I play, which is written in assembly code. It adds a fog effect, and then varies the grip levels based on th

Why is calling snprintf() so slow?

Our internal program is written in C and makes extensive use of snprintf() for many pieces, and I noticed that during debugging with perf record/report, it's sp

Compile and run assembly on macbook

I'm taking a course on computer structure and I'm lost. I was given the following file: Hello.s: #This is a simple "Hello World!" program .section .rodat

How Do I Convert This ATT assembly to Intel Syntax? Jump to a non-relative address without using registers

I was reading this article " assembly-challenge-jump-to-a-non-relative-address-without-using-registers ". I need to do exactly what he suggests here (Jump to a

Break down the logic for a C for-loop into something I can implement in MIPS? (count number occurrences in an array)

Hi all i am converting my C code to MIPS but problem is here i couldn't make correct logic for this for (int i=0;i<count;i++) { h[a[i]]++; } as

How I can include .asm file properly?

When studying assembler at the university, I encountered the following problem: I have 3 files (all of them oversimplified, they were much bigger): main.asm .58

How to switch from 32-bit to PAE paging directly?

I'm developing a microkernel for my personal research. I have chosen to run my kernel at 0xf0000000, leaving 3.75 GiB for user space programs. When my kernel st

How can I call a rust function in rust inline asm module

I try to call my function just like the example code: use std::arch::asm; extern "C" fn foo(arg: i32) -> i32 { println!("arg = {}", arg); arg * 2 }

How does the EBP register get saved?

I couldn't find much information or specification that suits me, so I have no choice but to ask here. When we call some function with the call instruction and t

Hack assembly language - finding the maximum number in RAM

as a task I have to find the maximum number in the RAM locations 10 to 20 and we have to write the solution into RAM[0]. I have a big problem with getting the i

Debugging NASM in VS code

I have a simple C++ program that calls some NASM code: main.cpp: #include <iostream> extern "C" int foo(); int main() { std::cout << "The result

Check for keypress without blocking if no key was pressed

I'm creating an application to view the current time and I created a loop to update the time each second. The loop looks like this UPDATE: ;The code to be re-

I don't know why the division produces a quotient and a remainder that are wrong

How to fix this one: I don't know why both the quotient and the remainder are wrong. My DOSBox Code: .model small .stack 100h .data Dividend db 0dh,0ah,

What calling convention does printf() in C use?

So I've been practicing to write simple subroutines in FASMW using the CDECL and STDCALL calling conventions and it got me wondering about what the printf funct

Allocate a vector of bytes on stack in assembly x86

I try to put on stack the values contained by array_output but every time I print the values from the stack it prints just 0s. If I try to print the array simpl

Client socket coded in ASM (FASM) does not connect to Server

I am creating a communication between a client and a server via tcp/ip socket. I am developing the client in ASM (FASM) and I cannot connect to the server. The

Not adding the stack bytes to the .EXE file with MASM 5.0

I'm writing two assembly files for DOS: hm2.asm: .8086 DGROUP group _DATA, STACK ; Required by MASM 3.0 and 4.0. ; MASM 4.0 doesn't support USE16 (but MASM