Home | History | Annotate | Download | only in m68hc11
      1 # Test for correct generation of 68HC11 insns.
      2 
      3 	.globl _start
      4 	.sect .text
      5 
      6 _start:
      7 	lds #stack+1024
      8 	ldx #1
      9 Loop:
     10 	jsr test
     11 	dex
     12 	bne Loop
     13 Stop:
     14 
     15 	.byte 0xcd
     16 	.byte 3
     17 	bra _start
     18 
     19 test:
     20 	ldd #2
     21 	jsr test2
     22 	rts
     23 
     24 B_low = 12
     25 A_low = 44
     26 D_low = 50
     27 value = 23
     28 
     29 	.globl test2
     30 test2:
     31 	ldx value,y
     32 	std value,x
     33 	ldd ,x
     34 	sty ,y
     35 	stx ,y
     36 	brclr 6,x,#4,test2
     37 	brclr 12,x #8 test2
     38 	ldd *ZD1
     39 	ldx *ZD1+2
     40 	clr *ZD2
     41 	clr *ZD2+1
     42 	bne .-4
     43 	beq .+2
     44 	bclr *ZD1+1, #32
     45 	brclr *ZD2+2, #40, test2
     46 	ldy #24+_start-44
     47 	ldd B_low,y
     48 	addd A_low,y
     49 	addd D_low,y
     50 	subd A_low
     51 	subd #A_low
     52 	jmp Stop
     53 L1:
     54 	anda #%lo(test2)
     55 	andb #%hi(test2)
     56 	ldab #%page(test2)	; Check that the relocs are against symbol
     57 	ldy  #%addr(test2)	; otherwise linker relaxation fails
     58 	rts
     59 
     60 	.sect .data
     61 
     62 	.sect .bss
     63 stack:
     64 	.space	1024
     65 stack_end:
     66