From d4af5503825dfd78bc7419deeb640157a72a96a1 Mon Sep 17 00:00:00 2001 From: ian Date: Sun, 24 Apr 2005 13:44:16 +0000 Subject: [PATCH] list flags affected --- iwjpictest/Makefile | 4 ++-- iwjpictest/insn-aliases.inc-gen | 36 ++++++++++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 5 deletions(-) diff --git a/iwjpictest/Makefile b/iwjpictest/Makefile index 07a608d..874cfd4 100644 --- a/iwjpictest/Makefile +++ b/iwjpictest/Makefile @@ -21,7 +21,7 @@ insn-%.txt: insn-aliases.inc-gen insn-check.txt: insn-makecheck insn-aliases.inc ./$^ $o -insn-%.ps: insn-%.txt - atp -T A4 -B -f Courier7.8 <$< $o +insn-%.ps: insn-%.txt Makefile + atp -T A4 -B -f Courier7.7 <$< $o copybits.o serialloop.o: onecopybit.inc diff --git a/iwjpictest/insn-aliases.inc-gen b/iwjpictest/insn-aliases.inc-gen index 65dd1c6..246f8de 100755 --- a/iwjpictest/insn-aliases.inc-gen +++ b/iwjpictest/insn-aliases.inc-gen @@ -15,6 +15,33 @@ case "$1" in esac test $# = 1 || badusage +flags () { eval "flags_$1=$2"; } + +flags addwf F +flags addwfc F +flags andwf ZN +flags clrf Z +flags comf ZN +flags decf F +flags incf F +flags iorwf ZN +flags movf ZN +flags negf F +flags rlcf ZNC +flags rlncf ZN +flags rrcf ZNC +flags rrncf ZN +flags subfwb F +flags subwf F +flags subwfb F +flags xorwf ZN +flags daw C +flags addlw F +flags andlw ZN +flags iorlw ZN +flags sublw F +flags xorlw ZN + if [ x$cohere != x ]; then sed <$0 -e '1,/^#'$cohere'--/d; /^#--0--/,$d' "$0" --descs | sort -t % -k 1.$sortkey @@ -29,7 +56,8 @@ lit=k desc () { local use=$1 new=$2 formargs=$3 notes=$4 - local fan="$(printf "%-6s %s" "$formargs" "$notes")" + eval "flags__use=\$flags_$use" + local fan="$(printf "%-6s %s" "$formargs" "$flags__use$notes")" if $descs; then printf "$comment %-13s %-12s %-39s %s\n" \ "$new" "$fan" "$ds" "$use" @@ -193,7 +221,9 @@ Notes: r Branch uses relative offset. a Uses BSR for F iff F address is not in Access Bank. There are also _a (always uses access bank) and _b (always uses BSR). (_[ab]_if for conditionals.) - u Official opcode, not an alias/macro. Listed for completeness. - digits Gives number of bits of address or offset. + u Official opcode, not an alias/macro. Listed for completeness.y + w Macro (alias) using WREG (the mapping of W in the Access Bank). + digits Gives number of bits of address or offset. + Z N C F Flags affected. F: all the status flags C DC Z OV N affected. $Id$ #--0-- -- 2.30.2