rdftest1.asm
资源名称:nasm-0.98.zip [点击查看]
上传用户:yuppie_zhu
上传日期:2007-01-08
资源大小:535k
文件大小:1k
源码类别:
编译器/解释器
开发平台:
C/C++
- ;; 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 0012
- next:
- 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',0
- localdata2: db 'localdata2',0
- farref: dd _fardata ; [3] => 0 (+20)
- localref: dd _main ; [2] => 0 (+0)
- [SECTION .bss]
- localbss: resw 4 ; reserve 8 bytes BSS