Instantly share code, notes, and snippets.

View h21a_fe_pm12.casl
Q123 START
LAD GR1,BITA
LD GR0,BITB
LD GR2,P
LD GR3,Q
CALL REPLACE
RET
BITA DC #FFFF ; 第1語
DC #FFFF ; 第2語
DC #FFFF ; 第3語
View h21h_fe_pm12_2.casl
Q122 START
LAD GR1,X
LAD GR2,Y
LAD GR3,ANS
CALL MUL
RET
X DC #1234 ; 被乗数(上位語)
DC #5678 ; 被乗数(下位語)
Y DC #0001 ; 乗数(上位語)
DC #0001 ; 乗数(下位語)
View h21h_fe_pm12_1.casl
Q121 START
LAD GR1,X
LD GR2,=2 ; 乗数(2倍を計算)
LAD GR3,ANS
CALL MULS
RET
X DC #1234 ; 被乗数(上位語)
DC #5678 ; 被乗数(下位語)
ANS DS 2
END
View h22a_fe_pm12_3.casl
Q123 START
LAD GR1,FIG1
LD GR2,P
LD GR3,Q
CALL PREVRS
RET
FIG1 DC #B3D1 ; 図1のビットの並び
P DC 4 ; p = 4
Q DC 8 ; q = 8
END
View h22a_fe_pm12_2.casl
Q122 START
LAD GR1,ARY
LD GR2,N
CALL LREVRS
RET
ARY DC #B3D1,#8000,#0001
N DC 3 ; ARYの3語の入れ替え
END
REVRS START
RPUSH
View h22a_fe_pm12_1.casl
Q121 START
LAD GR1,FIG1
CALL REVRS
RET
FIG1 DC #B3D1 ; 図1のビットの並び
END
REVRS START
RPUSH
LD GR4,=0 ; 結果のビット列を初期化
LAD GR2,15 ; ループカウンタ
View 9cc.c
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* トークンの型を表す値 */
enum {
TK_NUM = 256, /* 整数トークン */
TK_EOF, /* 入力の終わりを表すトークン */
};
View h30a_ap_pm3.rb
#!/usr/bin/env ruby
# coding: utf-8
DNA = { 'A' => 0, 'C' => 1, 'G' => 2, 'T' => 3 }
DEPTH = Math.log2(DNA.size).to_i
Node = Struct.new(:key, :left, :right)
# ウェーブレット木の構築
def make_tree str, depth, child = nil
View h30h_fe_pm12_1.casl
Q12 START
LAD GR2,YMD
CALL DAYOFFST
RET
YMD DC 2018,10,28
END
DAYOFFST START
RPUSH
LD GR5,0,GR2 ; GR5:年
LD GR3,1,GR2 ; GR3:月
View h30a_fe_pm9.c
#include <stdio.h>
#include <stddef.h>
#define RED (0)
#define GREEN (1)
struct train_info {
int number; /* 列車番号 */
struct block_info* dest; /* 列車の終着駅を出口とする区間 */
};