Skip to main content

Questions tagged [assembly]

An assembly language is a low-level programming language for a computer, microcontroller, or other programmable device, in which each statement corresponds to a single machine code instruction.

Filter by
Sorted by
Tagged with
-2 votes
3 answers
356 views

Backstory: Writing a QImage to Sixel renderer. Feel like I have optimized it the best I can using basic c++. I have heard suggestions here or there that you can utilize things like GPU, SIMD, insert ...
Anon's user avatar
  • 3,649
3 votes
1 answer
311 views

I'm writing a JIT runtime, and I've started thinking about shorter variants of some instructions. In x64 we can do at least two kinds of jumps: rel8 and rel32. The first one takes say 2 bytes (opcode +...
freakish's user avatar
  • 3,085
0 votes
0 answers
163 views

Recently, I started learning Arm64 assembly. The assembler I'm using is the GNU Assembler (GAS). The version of GAS I'm using is GNU assembler (GNU Binutils for Ubuntu) 2.42. I want to make my code ...
CorkiMain's user avatar
0 votes
2 answers
375 views

Something like this cmp $0, %eax jl exit jumps to the exit: label if the content of register eax is less than 0. So it's kind of jl applies the < operator to the operands of cmp, but in reverse ...
Enlico's user avatar
  • 130
-1 votes
1 answer
137 views

Recently I encountered an issue at work where a unit test written in C++ would crash only when being compiled with MSVC 2017 (MSVC 2019 and up are fine). I tried to debug this issue and it seems like ...
yijiem's user avatar
  • 107
7 votes
3 answers
2k views

Assuming that a VM runs a JIT compiler on otherwise "interpreted" code, such as a line by line interpreter or some form of bytecode/IL code and determines that it can create optimised native ...
AIWalker's user avatar
  • 1,365
-3 votes
1 answer
489 views

I know that a lot of compilers use an assembler to compile to machine code, to make an executable (compiled program). Some people even made their own assemblers, or they just use an existing assembler,...
Jack Murrow's user avatar
-5 votes
2 answers
193 views

Suppose we maintain a massive electronic library of texts/photos/videos etc., and want to ensure that these files are readable indefinitely long in the future. [Update] one of the major problems with ...
Ilya Zakharevich's user avatar
0 votes
2 answers
287 views

I'm having an issue with dependencies in a C# app that I'm creating. I have an assembly for my authentication process, and a separate assembly for starting up the main program once authentication is ...
Adam B's user avatar
  • 1,660
2 votes
1 answer
450 views

In Computer Systems: a Programmer's Perspective, Alignment is enforced by making sure that every data type is organized and allocated in such a way that every object within the type satisfies its ...
Tim's user avatar
  • 5,565
1 vote
3 answers
278 views

If I am correct, an assembly language uses the program stack to store data. Is it correct that the program stack is partitioned to frames, each of which is for a call to a procedure? So there is no ...
Tim's user avatar
  • 5,565
-1 votes
1 answer
123 views

In Computer Systems: a Programmer's Perspective: procedure calls may involve passing data as arguments, and returning from a procedure may also involve returning a value. With x86-64, most of these ...
Tim's user avatar
  • 5,565
0 votes
2 answers
428 views

From Computer Systems: a Programmer's Perspective, about assembly languages: We see that the Intel and ATT formats differ in the following ways: The Intel code omits the size designation suffixes. We ...
Tim's user avatar
  • 5,565
0 votes
3 answers
218 views

When compiling C programs to assembly programs and then to machine programs, does the assembler (e.g. the one used in GCC or other popular C compilers) perform the same tasks as the translator from C ...
Tim's user avatar
  • 5,565
-3 votes
2 answers
243 views

Why will it take that long to transition all Mac software to ARM according to Apple? I thought all they would need to do is to recompile the source code of their apps and rewrite SIMD code from intel ...
mbl's user avatar
  • 111
-2 votes
3 answers
200 views

I am a JavaScript developer mainly, so I am familiar with object-oriented code and dealing with things you can see easily and interact with, like the GUI, even HTTP requests, etc. Plus you can put ...
Lance Pollard's user avatar
12 votes
1 answer
3k views

Why is assembly language called "assembly"? I was just watching the 1st video in the "Crockford on JavaScript" series. In it, Douglas says, ". . . the first program to make programming easier was ...
katzbatz's user avatar
  • 357
8 votes
1 answer
16k views

I am curious about the Difference between direct and indirect function() calls Could anyone help in the diff analysis ? The c source code could be found at subroutine_direct.c and ...
kevin's user avatar
  • 197
2 votes
1 answer
292 views

In my searching although this question seems to get answered a lot, the answers don't really cover what I want to ask. I'm learning assembly and my question is, in higher level languages e.g C data ...
Nick's user avatar
  • 149
2 votes
1 answer
967 views

As I can understand, assembly language is just a symbolic representation of hardware instruction opcodes that a hardware manufacturer has offered/documented, based on the way they have designed their ...
aderchox's user avatar
  • 184
0 votes
1 answer
162 views

The AMD64 specification talks about /0 with regards to instruction encoding but I don't have a clue what is meant by that. For example, in Volume 3 the ADD instruction has three forms: ADD reg/mem16,...
Paul McKneely's user avatar
-2 votes
5 answers
1k views

I know there are a lot of threads regarding this topic, but I can't find the answer for this precise topic: First of all, with the "first assembler" I mean the program that translates, let's say, the ...
fbac's user avatar
  • 9
52 votes
4 answers
17k views

When compiling C code and looking at assembly, it all has the stack grow backwards like this: _main: pushq %rbp movl $5, -4(%rbp) popq %rbp ret -4(%rbp) - does this mean the ...
alex's user avatar
  • 519
1 vote
1 answer
676 views

I have compiled the following simple c++ code: #include <iostream> int main(){ int a = 5; int b = 6; long c = 7; int d = 8; return 0; } and here is the assembly: pushq %rbp ....
Joe's user avatar
  • 21
0 votes
1 answer
1k views

In laymen's terms, what is the difference between opcodes and operands in assembly language programs? I understand that one involves where to get the data and one involves what is to be performed on ...
Cody Rutscher's user avatar
8 votes
3 answers
2k views

I'm trying to figure out a technique to optimize bytecode for the following virtual machine: Bytecode is a flat list of instructions, with execution starting from the first instruction. Stack bytecode:...
Li Haoyi's user avatar
-4 votes
2 answers
278 views

What I want to know is, how can we still make use of assembly today, in productive manners? When assembly outperform C, so it would seem practical to write a section of the project in assembly rather ...
fido9dido's user avatar
  • 133
0 votes
1 answer
3k views

So, I am more or less voluntarily learning NASM, and I have problems finding sources that really explain it. Unlike with Java or C# I can't just use google as well, since Assembly just isn't used by ...
Martin's user avatar
  • 3
-7 votes
1 answer
428 views

Assume the following C code: #include <stdio.h> int main() { int a = 5; int b = 15; return a + b; } Compiling it using gcc creates an assembly code which includes the following: ...
Joes's user avatar
  • 1
1 vote
1 answer
378 views

So i heard that in modern operating systems and device drivers, some parts of them are still written in assembly for better memory optimisation and speed but do developers actually write it in ...
John P's user avatar
  • 129
1 vote
2 answers
2k views

I'm working on a C compiler for Linux for the purpose of personal curiosity/fun. How can I test the generated assembly before the compiler is complete enough to do anything useful? For example, if I ...
user avatar
1 vote
1 answer
115 views

In the same way that you can simulate the if statement and functions, I am wondering if there is a way to simulate the comparison operators ==, !=, >, >=, <, <=. For example, in ...
Lance Pollard's user avatar
0 votes
3 answers
580 views

Basically, I want to know how to simulate while and if if I'm handling the control flow myself through an array of instructions. The while loop can be simulated by if, as seen with assembly branching ...
Lance Pollard's user avatar
-6 votes
1 answer
194 views

I wonder why in assembly there are often included symbols as a language feature and what's the purpose of it?
connie's user avatar
  • 1
0 votes
0 answers
272 views

Along the lines of How v8 JIT compiler manages dynamically changing variables, wondering how you would go about creating dynamically generated variables in assembly. Not necessarily looking for ...
Lance Pollard's user avatar
-4 votes
1 answer
198 views

I am currently designing and developing a programming language from scratch. Mostly as a learning experience. Although it's not entirely related to the question, it's important that you know a little ...
D. Ataro's user avatar
-1 votes
1 answer
864 views

I am writing a simple compiler. I have written lexer and parser and it now generates assembly code from given code. Now I need to write an assembler which generates machine code. But the problem is ...
Greatcode's user avatar
0 votes
2 answers
900 views

I’ve been reading about older processors (8080, 8086 and that) and i’ve seen that those older 8-bit processors had some 16-bit instructions through the use of register pairs. For example, on the 8080, ...
DylanG's user avatar
  • 135
9 votes
2 answers
8k views

I've been reading about CPUs and how they are implemented, and some big complex architectures (looking at you x86) have instructions that load from memory during one clock cycle. Since one address ...
DylanG's user avatar
  • 135
6 votes
1 answer
3k views

The GNU Assembler as uses different characters depending on the architecture to specify single-line comments, such as # on x86, ; on 29k, or @ on ARM. Moreover, regardless of platform, C-style ...
Ankush's user avatar
  • 861
-1 votes
1 answer
454 views

I've been working on a 24-bit virtual machine to help me learn more about computers and programming in general and was hoping to find a bit more information on memory mapped input/output and hardware ...
Grawprog's user avatar
0 votes
5 answers
3k views

I was coding some functions in C++ and wondered how different versions of those functions would affect generated assembly code. I put different versions into the Godbolt Compiler Explorer Tool and ...
TorbenJ's user avatar
  • 183
9 votes
1 answer
3k views

Each data type must be aligned to a multiple of some number of bytes, for example a short int must be aligned to a multiple of 2 bytes, and an int must be aligned to a multiple of 4 bytes. But why ...
mahmoud_t1's user avatar
-2 votes
1 answer
396 views

What is Allison's Algorithm and how does it aid in converting hex digits into ASCII characters? ;algorithm (found online) ADD AL, 90h DAA ADC AL, 40h DAA http://computer-programming-forum.com/...
xvk3's user avatar
  • 131
8 votes
1 answer
2k views

The following image shows where the sections of a process are laid out in the process's virtual address space: You can see that there is only one stack section (since this process only has one thread ...
joseph_m's user avatar
  • 335
1 vote
3 answers
599 views

I am new to Assembly, and based on my understanding, an ISA (Instruction Set Architecture) specifies what instructions are available for a particular CPU. But does an ISA also specify what registers ...
joseph_m's user avatar
  • 335
1 vote
1 answer
425 views

I'm am trying to understand machine code memory addressing for x86, and I've encountered two opposing general forms for addressing (using the ModRM and SIB bytes). Most unofficial resources I consult ...
Joseph Johnston's user avatar
3 votes
2 answers
431 views

A lot of ISAs including x86, x64, ARM, Itanium, have a pop instruction that requires an operand which is usually a register (or, in ARM's case, a register list). In fact, I can't think of an ISA off ...
Govind Parmar's user avatar
-10 votes
1 answer
13k views

I have to do a program to school in Assembler but we did just a few basic things. Is it possible to write code in Java and convert it to Assembler?
jankova0013's user avatar
4 votes
2 answers
455 views

For example, a language that I was looking at recently- Terra. You can address the question in the context of any language, I'm just most comfortable with Lua so I'm starting from there. The Terra ...
Zachary Johnson's user avatar