三浦/日誌/2009-03-18
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[三浦/日誌]]
今年は花粉症発症が10日程早い。
-比較を改良。
if(a<0) a=a+1;
ldi 0
ld 1($0)
com 1
blt L000
ld 1($0)
ldi 1
add 1
st 1($0)
L000:
if(0<a) a=a+1;
ld 1($0)
comc 0
blt L001
ld 1($0)
ldi 1
add 1
st 1($0)
L001:
if(a>0) a=a+1;
ld 1($0)
comc 0
blt L002
ld 1($0)
ldi 1
add 1
st 1($0)
L002:
if(0>a) a=a+1;;
ldi 0
ld 1($0)
com 1
blt L003
ld 1($0)
ldi 1
add 1
st 1($0)
L003:
if(a==0) a=a+1;
ld 1($0)
comc 0
bne L004
ld 1($0)
ldi 1
add 1
st 1($0)
L004:
if(a!=0) a=a+1;
ld 1($0)
comc 0
beq L005
ld 1($0)
ldi 1
add 1
st 1($0)
L005:
--再帰で使用するのは a<0 の型なのであまり関係ないか。もう少し考える。
-DRegの管理機能を作成。今一歩うまくいかず。
--DRegはメモリアクセスでのアドレス拡張分が保持されている。1つ8bitのレジスタが計4つ、合計で32bit分保持する。例えば256という値を保持する時、1、2番のレジスタには0、3番には1、4番には0をそれぞれ保持させる。これが3番で2、つまり512を保持してしまう。これを直しても、今度は140を12しか保持しない。
void ContD(int num) {
int value, tmp[4], temp;
int i, j;
temp = num;
for(i=3;i>0;i--) {
value = (num>>i*8) & 127;
tmp[i]= value;
temp = temp - (value<<i*8);
}
value = num & 127;
tmp[0] = value;
inst3("setdhh",tmp[3],1);
inst3("setdhl",tmp[2],1);
inst3("setdlh",tmp[1],1);
inst3("setdll",tmp[0],1);
}
-配列は[[芳賀案>芳賀/ASICデザインコンテスト 2009]]でいこうかと。
----
#comment
終了行:
[[三浦/日誌]]
今年は花粉症発症が10日程早い。
-比較を改良。
if(a<0) a=a+1;
ldi 0
ld 1($0)
com 1
blt L000
ld 1($0)
ldi 1
add 1
st 1($0)
L000:
if(0<a) a=a+1;
ld 1($0)
comc 0
blt L001
ld 1($0)
ldi 1
add 1
st 1($0)
L001:
if(a>0) a=a+1;
ld 1($0)
comc 0
blt L002
ld 1($0)
ldi 1
add 1
st 1($0)
L002:
if(0>a) a=a+1;;
ldi 0
ld 1($0)
com 1
blt L003
ld 1($0)
ldi 1
add 1
st 1($0)
L003:
if(a==0) a=a+1;
ld 1($0)
comc 0
bne L004
ld 1($0)
ldi 1
add 1
st 1($0)
L004:
if(a!=0) a=a+1;
ld 1($0)
comc 0
beq L005
ld 1($0)
ldi 1
add 1
st 1($0)
L005:
--再帰で使用するのは a<0 の型なのであまり関係ないか。もう少し考える。
-DRegの管理機能を作成。今一歩うまくいかず。
--DRegはメモリアクセスでのアドレス拡張分が保持されている。1つ8bitのレジスタが計4つ、合計で32bit分保持する。例えば256という値を保持する時、1、2番のレジスタには0、3番には1、4番には0をそれぞれ保持させる。これが3番で2、つまり512を保持してしまう。これを直しても、今度は140を12しか保持しない。
void ContD(int num) {
int value, tmp[4], temp;
int i, j;
temp = num;
for(i=3;i>0;i--) {
value = (num>>i*8) & 127;
tmp[i]= value;
temp = temp - (value<<i*8);
}
value = num & 127;
tmp[0] = value;
inst3("setdhh",tmp[3],1);
inst3("setdhl",tmp[2],1);
inst3("setdlh",tmp[1],1);
inst3("setdll",tmp[0],1);
}
-配列は[[芳賀案>芳賀/ASICデザインコンテスト 2009]]でいこうかと。
----
#comment
ページ名: