首页 > 解决方案 > 装配 - 如果装载机改变部分在记忆中的位置怎么办

问题描述

   1                                  section     .data
     2 00000000 00                      sum: db 0
     3 00000001 [10000000]              tbl: dd L
     4                                  section     .text
     5                                  global      _start                              
     6                                  _start:
     7 00000000 31C0                    xor eax, eax
     8 00000002 B002                    mov al,2
     9 00000004 BB[00000000]            mov ebx,sum
    10 00000009 B200                    mov dl,0 
    11 0000000B B9[01000000]            mov ecx,tbl
    12                                  align 16
    13 00000010 01C0                    L:   add eax,eax
    14 00000012 FEC2                         inc dl
    15 00000014 01C0                         add eax,eax
    16 00000016 0103                         add [ebx],eax
    17 00000018 FF21                         jmp dword [ecx]     
    18 0000001A 0013                         add byte [ebx],dl
    19                                  next:

如果加载器将文本部分的内存中的位置更改为与编译器设置的第 9 行不同的位置,仍然正确吗?(和的地址sum可以tbl吗?)

标签: assemblyx86disassemblyobject-files

解决方案


推荐阅读