📄 rdftest1.asm
字号:
;; program to test RDOFF production and linkage ;; items to test include: ;; [1] relocation within the same segment in each module ;; [2] relocation to different segments in same module ;; [3] relocation to same segment in different module ;; [4] relocation to different segment in different module ;; [5] relative relocation to same module ;; [6] relative relocation to different module ;; [7] correct generation of BSS addresses[SECTION .text][BITS 32] _main: mov ax,localdata ; [2] (16 bit) => 66 b8 0000 mov eax,localdata2 ; [2] (32 bit) => b8 0000000a[EXTERN _fardata] mov eax,[_fardata] ; [4] => a1 00000000 (+20) mov cx,next ; [1] => 66 b9 0012next: call localproc ; [5] => e8 00000019[EXTERN _farproc] mov eax,_farproc ; [3] => b8 00000000 (+40+0) call _farproc ; [6] => e8 -$ (-0+40+0) (=1f) mov eax,localbss ; [7] => b8 00000000[GLOBAL _term]_term: xor ax,ax ; => 66 31 c0 int 21h ; => cd 21 jmp _term ; => e9 -0a (=fffffff6)localproc: ret ; => c3[GLOBAL _test1proc]_test1proc: call localproc ; [5] => e8 -$ (-0+0+?) (=-6=fffffffa) ret ; => c3 [SECTION .data][GLOBAL localdata2]localdata: db 'localdata',0localdata2: db 'localdata2',0farref: dd _fardata ; [3] => 0 (+20)localref: dd _main ; [2] => 0 (+0)[SECTION .bss]localbss: resw 4 ; reserve 8 bytes BSS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -