x86

    0热度

    2回答

    如何在只使用新行代码的情况下打印新行3次尽管输入了相同的代码3次 include emu8086.inc ORG 100h PRINT 'ENTER THREE INITIALS: ' MOV AH,1 INT 21H MOV BL,AL INT 21H MOV CL,AL INT 21H MOV BH,AL

    -1热度

    1回答

    我遇到了一个错误,而调试我的程序,甚至阅读汇编代码 下面是从GDB的图像后,我解决不了,0x4070a1之前,%RDX是0x61b130,并且这个数字应该移到-0x18(%rbp)。但是,在这个指令之后,我发现-0x18(%rbp)变成了0x61b7d0,这让我感到困惑。 由于这个问题,我的程序无法正常运行,谁能告诉我原因?谢谢! 的C代码: E_enventry t = E_FunEntry(l

    10热度

    3回答

    英特尔PMU可以用于测量每核心读/写内存带宽使用情况吗?这里“存储器”意味着DRAM(即,不击中任何高速缓存级别)。

    3热度

    2回答

    在Visual C++中,当针对Windows 32位时_umul128未定义。 针对Win32时,两个无符号64位整数如何相乘? 该解决方案只需在针对Windows 32位的Visual C++ 2017上工作。

    1热度

    1回答

    下面的代码假设有显示如果哪个数字更大或者它们是否相等和总和,但我得到的只是总和,如果我删除了总和部的第一部分,其中显示的数字是否等于 section .rodata prompt1 db "Enter an integer: ",0 ; 0 is null character pro

    -2热度

    1回答

    一个示例代码,我看到类似下面代码: section .data db 'hello' db 'h', 'e', 'l','l','o' data_segment_size equ $-$$ 为什么data_segment_size等于25?我知道$和$$表示什么,但根据我的书我无法弄清楚为什么这个变量是25。也许这是该书的错误。

    0热度

    1回答

    我想写使用内联汇编用C离开操作的旋转,像这样: byte rotate_left(byte a) { __asm__("rol %0, $1": "=a" (a) : "a" (a)); return a; } (凡字节通过typedef unsigned char型)。 这就提出了一个错误 /tmp/ccKYcEHR.s:363: Error: operand size

    0热度

    1回答

    首先,这是一项家庭作业。 我有一个循环获得两个数字的值单独,并加入他们的第一个数字乘以10,并加上第二个数字来获得一个整数。 我正在做这一切,并保存在我的AL寄存器中,现在我想将该整数插入到一个数组中,然后扫描该数组并显示这些数字。 如何插入矢量并从矢量读取? 我的数组: section .bss array resb 200 我的数字转换: sub byte[digit_une],

    0热度

    1回答

    我目前坚持从组合问题得到了答案。我的basecase工作得很好。我认为问题在于评估组合(n-1,k),然后评估组合(n-1,k-1)。 这里是我的代码:n和k是从用户输入。 sub esp, 2 push word[n] push word[k] call combi pop word[ans] ;store yung combi value sa ans ;convert to as

    1热度

    1回答

    我有这样的代码,是应该打印一个字符串的第一个字母: mov bx, message ; Move the address of the message to bx add bx, 0x7c00 ; Adding the padding of bootsector to bx mov al, [bx] ; Move the value at the address in bx to al