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

📄 basic.exp

📁 binary ultilities binary ultilities binary ultilities
💻 EXP
📖 第 1 页 / 共 5 页
字号:
# Copyright (C) 1993, 1996, 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:# DejaGnu@cygnus.com# Written by the Center for Software Science at the Univeristy of Utah# and by Cygnus Support.proc do_imem {} {    set testname "imem.s: integer memory loads and stores"    set x 0    gas_start "imem.s" "-al"    # Check the assembled instruction against a table built by the HP assembler    # Any differences should be checked by hand -- with the number of problems    # I've seen in the HP assembler I don't completely trust it.    #    # Instead of having a variable for each match string just increment the    # total number of matches seen.  That's simpler when testing large numbers    # of instructions (as these tests to).    while 1 {	expect {	    -re "^ +\[0-9\]+ 0000 489A0000\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0004 449A0000\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0008 409A0000\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 000c 689A0000\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0010 649A0000\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0014 609A0000\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0018 4C9A0000\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 001c 6C9A0000\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0020 0C85009A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0024 0C85209A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0028 0C8500BA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 002c 0C8520BA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0030 0C85005A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0034 0C85205A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0038 0C85007A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 003c 0C85207A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0040 0C85001A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0044 0C85201A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0048 0C85003A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 004c 0C85203A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0050 0C85019A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0054 0C85219A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0058 0C8501BA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 005c 0C8521BA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0060 0C8501DA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0064 0C8521DA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0068 0C8501FA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 006c 0C8521FA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0070 0C80109A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0074 0C8030BA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0078 0C8010BA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 007c 0C80105A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0080 0C80307A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0084 0C80107A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0088 0C80101A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 008c 0C80303A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0090 0C80103A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0094 0C80119A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0098 0C8031BA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 009c 0C8011BA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00a0 0C8011DA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00a4 0C8031FA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00a8 0C8011FA\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00ac 0C9A1280\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00b0 0C9A32A0\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00b4 0C9A12A0\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00b8 0C9A1240\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00bc 0C9A3260\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00c0 0C9A1260\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00c4 0C9A1200\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00c8 0C9A3220\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00cc 0C9A1220\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00d0 0C9A1380\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00d4 0C9A33A0\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00d8 0C9A13A0\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00dc 0C9A1300\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00e0 0C9A1300\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00e4 0C9A3300\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00e8 0C9A1320\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00ec 0C9A3320\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "\[^\n\]*\n"				{ }	    timeout				{ perror "timeout\n"; break }	    eof					{ break }	}    }    # This was intended to do any cleanup necessary.  It kinda looks like it    # isn't needed, but just in case, please keep it in for now.    gas_finish    # Did we find what we were looking for?  If not, flunk it.    if [expr $x==60] then { pass $testname } else { fail $testname }}proc do_immed {} {    set testname "immed.s: immediate tests"    set x 0    gas_start "immed.s" "-al"    # Check the assembled instruction against a table built by the HP assembler    # Any differences should be checked by hand -- with the number of problems    # I've seen in the HP assembler I don't completely trust it.    #    # Instead of having a variable for each match string just increment the    # total number of matches seen.  That's simpler when testing large numbers    # of instructions (as these tests to).    while 1 {	expect {	    -re "^ +\[0-9\]+ 0000 375A000A\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0004 234DFBD5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0008 28ADFBD5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "\[^\n\]*\n"				{ }	    timeout				{ perror "timeout\n"; break }	    eof					{ break }	}    }    # This was intended to do any cleanup necessary.  It kinda looks like it     # isn't needed, but just in case, please keep it in for now.    gas_finish    # Did we find what we were looking for?  If not, flunk it.    if [expr $x==3] then { pass $testname } else { fail $testname }}proc do_branch {} {    set testname "branch.s: branch tests"    set x 0    gas_start "branch.s" "-al"    # Check the assembled instruction against a table built by the HP assembler    # Any differences should be checked by hand -- with the number of problems    # I've seen in the HP assembler I don't completely trust it.    #    # Instead of having a variable for each match string just increment the    # total number of matches seen.  That's simpler when testing large numbers    # of instructions (as these tests to).    while 1 {	expect {	    -re "^ +\[0-9\]+ 0000 E85F1FF5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0004 E85F1FEF\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0008 E81F1FE5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 000c E81F1FDF\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0010 E85F3FD5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0014 E85F3FCF\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0018 E8444000\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 001c E8444002\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0020 E8044000\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0024 E8044002\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0028 E840C000\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 002c E840C002\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0030 E040446C\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0034 E040446E\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0038 E440446C\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 003c E440446E\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0040 CB441FF5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0044 CB443FED\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0048 CB445FE5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 004c CB447FDD\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0050 CB449FD5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0054 CB44BFCD\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0058 CB44DFC5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 005c CB44FFBD\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0060 CB441FB7\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0064 CB443FAF\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0068 CB445FA7\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 006c CB447F9F\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0070 CB449F97\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0074 CB44BF8F\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0078 CB44DF87\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 007c CB44FF7F\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0080 CF4A1FF5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0084 CF4A3FED\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0088 CF4A5FE5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 008c CF4A7FDD\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0090 CF4A9FD5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0094 CF4ABFCD\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0098 CF4ADFC5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 009c CF4AFFBD\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00a0 CF4A1FB7\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00a4 CF4A3FAF\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00a8 CF4A5FA7\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00ac CF4A7F9F\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00b0 CF4A9F97\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00b4 CF4ABF8F\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00b8 CF4ADF87\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00bc CF4AFF7F\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00c0 80801FF5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00c4 80803FED\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00c8 80805FE5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00cc 80807FDD\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00d0 80809FD5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00d4 8080BFCD\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00d8 8080DFC5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00dc 8080FFBD\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00e0 88801FB5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00e4 88803FAD\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00e8 88805FA5\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00ec 88807F9D\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00f0 88809F95\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00f4 8880BF8D\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00f8 8880DF85\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 00fc 8880FF7D\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0100 80801F77\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0104 80803F6F\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0108 80805F67\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 010c 80807F5F\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0110 80809F57\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0114 8080BF4F\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0118 8080DF47\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 011c 8080FF3F\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0120 88801F37\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0124 88803F2F\[^\n\]*\n"	{ set x [expr $x+1] }	    -re "^ +\[0-9\]+ 0128 88805F27\[^\n\]*\n"	{ set x [expr $x+1] }

⌨️ 快捷键说明

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