345 lines
6.0 KiB
ArmAsm
345 lines
6.0 KiB
ArmAsm
.file "mentry.cob"
|
|
.version "01.01"
|
|
tinycobol_compiled.:
|
|
.text
|
|
Ltext_mentry:
|
|
.stabs "mentry.cob",100,0,0,mentry
|
|
.stabs "mentry:F1",36,0,0,mentry
|
|
.stabs "display:t2=r2;0;255;",128,0,0,0
|
|
.stabs "comp:t3=r3;-2147483648;2147483647;",128,0,0,0
|
|
.stabs "comp3:t4=r3;0;255;",128,0,0,0
|
|
.stabs "compw:t5=r5;-32768;32767;",128,0,0,0
|
|
.stabs "compb:t6=r6;-128;127;",128,0,0,0
|
|
.stabs "compll:t7=r(0,1);0;01777777777777777777777",128,0,0,0
|
|
.align 16
|
|
.globl mentry
|
|
.type mentry,@function
|
|
mentry:
|
|
.stabs ":t1",128,0,0,0
|
|
pushl %ebp
|
|
movl %esp, %ebp
|
|
subl $40, %esp
|
|
movl %ebx, -24(%ebp)
|
|
.Linit_mentry:
|
|
call setDecimalComma
|
|
movl $s_base0+0, %eax
|
|
pushl %eax
|
|
pushl $0
|
|
pushl $6
|
|
movl $c_base0+140, %eax
|
|
pushl %eax
|
|
call tcob_enter_runelement
|
|
addl $16, %esp
|
|
movl $s_base0+0, %eax
|
|
cmpl $0, 0(%eax)
|
|
jne .Linite_mentry
|
|
movl $1, 0(%eax)
|
|
movl $w_base0+0, %eax
|
|
pushl %eax
|
|
movl $c_base0+85, %eax
|
|
pushl %eax
|
|
movl $c_base0+51, %eax
|
|
pushl %eax
|
|
movl $c_base0+53, %eax
|
|
pushl %eax
|
|
call tcob_move
|
|
addl $16, %esp
|
|
movl $w_base0+4, %eax
|
|
pushl %eax
|
|
movl $c_base0+102, %eax
|
|
pushl %eax
|
|
movl $c_base0+0, %eax
|
|
pushl %eax
|
|
movl $c_base0+2, %eax
|
|
pushl %eax
|
|
call tcob_move
|
|
addl $16, %esp
|
|
movl $w_base0+14, %eax
|
|
pushl %eax
|
|
movl $c_base0+125, %eax
|
|
pushl %eax
|
|
movl $c_base0+0, %eax
|
|
pushl %eax
|
|
movl $c_base0+2, %eax
|
|
pushl %eax
|
|
call tcob_move
|
|
addl $16, %esp
|
|
.Linite_mentry:
|
|
.stabn 192,0,0,.LS0-Ltext_mentry
|
|
.stabn 224,0,0,.LSend_mentry-Ltext_mentry
|
|
leal mentry, %eax
|
|
pushl %eax
|
|
leal .Lend_pgm_mentry, %eax
|
|
pushl %eax
|
|
.stabs "mentry.cob",132,0,0,.LS0
|
|
.stabn 68,0,17,.LS0-Ltext_mentry
|
|
.LS0:
|
|
pushl $0
|
|
movl $c_base0+164, %eax
|
|
pushl %eax
|
|
movl $c_base0+172, %eax
|
|
pushl %eax
|
|
call tcob_resolve_subr
|
|
addl $12, %esp
|
|
addl $0, %esp
|
|
and %eax,%eax
|
|
jz .L1
|
|
subl $0, %esp
|
|
call *%eax
|
|
movl $s_base0+0, %eax
|
|
pushl %eax
|
|
pushl $1
|
|
pushl $6
|
|
movl $c_base0+140, %eax
|
|
pushl %eax
|
|
call tcob_enter_runelement
|
|
addl $16, %esp
|
|
jmp .L2
|
|
.L1: # exceplabel
|
|
call tcob_resolve_subr_error
|
|
jmp .L3
|
|
.L2: # notexceplabel
|
|
.L3: # endlabel
|
|
.stabn 68,0,18,.LS1-Ltext_mentry
|
|
.LS1:
|
|
movl $w_base0+14, %eax
|
|
pushl %eax
|
|
movl $c_base0+125, %eax
|
|
pushl %eax
|
|
movl $c_base0+187, %eax
|
|
pushl %eax
|
|
movl $c_base0+198, %eax
|
|
pushl %eax
|
|
call tcob_move
|
|
addl $16, %esp
|
|
.stabn 68,0,19,.LS2-Ltext_mentry
|
|
.LS2:
|
|
movl $w_base0+14, %eax
|
|
pushl %eax
|
|
movl $w_base0+4, %eax
|
|
pushl %eax
|
|
pushl $0
|
|
movl $c_base0+213, %eax
|
|
pushl %eax
|
|
movl $c_base0+221, %eax
|
|
pushl %eax
|
|
call tcob_resolve_subr
|
|
addl $12, %esp
|
|
addl $8, %esp
|
|
and %eax,%eax
|
|
jz .L4
|
|
subl $8, %esp
|
|
call *%eax
|
|
addl $8, %esp
|
|
movl $s_base0+0, %eax
|
|
pushl %eax
|
|
pushl $1
|
|
pushl $6
|
|
movl $c_base0+140, %eax
|
|
pushl %eax
|
|
call tcob_enter_runelement
|
|
addl $16, %esp
|
|
jmp .L5
|
|
.L4: # exceplabel
|
|
call tcob_resolve_subr_error
|
|
jmp .L6
|
|
.L5: # notexceplabel
|
|
.L6: # endlabel
|
|
.stabn 68,0,20,.LS3-Ltext_mentry
|
|
.LS3:
|
|
pushl $0
|
|
movl $c_base0+236, %eax
|
|
pushl %eax
|
|
movl $c_base0+243, %eax
|
|
pushl %eax
|
|
call tcob_resolve_subr
|
|
addl $12, %esp
|
|
addl $0, %esp
|
|
and %eax,%eax
|
|
jz .L7
|
|
subl $0, %esp
|
|
call *%eax
|
|
movl $s_base0+0, %eax
|
|
pushl %eax
|
|
pushl $1
|
|
pushl $6
|
|
movl $c_base0+140, %eax
|
|
pushl %eax
|
|
call tcob_enter_runelement
|
|
addl $16, %esp
|
|
jmp .L8
|
|
.L7: # exceplabel
|
|
call tcob_resolve_subr_error
|
|
jmp .L9
|
|
.L8: # notexceplabel
|
|
.L9: # endlabel
|
|
movl $w_base0+14, %eax
|
|
pushl %eax
|
|
movl $w_base0+4, %eax
|
|
pushl %eax
|
|
pushl $0
|
|
movl $c_base0+258, %eax
|
|
pushl %eax
|
|
movl $c_base0+266, %eax
|
|
pushl %eax
|
|
call tcob_resolve_subr
|
|
addl $12, %esp
|
|
addl $8, %esp
|
|
and %eax,%eax
|
|
jz .L10
|
|
subl $8, %esp
|
|
call *%eax
|
|
addl $8, %esp
|
|
movl $s_base0+0, %eax
|
|
pushl %eax
|
|
pushl $1
|
|
pushl $6
|
|
movl $c_base0+140, %eax
|
|
pushl %eax
|
|
call tcob_enter_runelement
|
|
addl $16, %esp
|
|
jmp .L11
|
|
.L10: # exceplabel
|
|
call tcob_resolve_subr_error
|
|
jmp .L12
|
|
.L11: # notexceplabel
|
|
.L12: # endlabel
|
|
.stabn 68,0,24,.LS4-Ltext_mentry
|
|
.LS4:
|
|
leal .Lend_pgm_mentry, %eax
|
|
pushl %eax
|
|
jmp .Lend_pgm_mentry
|
|
# resolving paragraphs/sections labels
|
|
# finish resolving paragraphs/sections labels
|
|
.Lend_pgm_mentry:
|
|
call tcob_do_scrio_finish
|
|
call tcob_stop_run
|
|
leal w_base0+0, %edx
|
|
movl (%edx), %eax
|
|
jmp .LSend_mentry
|
|
.align 16
|
|
.LSend_mentry:
|
|
pushl %eax
|
|
call exit
|
|
addl $4,%esp
|
|
movl -24(%ebp), %ebx
|
|
mov %ebp,%esp
|
|
popl %ebp
|
|
ret
|
|
.Lfe1_mentry:
|
|
.size mentry,.Lfe1_mentry-mentry
|
|
.data
|
|
.align 4
|
|
w_base0:
|
|
.stabs "RETURN-CODE:V3",38,0,0,w_base0+0
|
|
.space 4
|
|
.stabs "TCL-DADOS:V(1,10)=ar3;1;10;2",38,0,0,w_base0+4
|
|
.space 10
|
|
.stabs "W03-PICX:V(1,10)=ar3;1;10;2",38,0,0,w_base0+4
|
|
.stabs "NOME-PROGRAMA:V(1,10)=ar3;1;10;2",38,0,0,w_base0+14
|
|
.space 10
|
|
v_base0:
|
|
c_base0:
|
|
.byte 32,0
|
|
.long 1
|
|
.byte 'X',0,0,1
|
|
.long c_base0+14
|
|
.byte 'X',1,0
|
|
.byte 0,0
|
|
.long 1
|
|
.byte 'X',0,0,1
|
|
.long c_base0+31
|
|
.byte 'X',1,0
|
|
.byte -1,0
|
|
.long 1
|
|
.byte 'X',0,0,1
|
|
.long c_base0+48
|
|
.byte 'X',1,0
|
|
.byte 48,0
|
|
.long 1
|
|
.byte '9',0,0,1
|
|
.long c_base0+65
|
|
.byte '9',1,0
|
|
.byte 34,0
|
|
.long 1
|
|
.byte 'X',0,0,1
|
|
.long c_base0+82
|
|
.byte 'X',1,0
|
|
.long 4
|
|
.byte 'B',0,0,0
|
|
.long c_base0+97
|
|
.byte 'S',1
|
|
.byte '9',6
|
|
.byte 0
|
|
.long 10
|
|
.byte 'G',0,0,0
|
|
.long 10
|
|
.byte 'X',0,0,0
|
|
.long c_base0+122
|
|
.byte 'X',10
|
|
.byte 0
|
|
.long 10
|
|
.byte 'X',0,0,0
|
|
.long c_base0+137
|
|
.byte 'X',10
|
|
.byte 0
|
|
.byte 109,101,110,116,114,121,0
|
|
.long 6
|
|
.byte '9',0,0,0
|
|
.long c_base0+159
|
|
.byte 'S',1,'9',6,0
|
|
.byte 105,110,105,116,84,99,108,0
|
|
.long 7
|
|
.byte 'X',0,0,0
|
|
.long c_base0+184
|
|
.byte 'X',7,0
|
|
.byte 109,101,110,116,114,121,46,116
|
|
.byte 99,108,0
|
|
.long 10
|
|
.byte 'X',0,0,0
|
|
.long c_base0+210
|
|
.byte 'X',10,0
|
|
.byte 116,99,108,101,118,97,108,0
|
|
.long 7
|
|
.byte 'X',0,0,0
|
|
.long c_base0+233
|
|
.byte 'X',7,0
|
|
.byte 110,101,119,71,117,105,0
|
|
.long 6
|
|
.byte 'X',0,0,0
|
|
.long c_base0+255
|
|
.byte 'X',6,0
|
|
.byte 116,99,108,101,118,97,108,0
|
|
.long 7
|
|
.byte 'X',0,0,0
|
|
.long c_base0+278
|
|
.byte 'X',7,0
|
|
s_base0: .long 0
|
|
.align 4
|
|
.globl main
|
|
.type main,@function
|
|
main:
|
|
.stabs ":t1",128,0,0,0
|
|
pushl %ebp
|
|
movl %esp, %ebp
|
|
subl $4,%esp
|
|
movl $0,-4(%ebp)
|
|
movl 12(%ebp),%eax
|
|
pushl %eax
|
|
movl 8(%ebp),%eax
|
|
pushl %eax
|
|
call tcob_init
|
|
addl $8,%esp
|
|
call mentry
|
|
movl %eax,%eax
|
|
movl %eax,-4(%ebp)
|
|
call tcob_stop_run
|
|
movl -4(%ebp),%edx
|
|
movl %edx,%eax
|
|
leave
|
|
ret
|
|
.Lfe1:
|
|
.size main,.Lfe1-main
|
|
|
|
.ident "TinyCOBOL: pre alpha 0.62.11 (linux-gnu 2005/08/17)"
|