Category "assembly"

Does `ret` also remove all the function's arguments from the stack?

When ret is executed, it pops the (return) address and puts it in the EIP register. But what about all the function's arguments left on the stack? Are we just i

Writing an LC3 Subtraction subroutine to subtract R3 from R2

I'm just starting to learn LC3. If we want to write a Subtraction subroutine which subtracts the value stored in some register, lets say we want to subtract the

How to respond to this error: #Error 02: Jump>128 [duplicate]

Currently I'm working on an assembly project. For some reason I get the error: #Error 02: Jump>128. The code segment is as follows: morec

Printing an integer in assembly x86

I want to print an integer with this code but when i assemble with tasm and run program.exe in dosbox, nothing happens and i think it goes into an infinite loop

How to traverse memory for the Fibonacci sequence in ARM assembly

I must write the following function in its own assembly file: void fillFibonacciArray(int *array, int n); The function writes into the array the first n Fibonac

How does subtracting 0x1 - 0x80000000 cause an overflow?

MOV R0, #0x80000000 MOV R1, #0x1 SUBS R2, R1, R0 Upon Running this code, Flag N and Z are set. Now, I know N flag is set if the operation results

emu8086 - How do I make the font bigger in the editor

Well, the question is in the title. Tried through edit, there is no such option like settings, as well as tried to change the emu8086.ini file.

Decoding PHP obfuscated payload

Recently I found a malicious PHP payload on my company's server. The code seems to be encoded into two strings claster and x64. The claster string decodes to th

Why doesn't instruction opcode 0xBB exists? [duplicate]

I'm currently writing a virtual machine and I've realised that 0xBB is not a valid instruction when it should be. I tried using shellstorm wit

In Assembler AT&T context: What does movl do in this specified line?

i have a some simple lines of code in C and wanted to disassemble it: #include <stdio.h> int main(){ int i=42; } After compiling it and starting gdb, i

Assembly: Modify a odd number generator into a prime number generator

I have written a PROC to find all odd numbers. I want to transition the existing code into a prime number generator. The intent of the entire program is to take

is the register the only place the where arithmetic calculation operand come from? [duplicate]

(1) I wonder if the is register the only place the arithmetic calculation can happen? It looks like: add BYTE PTR [var], 10 — add 10 to

Including C headers from assembly

I've been writing assembly on linux for a while and I often find myself in need of including C headers which contain macro, enum and struct definitions (but cle

masm directive option prologue:none has no effect

I'm learning how to use masm using MS's official docs, but there's almost nothing written on the option directive (https://docs.microsoft.com/en-us/cpp/assemble

How to increment %eax register and output in a c callable function?

#include <stdio.h> extern int count(char *string, char c); int main(void) { char s[100]; char c; printf("Enter a string of characters:\n"); scanf

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