⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mn10300.exp

📁 lwip在ucos上的移植
💻 EXP
字号:
# Copyright (C) 1997 Free Software Foundation, Inc.# This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.# # This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.# # You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  # Please email any bugs, comments, and/or additions to this file to:# bug-gdb@prep.ai.mit.edu# This file was written by Jeff Law. (law@cygnus.com)if $tracelevel then {	strace $tracelevel}if ![istarget "mn10300*-*-*"] {    verbose "Tests ignored for all but mn10300 based targets."    return}global exec_outputset prms_id 0set bug_id 0set testfile "mn10300"set srcfile ${srcdir}/${subdir}/${testfile}.sset binfile ${objdir}/${subdir}/${testfile}if  { [gdb_compile "${srcfile}" "${binfile}" executable ""] != "" } {     gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."}proc add_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/14i add_tests\n"    gdb_expect {	-re ".*add	d1,d2.*.*add	d2,a3.*.*add	a3,a2.*.*add	a2,d1.*.*add	16,d1.*.*add	256,d2.*.*add	131071,d3.*.*add	16,a1.*.*add	256,a2.*.*add	131071,a3.*.*add	16,sp.*.*add	256,sp.*.*add	131071,sp.*.*addc	d1,d2.*.*$gdb_prompt $" { pass "add tests" }	-re "$gdb_prompt $" { fail "add tests" }	timeout { fail "(timeout) add tests" }    }}proc bcc_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/15i bCC_tests\n"    gdb_expect {	-re ".*beq	0x\[0-9a-f]+ <bCC_tests>.*.*bne	0x\[0-9a-f]+ <bCC_tests>.*.*bgt	0x\[0-9a-f]+ <bCC_tests>.*.*bge	0x\[0-9a-f]+ <bCC_tests>.*.*ble	0x\[0-9a-f]+ <bCC_tests>.*.*blt	0x\[0-9a-f]+ <bCC_tests>.*.*bhi	0x\[0-9a-f]+ <bCC_tests>.*.*bcc	0x\[0-9a-f]+ <bCC_tests>.*.*bls	0x\[0-9a-f]+ <bCC_tests>.*.*bcs	0x\[0-9a-f]+ <bCC_tests>.*.*bvc	0x\[0-9a-f]+ <bCC_tests>.*.*bvs	0x\[0-9a-f]+ <bCC_tests>.*.*bnc	0x\[0-9a-f]+ <bCC_tests>.*.*bns	0x\[0-9a-f]+ <bCC_tests>.*.*bra	0x\[0-9a-f]+ <bCC_tests>.*.*$gdb_prompt $" { pass "bCC tests" }	-re "$gdb_prompt $" { fail "bCC tests" }	timeout { fail "(timeout) bCC tests" }    }}proc bit_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/11i bit_tests\n"    gdb_expect {	-re ".*btst	64,d1.*.*btst	8192,d2.*.*btst	131071,d3.*.*btst	64,\\(8,a1\\).*.*btst	64,\\(0x1ffff\\).*.*bset	d1,\\(a2\\).*.*bset	64,\\(8,a1\\).*.*bset	64,\\(0x1ffff\\).*.*bclr	d1,\\(a2\\).*.*bclr	64,\\(8,a1\\).*.*bclr	64,\\(0x1ffff\\).*.*$gdb_prompt $" { pass "bit tests" }	-re "$gdb_prompt $" { fail "bit tests" }	timeout { fail "(timeout) bit tests" }    }}proc cmp_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/10i cmp_tests\n"    gdb_expect {	-re ".*cmp	d1,d2.*.*cmp	d2,a3.*.*cmp	a3,d3.*.*cmp	a3,a2.*.*cmp	16,d3.*.*cmp	256,d2.*.*cmp	131071,d1.*.*cmp	16,a3.*.*cmp	256,a2.*.*cmp	131071,a1.*.*$gdb_prompt $" { pass "cmp tests" }	-re "$gdb_prompt $" { fail "cmp tests" }	timeout { fail "(timeout) cmp tests" }    }}proc extend_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/5i extend_tests\n"    gdb_expect {	-re ".*ext	d1.*.*extb	d2.*.*extbu	d3.*.*exth	d2.*.*exthu	d1.*.*$gdb_prompt $" { pass "extend tests" }	-re "$gdb_prompt $" { fail "extend tests" }	timeout { fail "(timeout) extend tests" }    }}proc extended_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/13i extended_tests\n"    gdb_expect {	-re ".*putx	d1.*.*getx	d2.*.*mulq	d1,d2.*.*mulq	16,d2.*.*mulq	256,d3.*.*mulq	131071,d3.*.*mulqu	d1,d2.*.*mulqu	16,d2.*.*mulqu	256,d3.*.*mulqu	131071,d3.*.*sat16	d2,d3.*.*sat24	d3,d2.*.*bsch	d1,d2.*.*$gdb_prompt $" { pass "extended tests" }	-re "$gdb_prompt $" { fail "extended tests" }	timeout { fail "(timeout) extended tests" }    }}proc logical_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/14i logical_tests\n"    gdb_expect {	-re ".*and	d1,d2.*.*and	127,d2.*.*and	32767,d3.*.*and	131071,d3.*.*and	32767,psw.*.*or	d1,d2.*.*or	127,d2.*.*or	32767,d3.*.*or	131071,d3.*.*or	32767,psw.*.*xor	d1,d2.*.*xor	32767,d3.*.*xor	131071,d3.*.*not	d3.*.*$gdb_prompt $" { pass "logical tests" }	-re "$gdb_prompt $" { fail "logical tests" }	timeout { fail "(timeout) logical tests" }    }}proc loop_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/12i loop_tests\n"    gdb_expect {	-re ".*leq.*.*lne.*.*lgt.*.*lge.*.*lle.*.*llt.*.*lhi.*.*lcc.*.*lls.*.*lcs.*.*lra.*.*setlb.*.*$gdb_prompt $" { pass "loop tests" }	-re "$gdb_prompt $" { fail "loop tests" }	timeout { fail "(timeout) loop tests" }    }}proc mov_tests_1 { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/16i mov_tests_1\n"    gdb_expect {	-re ".*mov	d1,d2.*.*mov	d1,a2.*.*mov	a2,d1.*.*mov	a2,a1.*.*mov	sp,a2.*.*mov	a1,sp.*.*mov	d2,psw.*.*mov	mdr,d1.*.*mov	d2,mdr.*.*mov	\\(a2\\),d1.*.*mov	\\(8,a2\\),d1.*.*mov	\\(256,a2\\),d1.*.*mov	\\(131071,a2\\),d1.*.*mov	\\(8,sp\\),d1.*.*mov	\\(256,sp\\),d1.*.*mov	psw,d3.*.*$gdb_prompt $" { pass "mov1 tests" }	-re "$gdb_prompt $" { fail "mov1 tests" }	timeout { fail "(timeout) mov1 tests" }    }}proc mov_tests_2 { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/15i mov_tests_2\n"    gdb_expect {	-re ".*mov	\\(131071,sp\\),d1.*.*mov	\\(d1,a1\\),d2.*.*mov	\\(0x8000.*\\),d1.*.*mov	\\(0x1ffff.*\\),d1.*.*mov	\\(a2\\),a1.*.*mov	\\(8,a2\\),a1.*.*mov	\\(256,a2\\),a1.*.*mov	\\(131071,a2\\),a1.*.*mov	\\(8,sp\\),a1.*.*mov	\\(256,sp\\),a1.*.*mov	\\(131071,sp\\),a1.*.*mov	\\(d1,a1\\),a2.*.*mov	\\(0x8000.*\\),a1.*.*mov	\\(0x1ffff.*\\),a1.*.*mov	\\(32,a1\\),sp.*.*$gdb_prompt $" { pass "mov2 tests" }	-re "$gdb_prompt $" { fail "mov2 tests" }	timeout { fail "(timeout) mov2 tests" }    }}proc mov_tests_3 { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/15i mov_tests_3\n"    gdb_expect {	-re ".*mov	d1,\\(a2\\).*.*mov	d1,\\(32,a2\\).*.*mov	d1,\\(256,a2\\).*.*mov	d1,\\(131071,a2\\).*.*mov	d1,\\(32,sp\\).*.*mov	d1,\\(32768,sp\\).*.*mov	d1,\\(131071,sp\\).*.*mov	d1,\\(d2,a2\\).*.*mov	d1,\\(0x80.*\\).*.*mov	d1,\\(0x1ffff.*\\).*.*mov	a1,\\(a2\\).*.*mov	a1,\\(32,a2\\).*.*mov	a1,\\(256,a2\\).*.*mov	a1,\\(131071,a2\\).*.*mov	a1,\\(32,sp\\).*.*$gdb_prompt $" { pass "mov3 tests" }	-re "$gdb_prompt $" { fail "mov3 tests" }	timeout { fail "(timeout) mov3 tests" }    }}proc mov_tests_4 { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/12i mov_tests_4\n"    gdb_expect {	-re ".*mov	a1,\\(32768,sp\\).*.*mov	a1,\\(131071,sp\\).*.*mov	a1,\\(d2,a2\\).*.*mov	a1,\\(0x80.*\\).*.*mov	a1,\\(0x1ffff.*\\).*.*mov	sp,\\(32,a1\\).*.*mov	8,d1.*.*mov	256,d1.*.*mov	131071,d1.*.*mov	8,a1.*.*mov	256,a1.*.*mov	131071,a1.*.*$gdb_prompt $" { pass "mov4 tests" }	-re "$gdb_prompt $" { fail "mov4 tests" }	timeout { fail "(timeout) mov4 tests" }    }}proc movbu_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/20i movbu_tests\n"    gdb_expect {	-re ".*movbu	\\(a2\\),d1.*.*movbu	\\(8,a2\\),d1.*.*movbu	\\(256,a2\\),d1.*.*movbu	\\(131071,a2\\),d1.*.*movbu	\\(8,sp\\),d1.*.*movbu	\\(256,sp\\),d1.*.*movbu	\\(131071,sp\\),d1.*.*movbu	\\(d1,a1\\),d2.*.*movbu	\\(0x8000.*\\),d1.*.*movbu	\\(0x1ffff.*\\),d1.*.*movbu	d1,\\(a2\\).*.*movbu	d1,\\(32,a2\\).*.*movbu	d1,\\(256,a2\\).*.*movbu	d1,\\(131071,a2\\).*.*movbu	d1,\\(32,sp\\).*.*movbu	d1,\\(32768,sp\\).*.*movbu	d1,\\(131071,sp\\).*.*movbu	d1,\\(d2,a2\\).*.*movbu	d1,\\(0x80.*\\).*.*movbu	d1,\\(0x1ffff.*\\).*.*$gdb_prompt $" { pass "movbu tests" }	-re "$gdb_prompt $" { fail "movbu tests" }	timeout { fail "(timeout) movbu tests" }    }}proc movhu_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/20i movhu_tests\n"    gdb_expect {	-re ".*movhu	\\(a2\\),d1.*.*movhu	\\(8,a2\\),d1.*.*movhu	\\(256,a2\\),d1.*.*movhu	\\(131071,a2\\),d1.*.*movhu	\\(8,sp\\),d1.*.*movhu	\\(256,sp\\),d1.*.*movhu	\\(131071,sp\\),d1.*.*movhu	\\(d1,a1\\),d2.*.*movhu	\\(0x8000.*\\),d1.*.*movhu	\\(0x1ffff.*\\),d1.*.*movhu	d1,\\(a2\\).*.*movhu	d1,\\(32,a2\\).*.*movhu	d1,\\(256,a2\\).*.*movhu	d1,\\(131071,a2\\).*.*movhu	d1,\\(32,sp\\).*.*movhu	d1,\\(32768,sp\\).*.*movhu	d1,\\(131071,sp\\).*.*movhu	d1,\\(d2,a2\\).*.*movhu	d1,\\(0x80.*\\).*.*movhu	d1,\\(0x1ffff.*\\).*.*$gdb_prompt $" { pass "movhu tests" }	-re "$gdb_prompt $" { fail "movhu tests" }	timeout { fail "(timeout) movhu tests" }    }}proc movm_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/4i movm_tests\n"    gdb_expect {	-re ".*movm	\\(sp\\),.a2,a3..*.*movm	\\(sp\\),.d2,d3,a2,a3,other..*.*movm	.a2,a3.,\\(sp\\).*.*movm	.d2,d3,a2,a3,other.,\\(sp\\).*.*$gdb_prompt $" { pass "movm tests" }	-re "$gdb_prompt $" { fail "movm tests" }	timeout { fail "(timeout) movm tests" }    }}proc muldiv_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/4i muldiv_tests\n"    gdb_expect {	-re ".*mul	d1,d2.*.*mulu	d2,d3.*.*div	d3,d3.*.*divu	d3,d2.*.*$gdb_prompt $" { pass "muldiv tests" }	-re "$gdb_prompt $" { fail "muldiv tests" }	timeout { fail "(timeout) muldiv tests" }    }}proc other_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/19i other_tests\n"    gdb_expect {	-re ".*clr	d2.*.*inc	d1.*.*inc	a2.*.*inc4	a3.*.*jmp	\\(a2\\).*.*jmp	0x\[0-9a-f]+ <main>.*.*jmp	0x\[0-9a-f]+ <start>.*.*call	0x\[0-9a-f]+ <main>,.a2,a3.,9.*.*call	0x\[0-9a-f]+ <start>,.a2,a3.,32.*.*calls	\\(a2\\).*.*calls	0x\[0-9a-f]+ <main>.*.*calls	0x\[0-9a-f]+ <start>.*.*ret	.a2,a3.,7.*.*retf	.a2,a3.,5.*.*rets.*.*rti.*.*trap.*.*nop.*.*rtm.*.*$gdb_prompt $" { pass "other tests" }	-re "$gdb_prompt $" { fail "other tests" }	timeout { fail "(timeout) other tests" }    }}proc shift_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/9i shift_tests\n"    gdb_expect {	-re ".*asr	d1,d2.*.*asr	4,d2.*.*lsr	d2,d3.*.*lsr	4,d3.*.*asl	d3,d2.*.*asl	4,d2.*.*asl2	d2.*.*ror	d1.*.*rol	d2.*.*$gdb_prompt $" { pass "shift tests" }	-re "$gdb_prompt $" { fail "shift tests" }	timeout { fail "(timeout) shift tests" }    }}proc sub_tests { } {    global gdb_prompt    global hex    global decimal    send_gdb "x/7i sub_tests\n"    gdb_expect {	-re ".*sub	d1,d2.*.*sub	d2,a3.*.*sub	a3,d3.*.*sub	a3,a2.*.*sub	131071,d2.*.*sub	131071,a1.*.*subc	d1,d2.*.*$gdb_prompt $" { pass "sub tests" }	-re "$gdb_prompt $" { fail "sub tests" }	timeout { fail "(timeout) sub tests" }    }}# Start with a fresh gdb.gdb_exitgdb_startgdb_reinitialize_dir $srcdir/$subdirgdb_load $binfileadd_testsbcc_testsbit_testscmp_testsextend_testsextended_testslogical_testsloop_testsmov_tests_1mov_tests_2mov_tests_3mov_tests_4movbu_testsmovhu_testsmovm_testsmuldiv_testsother_testsshift_testssub_tests

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -