asmm68k.sh
来自「FinC编译器源代码」· Shell 代码 · 共 40 行
SH
40 行
#!/bin/sh# Translate the assembler syntax of m68k assembler programs# Usage: asmm68k < sunos-asm-file > portable-asm-file# The portable-asm-file has to be# 1. preprocessed,# 2. grep -v '^ *#line' | grep -v '^#'# 3. sed -e 's,% ,%,g' -e 's,//.*$,,'tmpscript1=sed$$tmp1tmpscript2=sed$$tmp2tmpremove='rm -f $tmpscript1 $tmpscript2'trap "$tmpremove" 1 2 15cat > $tmpscript1 << \EOF# ----------- Remove #APP/#NO_APP lines/^#APP$/d/^#NO_APP$/d# ----------- Remove gcc self-identification/gcc2_compiled/d/gnu_compiled_c/dEOFcat > $tmpscript2 << \EOF# ----------- Prefix register names with $, to be turned into % laters/,/, /gs/\([^A-Za-z0-9_]\)\([ad][0-7]\|sp\|fp[0-7]\)\([^A-Za-z0-9_]\)/\1$\2\3/gs/\([^A-Za-z0-9_]\)\([ad][0-7]\|sp\|fp[0-7]\)$/\1$\2/gs/, /,/g# ----------- Declare global symbols as functions (we have no variables)s/\.globl _\([A-Za-z0-9_]*\)$/.globl _\1\ DECLARE_FUNCTION(\1)/# ----------- Global symbols depends on ASM_UNDERSCOREs/_\([A-Za-z0-9_:]*\)/C(\1)/EOFsed -f $tmpscript1 | \sed -f $tmpscript2eval "$tmpremove"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?