nasm

    2热度

    1回答

    我有一个完全用C编写的项目。可以使用GCC for Linux或MSVC for Windows编译相同的C文件。出于性能原因,我需要将一些代码重新编写为x86汇编语言。 是否有可能将此汇编语言编写为将使用GCC和MSVC工具链构建的源文件?或者,如果我为一个工具链编写汇编源文件,是否有工具将其转换为与其他工具一起工作? 或者,我坚持要么维护汇编源代码的两个副本,要么使用第三方汇编器,例如NASM

    0热度

    2回答

    extern puts global main section .text main: mov rax, rdi label: test rax, rax je exit push rsi mov rdi, [rsi] call puts pop rsi dec rax add rsi, 8

    -1热度

    1回答

    我想编写一个程序,它返回你写的字符串。但它总是打印它没有第一个字符。此外,它不会返回任何超过第一空间的东西。 例子: IN: test OUT: est 代码: extern printf, scanf, exit global main section .text main: push rbp ;input of string mov rd

    0热度

    1回答

    这段时间我正在学习装配。我使用ms-dos“debug”命令来创建简单的程序,但现在我想制作大型程序。我下载NASM,并试图组装以下代码: .model small .code mov ax, bx 但在标签型号和.CODE它说,他们不确定AR。我在其他几个汇编程序中再次尝试了这种情况,并发生了同样的情况。任何人都可以帮我解决这个问题吗? 我使用的是Windows 10

    1热度

    1回答

    用于学习目的,我写了一个小汇编程序(TEST.ASM): global _main extern [email protected] section .text _main: mov ebx,0 push ebx call [email protected] 比我与NASM组装它(test.obj): nasm -f win32 te

    0热度

    1回答

    我在emu8086中编写了这段代码,它在模拟器中很好,但是当我试图用NASM编译时,它会抛出错误:“操作大小未指定”,帮助某人? add bx,[3565] sub bx,0xcc mov [bx],0CCh

    2热度

    1回答

    我想删除汇编代码(NASM)中的文件,但我遇到了“mov dx,file_name”部分的“重新定位被截断以适应数据”的错误。仅供参考,我试图删除“input.txt”文件的文件确实存在于我的文件夹中。我不太确定这种问题。让我知道我错过了什么。 section.data ; filename file_name DB "input.txt" section .text glo

    0热度

    1回答

    我在程序集中有一些代码有点奇怪。我有一个C extern函数,它调用asm .asm文件中的另一个函数。这个C函数从.asm文件中放入我的函数使用的堆栈三个地址。一切都很顺利,直到此出现: ; Let's say we take from the stack first parameter from my C function. ; This parameter is a string of b

    3热度

    1回答

    我知道这个问题以前曾被问过,但其他答案似乎都没有解决我的问题。也许我错过了什么? 我知道.iso的作品,因为我在QEMU中运行它,并成功运行。那么我做错了什么? bits 16 xor ax, ax start: cld ; Set direction flag to forward ; Set up registers mov ax, 07c0h

    0热度

    1回答

    这是pwnable.kr中的最新问题,asm.c使用seccomp来限制我的系统调用,除了write(),open(),read()和exit()。 asm.c: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/mman.h> #include <seccomp.h> #include <s