小编use*_*133的帖子

装配中的星号指针(I32/x86)

违规行:

 8048f70:   ff 24 85 00 a4 04 08    jmp    *0x804a400(,%eax,4)
Run Code Online (Sandbox Code Playgroud)

位于804a400的反汇编代码中没有指令(我的列表结束于804a247)

当我检查以查看该内存位置的内容时,我得到:

(gdb) x/c 0x804a40c
0x804a40c:  -103 '\231'

(gdb) x/t 0x804a40c
0x804a40c:  10011001

(gdb) x/s 0x804a40c
0x804a40c:   "\231\217\004\b\222\217\004\b\211\217\004\b\202\217\004\bw\217\004\b\002"

(gdb) x/3x 0x804a40c
0x804a40c:  0x99    0x8f        0x04
Run Code Online (Sandbox Code Playgroud)

这个jmp语句到底试图做什么?

x86 assembly gdb pointers att

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

创建要在Python中执行的方法列表

我真的希望有一些方法可以做到这一点:

如何在python中创建一个方法列表以应用于对象?

给定一些任意类:

class someClass:
    def __init__(self, s):
        self.size=s
    def shrink(self):
        self.size-=1
    def grow(self):
        self.size+=1
    def invert(self):
        self.size= -self.size
Run Code Online (Sandbox Code Playgroud)

我希望能够像这个列表一样编写一个可迭代的对象:

instructions=[shrink,grow,shrink,shrink,grow,invert]
Run Code Online (Sandbox Code Playgroud)

要在以后运行for循环:

elephant=someClass(90)
sizeList=[]
for ins in instructions:
    elephant.ins()
    sizeList.append(elephant.size)
Run Code Online (Sandbox Code Playgroud)

我以前做过类似功能的事情,不能用方法做到这一点会要求我重写一些令人生畏的代码...

python iteration methods list

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

标签 统计

assembly ×1

att ×1

gdb ×1

iteration ×1

list ×1

methods ×1

pointers ×1

python ×1

x86 ×1