1233d2500723e5594f3e7c70896ffeeef32b9c950ywan#!/usr/bin/env perl 2233d2500723e5594f3e7c70896ffeeef32b9c950ywan## 3233d2500723e5594f3e7c70896ffeeef32b9c950ywan## Copyright (c) 2013 The WebM project authors. All Rights Reserved. 4233d2500723e5594f3e7c70896ffeeef32b9c950ywan## 5233d2500723e5594f3e7c70896ffeeef32b9c950ywan## Use of this source code is governed by a BSD-style license 6233d2500723e5594f3e7c70896ffeeef32b9c950ywan## that can be found in the LICENSE file in the root of the source 7233d2500723e5594f3e7c70896ffeeef32b9c950ywan## tree. An additional intellectual property rights grant can be found 8233d2500723e5594f3e7c70896ffeeef32b9c950ywan## in the file PATENTS. All contributing project authors may 9233d2500723e5594f3e7c70896ffeeef32b9c950ywan## be found in the AUTHORS file in the root of the source tree. 10233d2500723e5594f3e7c70896ffeeef32b9c950ywan## 11233d2500723e5594f3e7c70896ffeeef32b9c950ywan 12233d2500723e5594f3e7c70896ffeeef32b9c950ywanuse FindBin; 13233d2500723e5594f3e7c70896ffeeef32b9c950ywanuse lib $FindBin::Bin; 14233d2500723e5594f3e7c70896ffeeef32b9c950ywanuse thumb; 15233d2500723e5594f3e7c70896ffeeef32b9c950ywan 16233d2500723e5594f3e7c70896ffeeef32b9c950ywanprint "; This file was created from a .asm file\n"; 17233d2500723e5594f3e7c70896ffeeef32b9c950ywanprint "; using the ads2armasm_ms.pl script.\n"; 18233d2500723e5594f3e7c70896ffeeef32b9c950ywan 19233d2500723e5594f3e7c70896ffeeef32b9c950ywanwhile (<STDIN>) 20233d2500723e5594f3e7c70896ffeeef32b9c950ywan{ 21233d2500723e5594f3e7c70896ffeeef32b9c950ywan undef $comment; 22233d2500723e5594f3e7c70896ffeeef32b9c950ywan undef $line; 23233d2500723e5594f3e7c70896ffeeef32b9c950ywan 24233d2500723e5594f3e7c70896ffeeef32b9c950ywan s/REQUIRE8//; 25233d2500723e5594f3e7c70896ffeeef32b9c950ywan s/PRESERVE8//; 26233d2500723e5594f3e7c70896ffeeef32b9c950ywan s/^\s*ARM\s*$//; 27233d2500723e5594f3e7c70896ffeeef32b9c950ywan s/AREA\s+\|\|(.*)\|\|/AREA |$1|/; 28233d2500723e5594f3e7c70896ffeeef32b9c950ywan s/qsubaddx/qsax/i; 29233d2500723e5594f3e7c70896ffeeef32b9c950ywan s/qaddsubx/qasx/i; 30233d2500723e5594f3e7c70896ffeeef32b9c950ywan 31233d2500723e5594f3e7c70896ffeeef32b9c950ywan thumb::FixThumbInstructions($_, 1); 32233d2500723e5594f3e7c70896ffeeef32b9c950ywan 33233d2500723e5594f3e7c70896ffeeef32b9c950ywan s/ldrneb/ldrbne/i; 34233d2500723e5594f3e7c70896ffeeef32b9c950ywan s/ldrneh/ldrhne/i; 35233d2500723e5594f3e7c70896ffeeef32b9c950ywan s/^(\s*)ENDP.*/$&\n$1ALIGN 4/; 36233d2500723e5594f3e7c70896ffeeef32b9c950ywan 37233d2500723e5594f3e7c70896ffeeef32b9c950ywan print; 38233d2500723e5594f3e7c70896ffeeef32b9c950ywan} 39233d2500723e5594f3e7c70896ffeeef32b9c950ywan 40