atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • このページの操作履歴
    • このウィキのページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
ymatsu @Wiki
  • 広告なしオファー
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
広告非表示(β版)
ページ一覧
ymatsu @Wiki
  • 広告なしオファー
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
ymatsu @Wiki
広告非表示 広告非表示(β)版 ページ検索 ページ検索 メニュー メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • このページの操作履歴
    • このウィキのページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • ymatsu @Wiki
  • 1049 Microprocesser Simulation

ymatsu @Wiki

1049 Microprocesser Simulation

最終更新:2006年04月16日 21:17

Bot(ページ名リンク)

- view
だれでも歓迎! 編集
!!1049 Microprocessor Simulation
!!問題
http://acm.pku.edu.cn/JudgeOnline/problem?id=1049
!!解答例
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(true){
            String input = sc.next();
            if(input.charAt(0)=='8') break;
            Processor proc = new Processor(input);
            proc.execute();
            proc.println();
        }
    }
}

class Processor{
    int[] mem;
    int pc;
    int rega;
    int regb;
    Processor(String s){
        mem = new int[256];
        for(int i=0;i<256;i++){
            mem[i] = char_to_int(s.charAt(i));
        }
        pc = 0;
        rega = 0;
        regb = 0;
    }
    private static int char_to_int(char c){
        if('0'<=c&&c<='9') return c-'0';
        else/*'A'<=c&&c<='F'*/ return c-'A'+10;
    }
    public void execute(){
        int cnt = 0;
        boolean stop = false;
        while(!stop){
            switch(mem[pc]){
            case 0:
                rega = mem[mem[pc+1]*16+mem[pc+2]];
                pc += 3;
                break;
            case 1:
                mem[mem[pc+1]*16+mem[pc+2]] = rega;
                pc += 3;
                break;
            case 2:
                rega = rega + regb;
                regb = rega - regb;
                rega = rega - regb;
                pc += 1;
                break;
            case 3:
                int sum = rega + regb;
                rega = sum%16;
                regb = sum/16;
                pc += 1;
                break;
            case 4:
                rega++;
                if(rega==16) rega = 0;
                pc += 1;
                break;
            case 5:
                rega--;
                if(rega==-1) rega = 15;
                pc += 1;
                break;
            case 6:
                if(rega==0) pc = mem[pc+1]*16+mem[pc+2];
                else pc += 3;
                break;
            case 7:
                pc = mem[pc+1]*16+mem[pc+2];
                break;
            case 8:
                stop = true;
                break;
            }
        }
    }
    public void println(){
        char[] output = new char[256];
        for(int i=0;i<256;i++){
            if(mem[i]<=9) output[i] = (char)('0'+mem[i]);
            else output[i] = (char)('A'+mem[i]-10);
        }
        System.out.println(output);
    }
}

タグ:

+ タグ編集
  • タグ:
タグの更新に失敗しました
エラーが発生しました。ページを更新してください。
ページを更新
「1049 Microprocesser Simulation」をウィキ内検索
LINE
シェア
Tweet
ymatsu @Wiki
記事メニュー
メニュー
  • トップページ
  • メニュー
  • 全掲載問題リスト
記事メニュー2

更新履歴

取得中です。
最近更新されたページ
  • 7148日前

    1407 e-market
  • 7148日前

    1406 A Starship Hakodate-maru
  • 7148日前

    1131 Octal Fractions
  • 7148日前

    1130 Alien Security
  • 7148日前

    1129 Channel Allocation
  • 7148日前

    1125 Stockbroker Grapevine
  • 7148日前

    1049 Microprocessor Simulation
  • 7148日前

    全掲載問題リスト
  • 7148日前

    メニュー
  • 7148日前

    トップページ
もっと見る
最近更新されたページ
  • 7148日前

    1407 e-market
  • 7148日前

    1406 A Starship Hakodate-maru
  • 7148日前

    1131 Octal Fractions
  • 7148日前

    1130 Alien Security
  • 7148日前

    1129 Channel Allocation
  • 7148日前

    1125 Stockbroker Grapevine
  • 7148日前

    1049 Microprocessor Simulation
  • 7148日前

    全掲載問題リスト
  • 7148日前

    メニュー
  • 7148日前

    トップページ
もっと見る
ウィキ募集バナー
急上昇Wikiランキング

急上昇中のWikiランキングです。今注目を集めている話題をチェックしてみよう!

  1. PC版Webサカ@ ウィキ
  2. 作画@wiki
  3. ポケモン 作品なりきりネタWiki
  4. 千鳥の鬼レンチャン サビだけカラオケデータベース
  5. グノーシア台詞集 @ ウィキ
  6. ドラゴンクエスト モンスターバトルロードII攻略@WIKI
  7. 戦隊・ライダー:装備@ ウィキ
  8. グランツーリスモWiki
  9. Last Z: Survival Shooter @ ウィキ
  10. 固めまとめWiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ゲームカタログ@Wiki ~名作からクソゲーまで~
  3. MADTOWNGTAまとめwiki
  4. 初音ミク Wiki
  5. ストグラ まとめ @ウィキ
  6. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  7. 検索してはいけない言葉 @ ウィキ
  8. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  9. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  10. モンスター烈伝オレカバトル2@wiki
もっと見る
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MADTOWNGTAまとめwiki
  2. フォートナイト攻略Wiki
  3. MadTown GTA (Beta) まとめウィキ
  4. 首都圏駅メロwiki
  5. Last Z: Survival Shooter @ ウィキ
  6. まどドラ攻略wiki
  7. 駅のスピーカーwiki
  8. ちいぽけ攻略
  9. 魔法少女ノ魔女裁判 攻略・考察Wiki
  10. ソニックレーシング クロスワールド 攻略@ ウィキ
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 【移転】Miss AV 見れない Missav.wsが見れない?!MissAV新URLはどこ?閉鎖・終了してない?missav.ai元気玉って何? - ホワイトハッカー研究所
  2. ブラック・マジシャン・ガール - アニヲタWiki(仮)
  3. ブラック・マジシャン・ガール - 遊戯王DSNTナイトメアトラバドール攻略Wiki@わかな
  4. 真崎杏子 - 遊戯王DSNTナイトメアトラバドール攻略Wiki@わかな
  5. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  6. ゴジュウユニコーン/一河角乃 - アニヲタWiki(仮)
  7. 参加者一覧 - MADTOWNGTAまとめwiki
  8. 参加者一覧 - ストグラ まとめ @ウィキ
  9. Pokémon LEGENDS Z-A - アニヲタWiki(仮)
  10. 小松勇輝 - 作画@wiki
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.