Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Listview 为什么我会得到这个奇怪的结果?_Listview_Assembly_Segmentation Fault - Fatal编程技术网

Listview 为什么我会得到这个奇怪的结果?

Listview 为什么我会得到这个奇怪的结果?,listview,assembly,segmentation-fault,Listview,Assembly,Segmentation Fault,我写了这段代码(复制到这里作为清单,以供批准): 如果我按原样运行此代码,进程将根据需要结束,eax将在从Foos返回后包含2 但是,如果我运行这段代码,将“section.data”替换为“section.text”,就会出现分段错误。为什么这个小改动会使程序崩溃?因为.text部分通常不可写。谢谢。我不知道那个事实。。。 1 global _start 2

我写了这段代码(复制到这里作为清单,以供批准):

如果我按原样运行此代码,进程将根据需要结束,eax将在从Foos返回后包含2


但是,如果我运行这段代码,将“section.data”替换为“section.text”,就会出现分段错误。为什么这个小改动会使程序崩溃?

因为
.text
部分通常不可写。谢谢。我不知道那个事实。。。
 1                                        global _start
 2                                      section .data
 3                                      Foos:
 4 00000000 B902000000                      mov ecx, 2
 5 00000005 BA00000000                      mov edx, 0
 6 0000000A 42                          L:      inc edx
 7 0000000B 83E901                          sub ecx, 1
 8 0000000E 0F94C0                          setz al
 9 00000011 D0E0                            shl al, 1
10 00000013 A2[19000000]                    mov byte [L1+1], al
11 00000018 EBF0                        L1:     jmp L
12 0000001A EBEE                            jmp L
13 0000001C A2[22000000]                    mov byte [L2+1], al
14 00000021 EBFE                        L2:     jmp L2
15 00000023 EBFC                            jmp L2
16 00000025 89D0                            mov eax, edx
17 00000027 C3                              ret
18                                      _start: 
19 00000028 E8D3FFFFFF                      call    Foos
20                                  
21 0000002D B801000000                      mov eax, 1
22 00000032 BB00000000                      mov ebx, 0
23 00000037 CD80                            int 0x80