#
# Some generic m68HC11 tests
#
if { ![istarget "m68hc1*-*-*"]
     && ![istarget "m6811-*-*"]
     && ![istarget "m6812-*-*"] } then {
    return
}

# Simple test for --print-opcodes (list of supported opcodes)
# We don't check the list result but just the syntax and the
# number it 
proc gas_m68hc11_opcode_list { flags expect_count } {
    global comp_output

    set testname "Opcode list generation \[$flags\]"
    gas_run "x.s" "--print-opcodes $flags" ""

    set lines [split $comp_output "\n"]
    set cnt [llength $lines]
    verbose -log "Found $cnt opcodes"
    if { $cnt == $expect_count } then {
        pass $testname
    } else {
        fail $testname
    }
}

gas_m68hc11_opcode_list "-m68hc11" 149
gas_m68hc11_opcode_list "-m68hc12" 192
gas_m68hc11_opcode_list "-m68hcs12" 192
gas_m68hc11_opcode_list "-mm9s12x" 266
gas_m68hc11_opcode_list "-mm9s12xg" 74


# Test for a message produced when assembling a file
proc gas_m68hc11_message { kind options line expect } {
    global srcdir
    global subdir

    regsub -all "\n" "$line: $expect" " " title

    # Make a file containing the instructions to assemble.
    set fd [open "$srcdir/$subdir/tst-m68hc1x.s" "w"]
    puts -nonewline $fd "$line"
    close $fd

    verbose -log "Test: $title"
    gas_start "tst-m68hc1x.s" "$options"
    set ok 0
    while 1 {
	expect {
	    -re ".*: Assembler messages:\n" { }
	    -re ".*1: $kind: $expect" { incr ok; break }
	    timeout       { perror "timeout\n"; break }
	    eof		  { verbose "EOF from gas"; break }
	}
    }
    #sleep 1 # Uncomment this line when using gcov
    gas_finish
    if { $ok > 0 } then {
	pass $title
    } else {
	fail $title
    }
    catch "exec rm -f $srcdir/$subdir/tst-m68hc1x.s"
}

# Test for an error message produced by gas
proc gas_m68hc11_error { options line expect } {
    gas_m68hc11_message "Error" $options $line $expect
}

# Test for a warning message produced by gas
proc gas_m68hc11_warning { options line expect } {
    gas_m68hc11_message "Warning" $options $line $expect
}

# ------------------
# 68HC11 error tests
gas_m68hc11_error "-m68hc11" "puld\n" "Opcode .puld. is not recognized"
gas_m68hc11_error "" "ldab\n" "Invalid operand for .ldab."
gas_m68hc11_error "-m68hc11" "ldab 256,x\n" "Operand out of 8-bit range:.*256"
gas_m68hc11_error "-m68hc11" "ldab 257,y\n" "Operand out of 8-bit range:.*257"
gas_m68hc11_error "-m68hc11" "ldab -1,y\n" "Operand out of 8-bit range:.*-1"
gas_m68hc11_error "-m68hc11" "ldab bar,y\nbar=300" "value of 300 too large for field of 1 byte"
gas_m68hc11_error "" "jmp \#23\n" "Immediate operand is not allowed"
gas_m68hc11_error "-m68hc11" "ldab \[d,pc\]\n" "Indirect indexed addressing is not valid for 68HC11"
gas_m68hc11_error "" "ldab ,t\n" "Spurious .,. or bad indirect register"
gas_m68hc11_error "" "ldab 1,t\n" "Garbage at end of instruction:.*,t"
gas_m68hc11_error "" "ldab 1,,x\n" "Garbage at end of instruction:.*,x"
gas_m68hc11_error "-m68hc11" "ldab 1,+x\n" "Pre-increment mode is not valid"
gas_m68hc11_error "-m68hc11" "ldab 1,-x\n" "Pre-increment mode is not valid"
gas_m68hc11_error "-m68hc11" "ldab 1,x+\n" "Post-increment mode is not valid"
gas_m68hc11_error "-m68hc11" "ldab 1,x-\n" "Post-decrement mode is not valid"
gas_m68hc11_error "" "ldd \#65536\n" "Operand out of 16-bit range"
gas_m68hc11_error "--short-branchs" "bne 200\n" \
    "Operand out of range for a relative branch"
gas_m68hc11_error "" "bar\n" "Opcode .bar. is not recognized."
gas_m68hc11_error "--print-insn-syntax" "bne\n" \
    "Instruction formats for .bne..*"
#Check that 9s12x opcodes are rejected
gas_m68hc11_error "-m68hc11" "subx\n" "Opcode .subx. is not recognized"
gas_m68hc11_error "-m68hc11" "roly\n" "Opcode .roly. is not recognized"

# ------------------
# 68HC12 error tests
gas_m68hc11_error "-m68hc12" "ldab x,y\n" "Invalid accumulator register"
gas_m68hc11_error "-m68hc12" "ldab \[d,y\n" \
    "Missing .\]. to close indexed-indirect mode"
gas_m68hc11_error "-m68hc12" "ldab 0,\n" "Garbage at end of instruction: .,."
gas_m68hc11_error "-m68hc12" "ldab \[d\]\n" \
    "Missing second register or offset for indexed-indirect mode"
gas_m68hc11_error "-m68hc12" "ldab \[d x\]\n" \
    "Missing second register for indexed-indirect mode"
gas_m68hc11_error "-m68hc12" "ldab \[d d\]\n" \
    "Missing second register for indexed-indirect mode"
gas_m68hc11_error "-m68hc12" "ldab \[pc d\]\n" \
    "Missing second register for indexed-indirect mode"
gas_m68hc11_error "-m68hc12" "ldab 65536,x\n" \
    "Offset out of 16-bit range:"
gas_m68hc11_error "-m68hc12 -S" "ibeq d,500\n" \
    "Operand out of range for a relative branch"
gas_m68hc11_error "-m68hc12" "ibeq pc,3\n" \
    "Invalid register for dbcc/tbcc instruction"
gas_m68hc11_error "-m68hc12 -S" "ibeq pc,500\n" \
    "Invalid register for dbcc/tbcc instruction"
gas_m68hc11_error "-m68hc12" "orab 9,+x\n" \
    "Increment/decrement value is out of range"
gas_m68hc11_error "-m68hc12" "orab -9,x-\n" \
    "Increment/decrement value is out of range"
gas_m68hc11_error "-m68hc12" "orab -3,-pc\n" \
    "Invalid register for post/pre increment"
gas_m68hc11_error "-m68hc12" "trap \#0\n" "Trap id .0. is out of range"
gas_m68hc11_error "-m68hc12" "trap \#300\n" "Trap id .300. is out of range"
gas_m68hc11_error "-m68hc12" "trap \#bar\n" "The trap id must be a constant"
gas_m68hc11_error "-m68hc12" "sex x,d\n" \
    "Invalid source register for this instruction, use .tfr."
gas_m68hc11_error "-m68hc12" "tfr pc,a\n" "Invalid source register"
gas_m68hc11_error "-m68hc12" "movb 200,x,3,y\n" \
    "Offset out of 5-bit range for movw/movb insn: 200"
gas_m68hc11_error "-m68hc12" "movb 2,x,300,y\n" \
    "Offset out of 5-bit range for movw/movb insn: 300"
gas_m68hc11_error "-m68hc12" "movb 2,x,bar,y\nbar=300\n" \
    "Offset out of 5-bit range for movw/movb insn: 300"
gas_m68hc11_error "-m68hc12" "movb bar,y,2,x\nbar=300\n" \
    "Offset out of 5-bit range for movw/movb insn: 300"
gas_m68hc11_error "-m68hc12" "movb 200,pc,3,y\n" \
    "Offset out of 5-bit range for movw/movb insn: 200"
gas_m68hc11_error "-m68hc12" "movb 2,x,300,pc\n" \
    "Offset out of 5-bit range for movw/movb insn: 300"
gas_m68hc11_error "-m68hc12" "movb 2,x,bar,pc\nbar=300\n" \
    "Offset out of 5-bit range for movw/movb insn: 300"
gas_m68hc11_error "-m68hc12" "movb bar,pc,2,x\nbar=300\n" \
    "Offset out of 5-bit range for movw/movb insn: 300"
#check the 9s12x opcodes not supported
gas_m68hc11_error "-m68hc12" "subx\n" "Opcode .subx. is not recognized"
gas_m68hc11_error "-m68hc12" "roly\n" "Opcode .roly. is not recognized"
gas_m68hc11_error "-m68hc12" "sex d,x\n" \
    "Invalid source register for this instruction, use .tfr."
gas_m68hc11_error "-m68hc12" "sex d,y\n" \
    "Invalid source register for this instruction, use .tfr."

#m9s12x tests
gas_m68hc11_error "-mm9s12x" "par r3\n" "Opcode .par. is not recognized"
gas_m68hc11_error "-mm9s12x" "csem #1\n" "Opcode .csem. is not recognized"

#m9s12xg tests
gas_m68hc11_error "-mm9s12xg" "roly\n" "Opcode .roly. is not recognized"
gas_m68hc11_error "-mm9s12xg" "ldab #1\n" "Opcode .ldab. is not recognized"

# ------------------
# Specific commands
gas_m68hc11_warning "-m68hc11" ".mode \"bar\"\n" "Invalid mode: .bar."
gas_m68hc11_error "-m68hc11" ".relax 23\n" "bad .relax format"
gas_m68hc11_error "-m68hc11" ".relax bar-23\n" "bad .relax format"
gas_m68hc11_error "-m68hc11" ".far bar bar\n" "junk at end of line"

run_dump_test insns
run_dump_test lbranch
run_dump_test all_insns
run_dump_test insns-dwarf2
run_dump_test lbranch-dwarf2
run_dump_test abi-m68hc11-16-64
run_dump_test abi-m68hc11-16-32
run_dump_test abi-m68hc11-32-64

# Compliance with Motorola Assembly Language Input Standard
run_dump_test malis

# Some 68HC12 tests
run_dump_test opers12
run_dump_test opers12-dwarf2
run_dump_test branchs12
run_dump_test insns12
run_dump_test indexed12
run_dump_test bug-1825
run_dump_test movb

# Some m9s12x tests
run_dump_test insns9s12x
run_dump_test 9s12x-exg-sex-tfr
run_dump_test 9s12x-mov

# Some m9s12xg tests
run_dump_test insns9s12xg

# Confirm hex prefixes
run_dump_test hexprefix

