相关疑难解决方法(0)

CPU寄存器内的字节顺序

我需要帮助理解x86处理器的CPU寄存器内的字节序.我写了这个小装配程序:

section .data
section .bss

section .text
    global _start
_start:
    nop
    mov eax, 0x78FF5ABC
    mov ebx,'WXYZ'
    nop  ; GDB breakpoint here.
    mov eax, 1
    mov ebx, 0
    int 0x80
Run Code Online (Sandbox Code Playgroud)

我在GDB中使用第10行的断点运行此程序(在上面的源代码中注释).在此断点,info registers显示的数值eax=0x78ff5abcebx=0x5a595857.

由于W,X,Y,Z的ASCII码分别为57,58,59,5A; 并且intel是小端,0x5a595857似乎是正确的字节顺序(最低有效字节优先).那么为什么不是eax寄存器的输出0xbc5aff78(数字0x78ff5abc的最低有效字节)而不是0x78ff5abc

x86 endianness cpu-registers

9
推荐指数
4
解决办法
7716
查看次数

如何使用java byte []准确发送这种复杂的十六进制,二进制协议数据?

我对这种东西很困惑,作为最终命令我应该发送什么,总是把8位纠缠到1个字节,但我们如何制作呢?是否只有屏幕截图中显示的命令包[hex]?或是两个屏幕截图中显示的标题+命令包[hex]?

混乱细节:

  • 在这样的图表中,标题块显示大部分像"位7,位6,..,位0"而不是"位0,位1,位2,...位7",我总是想知道为什么?

  • 但是当我在代码中应用字节st [0] =位7或位1的顺序时?

  • 同样根据这个图表,它是否意味着我发送的每个命令都会始终修复Header?

  • 这是我尝试的代码,将位1作为st [0],位2作为st 1而不是位7作为st [0].应用电源关/开测试.

    import java.io.*;
    import java.net.*;
    public class test 
    {
    
    public static void main(String[] args) throws UnknownHostException, IOException 
    { 
    
        byte st[]=new byte[256];
        st[0]=0x01; // get    
        st[1]=0x02; // header 2 byte
        st[2]=0x02; // header length            
        st[3]=0;    // command byte
        st[4]=0;    // reserved
        st[5]=0;            
        st[6]=0;             
        st[7]=0;
        st[8]=0x01; // power off
        st[9]=0x30; 
        st[10]=0x01;
        st[11]=0x00; 
        System.out.println(st); // Should this work, am i correct based on diagram?
    
    
        Socket s           = new Socket("192.168.1.2", 49137);
        DataInputStream input …
    Run Code Online (Sandbox Code Playgroud)

java protocols

4
推荐指数
1
解决办法
4555
查看次数

从二进制文件Scala中读取

如何在scala中以块的形式读取二进制文件.

这就是我想要做的

val fileInput = new FileInputStream("tokens")
    val dis = new DataInputStream(fileInput)
    var value = dis.readInt()
    var i=0;
println(value)
Run Code Online (Sandbox Code Playgroud)

打印的值是一个巨大的数字.而它应该返回1作为第一个输出

scala binary-data

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

标签 统计

binary-data ×1

cpu-registers ×1

endianness ×1

java ×1

protocols ×1

scala ×1

x86 ×1