Questions tagged [assembly]

Tag for questions regarding the wide family of assembly languages both low and high level. It should be used for both the languages themselves as well as their assemblers.

Filter by
Sorted by
Tagged with
0 votes
1 answer
23 views

as .*s does not work like gcc .*c

when i run gcc -c *.c, it runs:- gcc -c file1.c -o file1.o gcc -c file2.c -o file2.o gcc -c file3.c -o file3.o ... but as *.s runs:- as file1.s -o a.out as file2.s -o a.out as file3.s -o a.out ... ...
user avatar
0 votes
2 answers
33 views

a better assembler than "objdump -d"?

i notice when using objdump -d, it outputs the assembly (in either intel syntax or AT&T syntax), the binary opcode encodings and the address numbers. in my case, i just want the disassembler to ...
user avatar
0 votes
1 answer
26 views

Why does assembler called from script not create a certain file when run from crontab?

I'm using this script to build and package some applications I developed. Full content of the script is listed at the end. It is called by this crontab entry: 50 23 * * * nice $HOME/update-dl-wwwecm $...
user avatar
  • 121
0 votes
0 answers
48 views

How to disassemble floppy disk?

I want to disassemble floppy disk and assemble it again with nasm -f bin command. For example, I want to disassemble MS-DOS .img files and assemble it again with nasm -f bin command. I tried to use ...
user avatar
  • 63
1 vote
1 answer
594 views

How do I run shellcode on Linux kernel 5.8+?

The assembly code I'm trying to run is simply a syscall 60. # exit.s .intel_syntax noprefix .section .text .globl _start _start: xor rax, rax mov al, 0x3c xor rdi, rdi xor rdi, 1 syscall ...
user avatar
-6 votes
1 answer
141 views

Does the existence of linker and loader not depend on operating systems such as Linux?

Does the existence of linker (for performing linking following compilation) and loader (for executing an executable file) not depend on operating systems such as Linux? (I had though of linker and ...
user avatar
  • 89.7k
3 votes
1 answer
87 views

How is overflow_stack variable included in entry.S in arm64 architecture?

The overflow_stack variable is used in the kernel_ventry macro in arch/arm64/kernel/entry.S /* Switch to the overflow stack */ adr_this_cpu sp, overflow_stack + OVERFLOW_STACK_SIZE, x0 It ...
user avatar
  • 33
3 votes
1 answer
713 views

How to disassembly multiple functions using Linux utility objdump?

After a program is compiled and the binary file is generated, we can use objdump to disassemble the binary file and extract the assembly code and a lot of information. However, using -j .text with ...
user avatar
1 vote
1 answer
745 views

How can we perform an arithmetic operation on a register using GDB? [closed]

I want to inject a bit-flip fault into a running program. For this purpose, I'm using gdb to insert a breakpoint into the target program and then flipping a single bit in a random-selected register. ...
user avatar
0 votes
1 answer
75 views

Red hat vs Ubuntu compile and assembly Problem(Book reference)

Can you recommend me OS mentioned in Shellcoder's Handbook because I'm having frequent issues on running ELF files mentioned there(See the errors below). I know that to overcome those error I have to ...
user avatar
2 votes
1 answer
2k views

-bash: ./ex1: cannot execute binary file: Exec format error (on Ubuntu installed through Windows 10 app store, 64 bit)

I am trying to start out with some assembly but I run into this error from the outset. Here are the details: I've written the file myself (following a video) so its not some import: global _start ...
user avatar
  • 39
2 votes
3 answers
831 views

Why is an executable called a "text file"?

In the course of updating software today I got the error "Text file busy", which got me wondering: Why is a Unix (or Linux) executable called a "text" file when that seems so counterintuitive and ...
user avatar
2 votes
1 answer
162 views

Is it safe to use the .bss section as a static stack?

(This is in the context of x86-64 Linux.) I am trying to write a high-reliability userland executable, and I have total control over the generated assembly. I don't want to rely on automatic stack ...
user avatar
1 vote
0 answers
125 views

How to export kernel functions which written in assembly?

I am working with a PowerPC processor and have to use dcache functions in my kernel module, like: "clean_dcache_range()", implemented in $KERNEL_SOURCE/arch/powerpc/kernel/misc_32.S (version 4.1.8). ...
user avatar
6 votes
1 answer
316 views

How to understand this TMG's assembly code from the Version 6 Unix?

Early versions of Unix included Doug McIlroy's tool tmg ("transmogrifier"), an early compiler-compiler. TMG was implemented in Dennis Ritchie's assembly language as well as in TMGL itself (the ...
user avatar
0 votes
1 answer
607 views

How is the Linux kernel partially written in assembly when system calls are required? [closed]

Does the kernel just not use system calls, or is the assembly being assembled before being on a new system? I might need some more info on assemblers, but I'm just confused that if instructions such ...
user avatar
2 votes
1 answer
56 views

What the branch machine op-code means (X86 architecture)?

I have a simple c code which is compiled and then the text code extracted using objdump utility. here is the dump file (A piece of dumped file): 0804841b <main>: 804841b: 8d 4c 24 04 ...
user avatar
2 votes
1 answer
471 views

How to build and run the GNU GAS assembler test suite?

I'm at Binutils tag binutils-2_31, and there is a directory: gas/testsuite with some tests that I'm interested in. I've compiled the entire binutils with: ./configure make but the directory gas/...
user avatar
1 vote
1 answer
163 views

What software that I run uses AVX (or a specific assembly instruction)?

Let's say I want to find any libraries that use AVX, or the VZEROALL instruction? How could I go about doing that? I don't care if the AVX was hand written or compiled, I'll look that up later. I'm ...
user avatar
  • 22.4k
19 votes
1 answer
7k views

Why can the kernel not use SSE/AVX registers and instructions?

This post from StackOverflow has this, In some environments there there is a restriction on certain instructions or using certain registers. For example, in the Linux kernel, use of SSE/AVX or FP ...
user avatar
  • 22.4k
1 vote
1 answer
494 views

What does SYSENTER do in 64-bit Long mode on Linux?

There is an x86 instruction sysenter. This seems to be the Intel fast-system-call method. SYSENTER seems to be valid in LONG mode (64-bit) on Intel processors. This seems to have fallen out of favor ...
user avatar
  • 22.4k
0 votes
1 answer
2k views

Running a custom-compiled executable returns "No such file or directory"

I have an executable but when I run it I get "No such file or directory" $ chmod a+x bin $ file bin bin: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/...
user avatar
  • 22.4k
0 votes
1 answer
472 views

Does GCC generate Bit Tests (x86 BT)?

Seaching through the GCC source, I see things like X86_TUNE_USE_BT TARGET_USE_BT My goal is to get an answer for myself whether or not GCC generates BT, BTS, BTR, and BTC. I started with BT and I ...
user avatar
  • 22.4k
2 votes
1 answer
77 views

Issues with cross-compiling and "as"?

I'm trying to compile source for a utility for an ARM system (host machine: x86_64, Debian, uname -v reports version as "Debian 4.9.110-3+deb9u1") but when it tries to pack the file into a final ...
user avatar
1 vote
1 answer
177 views

Where is start symbol in cat executable?

In my Ubuntu 18.04, when I disassemble /bin/cat or the one in coreutils using IDA Pro there exists "start" symbol, usually found with name "_start" in other programs such as gimp. However, when I use ...
user avatar
  • 605
3 votes
1 answer
2k views

What do you call the calling convention behind `int 0x80`?

I know there is a syscall convention but what do you call the calling convention that precedes it that you see when you call to int 80 rather than syscall, like this. mov rax,4 ; system call ...
user avatar
  • 22.4k
1 vote
1 answer
960 views

Kernel initialization in UEFI mode

When using old legacy BIOS (consider X86 architecture), the boot loader jumps to a location at the real mode kernel (offset 512 which is defined in header.S assembly file) and starts the real mode ...
user avatar
-1 votes
1 answer
666 views

How does the processor determine each instruction's opcode and operands: looking into binary file with VIM [closed]

I run the command view /bin/ls on FreeBSD 10.3 and I can see the binary file unmodified: Then on vim/view I run the command :%!xxd and I can see the file in hex format as follows. I notice at the ...
user avatar
  • 1,315
2 votes
1 answer
721 views

Z80 CPU cross-assembler for the MSX standard

I'm trying to program for the old eighties MSX standard that used a Z80 CPU. My problem is that I can't seem to find a cross-assembler for this CPU using the MSX standard. Is there any Z80 CPU MSX ...
user avatar
3 votes
0 answers
100 views

perf-like assembly reading tool

perf has a very friendly terminal interface for performance analysis. It has a very helpful feature that the branch target is annotated with beautiful arrows, showing where this branch is going to (if ...
user avatar
  • 215
1 vote
1 answer
491 views

x86 Emulator for Linux with detailed debugging

I am looking for a x86 emulator so that I can run my Linux kernel inside it. I am specifically looking for an emulator that shows all the function calls in C/Assembly level from bootloader, all the ...
user avatar
  • 187
2 votes
3 answers
7k views

Any x86-64 Linux assembler?

I want to start learning assembly language, but all the googling didn't make any sense. I got some Exec format error and even used wine which is not good for understanding. So I wonder if anyone can ...
user avatar
  • 713
1 vote
1 answer
560 views

Incompatibility of High Level Assembly on Kali Linux Rolling

After reading the "Art of Assembly Language", I obtained the High Level Assembly language from the website listed in the book. After editing my .bashrc file, I compiled my canonical "Hello world!" ...
user avatar
  • 111
81 votes
11 answers
355k views

How to view a binary file?

From what I understand, a compiler makes a binary file that consists of 1's and 0's that a CPU can read. I have a binary file but how do I open it to see the 1's and 0's that are there? A text editor ...
user avatar
2 votes
1 answer
5k views

Compile shared library from asm code with current sources

I just did some basic functions in asm that I compile in a shared library. Like : BITS 64 global foo section .text foo: mov rax, 1 ret I compiled with ...
user avatar
  • 133
2 votes
1 answer
223 views

Is there a reference for the assembler-like output produced by `awk -W dump`?

The command awk -W dump ... produces a dump of "assembler-like" code (as shown here [link], or by reading the man). Some of the instructions are easy to guess at their meaning such as jz, which is ...
user avatar
  • 159
0 votes
1 answer
11k views

Permission denied when I try to run a program assembled with the GNU assembler

I was testing the GNU assembler using intermediate code generated by gcc. I don't really understand the GNU assembly syntax at all, though I could learn it at some point. I ran the command as hello....
user avatar
2 votes
1 answer
723 views

CLFS for ARMv7 neon

I am following CLFS book (GIT-20140613-arm version), and I have a issue when building GCC with armv7 and neon combination. Target info here. My host is a clean Debian 8 with gawk, build-essential, ...
user avatar
11 votes
1 answer
557 views

Where in GRUB2 source code is the handover/jump to kernel code?

I'm looking for the line of code where GRUB2 finally jumps to kernel code and thus hands over execution on x86 systems? I guess it's in an assembler file since this is very low architecture stuff. I ...
user avatar
  • 3,352
0 votes
1 answer
99 views

Where is RAX-ARGOFFSET defined?

In Linux 3.16, in asm/x86/kernel/entry_64.S, the following line references RAX-ARGOFFSET (also see [src]): 424 movq %rax,RAX-ARGOFFSET(%rsp) But I can not find where RAX-ARGOFFSET is defined ...
user avatar
  • 871
6 votes
1 answer
2k views

Unable to run an executable built with NASM

I am attempting to assemble the assembly source file below using the following NASM command: nasm -f elf -o test.o test.asm This completes without errors and I then try to link an executable with ld:...
user avatar
  • 6,065
17 votes
4 answers
2k views

Why some operating systems event handling is written in asm instead of c?

My question is why nowadays some operating system event handling is still written in assembly language instead of a higher level language such as C, when the kernel itself is written mostly in C?
user avatar
  • 273
1 vote
1 answer
159 views

How to write a program which can run on a computer without a operating system? [closed]

If there is a computer without operating system, then we can install one on it using a floppy disc or usb stick. While the computer is booting, we push F11 or some other button, then the computer ...
user avatar
  • 113
13 votes
1 answer
24k views

How do I cross-compile Chromium for ARM?

Goal I need to install Chromium on FriendlyARM mini210s running Linux 3.0.8 armv7l Environment Vagrant box with Ubuntu Precise64 Installed depot_tools following these guidelines Get-the-code and ...
user avatar
  • 872
1 vote
1 answer
698 views

Obtaining a code dump from a binary

Is it possible to dump the assembly language code of a binary using GDB? I tried to use the "l" command but it says No symbol table is loaded. Use the "file" command.. I use the file command and it ...
user avatar
  • 4,204
6 votes
3 answers
15k views

Generate MIPS architecture assembly code on a X86 machine

I need to generate MIPS specific code on my machine when I run my C program. When I simply run, gcc -O2 -S -c hello.c On my system, I get the hello.s which seems to generate some assembly code but ...
user avatar
  • 36.6k
0 votes
0 answers
956 views

Resume from Suspend/Hibernate issues

I have a peculiar problem while trying to resume from both suspend and hibernate. I believe the problem to be within the kernel itself since I have tried different distros (Ubuntu, Suse, Mageia) on ...
user avatar
  • 151
2 votes
1 answer
578 views

Can't build QTAV for cubieboard2 on Cubian

I’m trying to make QTAV lib for cubieboard2 environment and experiencing problems. Could you please help. Here is what qmake says: cubie@Cubian:~/QtAV/output$ qmake ../QtAV.pro Project MESSAGE: ...
user avatar
4 votes
2 answers
2k views

Running assembly program as ring 0

I'm writing an application which reports back readings from CPU temperature sensors, and the fan speed monitor. However, according to the Intel documentation on PECI, the instructions required must be ...
user avatar
3 votes
1 answer
2k views

Can't compile glibc for 64 bit system

I'm trying to compile glibc-2.16 statically for x64 system, ../configure --enable-kernel=2.6.9 --prefix=/run/shm/libc-static-64 --enable-static --enable-shared --host=i486-linux-gnu --build=i486-...
user avatar
  • 50.7k