nasm

    0热度

    1回答

    说我有一些通用的x86代码NASM: %define Constant 123 mov si, Constant 的问题是恒定值Constant大会写入时还不知道。通过这个,我的意思是应该在组合文件时提供常量的值。在我的情况下,我需要的常量取决于文本文件的大小。 这是如何实现的?

    3热度

    1回答

    摘要:在NASM支持 我发现很多输出格式生成0隔行非常稀疏的机器代码。最重要的是,它们不能被bochs的i386 cpu正确理解。 我相信错在我自己,但不知道在哪里和为什么。 我来源: cli cli mov ax,cs mov ds,ax mov es,ax call ClearTty <- here call ResetCursor <- here mov al,43h ;'

    -1热度

    1回答

    所以最近我们了解了浮点运算,并在作业中得到了一些问题。 其中之一是: “写下单精度浮标的调用惯例!”。 所以我知道的xmm寄存器和知道,在双精度的第一输入进入xmm0等。 我在Google上查找了这个主题,但找不到答案。如果有人能够帮助我解决这个问题,那会很好。

    0热度

    2回答

    我使用eicar.com文件并使用逆向工程工具进行游戏。我希望能够反汇编和重新组合这个文件。我接近了,但仍然存在一些我无法弄清楚的问题。 这是原来的eicar.com ASCII文件。 X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H* 使用udcli udcli -noff -nohex eicar.com

    -4热度

    1回答

    section .data array: dd 100000000,10000000,1000000,100000,10000,1000,100,10,1 start: dec ebx mov ecx,9 _loopFunction: dec ecx dec ebx

    0热度

    2回答

    我有一个NASM文件和一个C文件。我的操作系统是Ubuntu 17.04 64位 我按照其他帖子的指示。 Linking C with NASM 这里是我的代码 的main.c: #include <stdio.h> int doit(int a, int b); int main() { printf("%d\n", doit(2,4)); return 0; }

    0热度

    1回答

    我有两个值的函数(int * a , int * b) 所以a转到RDI和b转到RSI。 我的b是一个数组,其中一个任务是改变b[1]的值。 所以在我的ASM文件我尝试这样做,因为任何简单的数组 mov [rsi+1*4] ,5 一个在这里我得到了“未指定的操作规模”的错误

    0热度

    1回答

    我的程序集有问题。我的汇编编译器是NASM。源和输出是这样的画面: 的问题是,我不能与extern C功能printf()计算打印数量。我该怎么做? 输出应该是“Ergebnis:8”,但它不正确。

    -2热度

    1回答

    说我在下面有这个汇编代码。那么printf如何知道要打印什么呢?它是否只是打印出地址上的任何东西?在这种情况下,“推消息”? SECTION .data msg: db "Hello World!",10,0 SECTION .text extern printf global main main: push ebp move ebp, esp p

    2热度

    1回答

    我使用NASM这是我的代码: org 0x7c00 bits 16 section .data zeichen dw 'hello2' section .text mov ax,0x7c00 mov es,ax mov bh,0 mov bp,zeichen mov ah,13h mov bl,00h mov al,1 mov cx,6 mov dh,010h