小编Jes*_*ter的帖子

.Net命名空间可以跨多个程序集吗?

.Net命名空间可以跨多个程序集吗?具体的例子会有所帮助.

.net c# namespaces .net-assembly

2
推荐指数
1
解决办法
1236
查看次数

FASM 是否使用 Intel 语法?

我尝试在 FASM 中编译以下代码:

mov DWORD PTR [ebp - 4], 1234567  
Run Code Online (Sandbox Code Playgroud)

它给了我一个“无效表达式”错误。但是以下代码有效:

mov DWORD [ebp - 4], 1234567 
Run Code Online (Sandbox Code Playgroud)

那么 FASM 是否使用 Intel 语法(我假设第一行代码符合 Intel 语法)?

x86 assembly fasm

2
推荐指数
1
解决办法
710
查看次数

程序集x86中的整数之间的划分

我正在开发编译器,当我尝试从以下自定义语言代码生成汇编代码时,我遇到了问题

b:=-2;
c:=-4;
a:=c/b;
Run Code Online (Sandbox Code Playgroud)

为了测试这个结果,我使用if条件询问a == 2但是不是.

这是代码avobe生成的代码片段

mov ax, 1
mov _a, ax

mov ax, -2
mov _b, ax

mov ax, -4
mov _c, ax


mov dx, 0
mov ax, _c   
mov bx, _b
cmp bx, 0
JE label_div0Excp  // jump to division by 0 message
idiv bx  
mov @aux0, ax

mov ax, @aux0
mov _a, ax

mov ax, _a
cmp ax,2

JNE label_1

invoke MessageBox, NULL, addr _message0, addr _message0, MB_OK  //_message0 say that result == 2
Run Code Online (Sandbox Code Playgroud)

enybody可以帮助我吗? …

x86 assembly masm

2
推荐指数
2
解决办法
1378
查看次数

无法从 QEmu 中的磁盘读取

我尝试使用 QEmu 从磁盘读取以下代码:

; Read some sectors from the boot disk using our disk_read function
[org 0x7c00]
mov [BOOT_DRIVE] , dl 
; BIOS stores our boot drive in DL , so store this for later
mov bp , 0x8000
mov sp , bp
; Here we set our stack safely out of the
; way , at 0x8000
mov bx , 0x9000
; Load 5 sectors to 0 x0000 ( ES ):0 x9000 ( BX )
mov dh , 5 …
Run Code Online (Sandbox Code Playgroud)

x86 assembly gdb qemu

2
推荐指数
1
解决办法
1430
查看次数

二进制炸弹阶段3卡住

老实说,我感到非常困惑,因为我的炸弹第三阶段看起来不像我的任何同学或教授给我的例子。任何帮助将不胜感激。我有我最近使用的终端机的一个副本,但在5个小时的大部分时间内我一直在努力尝试这一点,我已经知道了%d%d是所请求的布局,并且它要求2个数字,我相信其中一个是负数。由于这里有比较语句和jg

   0x08048fbb <+39>:    cmp    $0x1,%eax
   0x08048fbe <+42>:    jg     0x8048fc5 <phase_3+49>
Run Code Online (Sandbox Code Playgroud)

同样,它要求再次比较同一个值,我认为这是这里的第一个

   0x08048fc5 <+49>:    cmpl   $0x7,-0xc(%ebp)
   0x08048fc9 <+53>:    ja     0x8049032 <phase_3+158>
Run Code Online (Sandbox Code Playgroud)

让我失望的是,所有的加法和减法都是蝙蝠,总的来说,所有加法和减法都挤在了底部。

我应该在哪里找到可以与这些语句实际一起使用的值,如果我将它们加起来就等于多少。在这一点上,我什至不知道它是否正盯着我。所有比较如下

   0x08048fbb <+39>:    cmp    $0x1,%eax
Run Code Online (Sandbox Code Playgroud)

0x08048fbe <+42>:jg 0x8048fc5

 0x08048fc5 <+49>:    cmpl   $0x7,-0xc(%ebp)
   0x08048fc9 <+53>:    ja     0x8049032 <phase_3+158>

   0x0804903c <+168>:   cmpl   $0x5,-0xc(%ebp)
   0x08049040 <+172>:   jg     0x8049047 <phase_3+179>
Run Code Online (Sandbox Code Playgroud)

但目前我需要对此问题重新审视。如果有任何帮助,将不胜感激。

That's number 2.  Keep going!
0 1

Breakpoint 1, 0x08048f9a in phase_3 ()
(gdb) disas
Dump of assembler code for function phase_3:
   0x08048f94 <+0>:     push   %ebp
   0x08048f95 <+1>:     mov    %esp,%ebp
   0x08048f97 <+3>: …
Run Code Online (Sandbox Code Playgroud)

x86 assembly gdb reverse-engineering

2
推荐指数
1
解决办法
2万
查看次数

将寄存器值加载到 FPU 堆栈

我目前正在开发一个同时使用 CPU 和 FPU 寄存器的程序集。我的问题涉及如何将寄存器值加载到 FPU 堆栈(即 ecx)。

mov    ecx, 10d    ; Load 10 into ECX
fldpi              ; Load Pi
fild   ecx         ; This does not work, it does however for .data variables
fmul               ; Multiply
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。我正在使用 Visual Studio 2015/MASM 进行开发,使用 .386 和 .model flat、STDCALL。

最好的问候,Z

cpu x86 assembly fpu

2
推荐指数
1
解决办法
1241
查看次数

在实模式下访问4GB RAM

是否可以通过启用A20在实模式下使用4GB内存,而无需切换到保护模式,也不会丢失BIOS中断?

x86 assembly real-mode

2
推荐指数
1
解决办法
459
查看次数

将引用参数传递给汇编函数

我有一个带有3个引用参数的函数,其中包含一些汇编代码.我想在变量R,G,B中得到该函数的结果,如下所示.

     void Get_RGB_color(const DWORD &color, uint8_t &R, uint8_t & G, uint8_t & B)     {

    _asm {
        push EAX;
        xor EAX, EAX;
        mov EAX,color;
        mov R, AL;
        mov G, AH;
        shr EAX, 16;
        mov B, AL;
        pop EAX;
    }
  }
Run Code Online (Sandbox Code Playgroud)

例如我使用的函数

DWORD  color=RGB(76,0,0);
uint8_t R,   G, B;
Get_RGB_color(color , R ,G ,B );
Run Code Online (Sandbox Code Playgroud)

代码有两个问题:

1-在EAX中获取错误的值,行 mov EAX,color;

2-行中错误'操作数大小冲突'

mov R,AL; mov G,AH; mov B,AL;

请帮我

c++ x86 assembly

2
推荐指数
1
解决办法
718
查看次数

在asp.net web api应用程序中找不到命名空间System.Web.Http.Results

我有一个asp.net web api应用程序,其中我有这一行:

using System.Web.Http.Results;
Run Code Online (Sandbox Code Playgroud)

我的问题是命名空间无法识别,我验证system.Web.Http了bin文件夹中存在的dll !!

所以我需要知道:

  • 这个问题的原因是什么?
  • 我该如何解决?

.net asp.net-mvc .net-assembly asp.net-web-api system.web.http

2
推荐指数
1
解决办法
4246
查看次数

在取消引用寄存器(%r11)时崩溃在objc_msgSend中,但我不明白为什么

所以我有一个有5个参数的方法.正如预期的那样,寄存器在调用之前就说明了:

$rdi: The receiver
$rsi: the selector for the method
$rdx: first arg
$rcx: second arg
$r8: third arg
$r9: fourth arg
$r10 fifth arg
Run Code Online (Sandbox Code Playgroud)

在该方法中,它首先要做的是调用另一个objective-c方法

这反过来调用objc_msgSend(见偏移+58):

MyApp`-[GTMOAuth2WindowController webView:resource:willSendRequest:redirectResponse:fromDataSource:]:
    0x10044a1a0 <+0>:   pushq  %rbp
    0x10044a1a1 <+1>:   movq   %rsp, %rbp
    0x10044a1a4 <+4>:   subq   $0x40, %rsp
    0x10044a1a8 <+8>:   movq   0x10(%rbp), %rax
    0x10044a1ac <+12>:  movq   %rdi, -0x10(%rbp)
    0x10044a1b0 <+16>:  movq   %rsi, -0x18(%rbp)
    0x10044a1b4 <+20>:  movq   %rdx, -0x20(%rbp)
    0x10044a1b8 <+24>:  movq   %rcx, -0x28(%rbp)
    0x10044a1bc <+28>:  movq   %r8, -0x30(%rbp)
    0x10044a1c0 <+32>:  movq   %r9, -0x38(%rbp) …
Run Code Online (Sandbox Code Playgroud)

assembly x86-64 objective-c cpu-registers

2
推荐指数
1
解决办法
326
查看次数