トップページ⇒tech
1001コメント328KB

アセンブラの宿題質問スレ

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん2006/10/18(水) 00:04:05
アセンブラの宿題ができないときに、
アセンブラ好きのお兄さんに尋ねるスレ。

・必ずCPUの名前を書くこと!
・情報を小出しにしない。書ける情報は全て書いた方が得だよ。
08098062007/06/27(水) 20:11:08
>>807
>808の懸念があるから敢えて書くの止めた。
08107722007/06/27(水) 20:18:57
とりあえずカップ麺食べてきました。

>>806
ありがとうございます。ご指導の通り作ったら、playstationの最初の1文字だけは表示されるようになりましたorz
書いたコードですが、どこが>>806さんの手順に沿ってないのでしょうか?
ttp://bebe.run.buttobi.net/up/src/be_1283.txt

>>808
最初課題が出されたときはキューでやれ、だったのですが
クラスメートの誰かがキューとスタックを勘違いし、スタックで作って
それがリバースオーダーの段階までいっていたので、スタックに急遽変更(その時点でキューでの提出者0)
になり、提出日が近づいてもクラスの3分の2が提出できなかったのでもう何でもいいから、
入力した文字をそのまま出力できれば良い、になっていました。
0811デフォルトの名無しさん2007/06/27(水) 20:23:26
指導者がバカだとこうなるって見本のような……
08127722007/06/27(水) 20:40:48
>>811
大学院生がクラスを教えてるんですが、最近子供が産まれたとかで
質問のメールを送っても無視ですorz 返信がきたことありません。
オフィスにいるはずの時間も基本いなくて、授業の後に質問したら「メールで送れ」と言うだけで…
ただやってる研究が凄いらしく、大学側に文句を言っても何も起きません。、
研究者、技術者としては最高だと思われるのですが指導者としては最悪だと思いますorz
0813デフォルトの名無しさん2007/06/27(水) 20:44:36
 インデックスレジスタを0に初期化
入力ルーチン:
 1文字入力
 バッファ先頭+インデックスレジスタの位置に格納
 インデックスレジスタ+1
 入力された文字が改行でないなら入力ルーチンへループ
 インデックスレジスタを0に初期化
出力ルーチン:
 バッファ先頭+インデックスレジスタの位置から文字を取り出す
 取り出した1文字出力
 インデックスレジスタ+1
 出力した文字が改行でないなら出力ルーチンへループ
 終了

入力されたのが出力されりゃいいだけなら、こんな感じじゃあるまいか。
getsとputsを使って手抜きしてもいい気がする。
08147722007/06/27(水) 21:09:49
エラーは出ますが、playstationと入力した時にplaystationと表示されるようにはなりました。

ttp://bebe.run.buttobi.net/up/src/be_1287.gif
ttp://bebe.run.buttobi.net/up/src/be_1286.txt
0815デフォルトの名無しさん2007/06/27(水) 21:14:18
>>812
いや、自分で考える習慣を付けさせてるんだから最高の教官だと思うが。
08167722007/06/27(水) 21:29:35
>>815
まともな教官なら提出期限3時間前の時点で、未提出3分の2という状況はないと思いますorz
個人的にはプログラム板の人に講義をしてもらいたいところです。

>>814のコードですが、lb $9, A($8)がエラーを起こしているみたいです。
readで保存したsb $9, A($8)を呼び出しているだけだと思うのですが、
何がいけないのでしょうか?
0817デフォルトの名無しさん2007/06/27(水) 21:57:10
そんなときには1ステップづつ実行して、自分が想定した動きをしているか確かめよう。
デバッグ作業が勝利の鍵だ。
0818デフォルトの名無しさん2007/06/27(水) 21:58:17
>>816
そこは問題ない。814のコードは忘れて、810のコードに戻れ。
printの前で$8を別のレジスタに保存 が問題。
別のレジスタに$8が保存されてないからループが始まった瞬間、
0以下になりループから脱出するので一文字しか出力されない。
08197722007/06/27(水) 22:05:38
>>817,818
動きました!早速提出してきます。
本当にありがとうございました!
0820デフォルトの名無しさん2007/06/27(水) 22:10:53
>>819
おめ。810の時点で物凄くコード書きたかったが、手淫しながら待っててよかった。
0821デフォルトの名無しさん2007/06/27(水) 22:33:31
.data
S1: .asciiz "Enter a string: "
S2: .asciiz "You Entered: "
A: .byte 0:80 # 80 character byte array
.text
__start:
puts S1 # prompt for input
li $8, 0 # array index, I
li $10, '\n' # newline character
read: getc $9 # read a character
sb $9, A($8) # store A[I]
add $8, 1 # I <- I + 1
bne $9, $10, read # check for newline
li $8, 0 # array index, I = 0
puts S2 # prompt for output
print: lb $9, A($8) # load A[I]
putc $9 # print A[I]
add $8, 1 # I <- I + 1
bne $9, $10, read # check for newline
done
こんなのFランク大学の学生でも、ハナクソほじりながら出来る気が。
これを2/3が提出出来ないって、ゆとりはすごいな。
0822デフォルトの名無しさん2007/06/27(水) 22:34:41
といいつつ、コピペ修正忘れてprintへ飛ぶところをreadのままにしてる
俺がゆとりだった罠。
0823デフォルトの名無しさん2007/06/28(木) 19:24:29
すごい・・・2chの親切な人が全てここに集まった気がする
0824デフォルトの名無しさん2007/06/28(木) 22:05:52
インテルのアセンブリ言語(たとえば加算、減算、ロード、ストア)の命令セッ
トの構成とMIPSの命令セットの構成の違いを教えていただきたいのですが、お
願いします。
0825デフォルトの名無しさん2007/06/28(木) 22:06:41
大学のレポートで、今日中に書かなきゃやばいです・・・
0826デフォルトの名無しさん2007/06/28(木) 22:32:26
マルチ良くないぜ、たけし君
0827デフォルトの名無しさん2007/06/28(木) 22:33:15
たけし?
大体マルチじゃないよ。
0828デフォルトの名無しさん2007/06/28(木) 22:48:44
86系命令セットで数TFLOPSを実現するらしい
0829デフォルトの名無しさん2007/06/28(木) 23:56:10
よくわからないけどありがとう・・・
質問を打ち切ります。
0830デフォルトの名無しさん2007/06/29(金) 00:17:07
ここで聞いたことを後で後悔するんだろうな
0831先に後悔するなら大変だが2007/06/29(金) 07:55:55
>>830
大丈夫、後で後悔するなら当たり前だから。
0832デフォルトの名無しさん2007/06/30(土) 09:33:24
MIPS/SPIMにて最初の20の二乗の合計を計算するプログラムを組みたいのですが、
どうやればいいのでしょうか?
0833デフォルトの名無しさん2007/07/01(日) 05:23:18
>最初の20の二乗の合計 ってなんか抜けてないか?
最初の20個の整数?素数?テーブルの中身? 何bitの情報?
0834デフォルトの名無しさん2007/07/01(日) 07:20:20
>>833
1から20までの数値の二乗を足していって、その結果を表示するプログラムです。
説明がわかりにくくて申し訳ありませんでした。
テーブルの中身、何bitの情報というのは説明されていないので分かりません。
とにかく、結果が表示されれば良いと思います。

ここまで作ってみたのですが、エラーを起こしてしまいます。
悪い点があればご教示お願いします。
ttp://doiob.net/doiob/uploader/src/up7205.txt
08358342007/07/01(日) 07:22:50
こちらでした。

ttp://doiob.net/doiob/uploader/src/up7206.txt
0836デフォルトの名無しさん2007/07/01(日) 08:32:42
>>834
ニモニック知らないで指摘するけど。
・「エラーを起こす」とは?
・$0は何に使っている? その初期値は何?
・$5にロードしているらしい0x1001は適切? 仮にセグメンテーションフォルトならここで起きてない?
・結果は$2に入っていると思うのだけど、どうやって出力しているつもり?
・最後のsyscallはなに? プロセス終了か何か?
08378342007/07/01(日) 08:57:45
>>836
・「エラーを起こす」とは?
SPIMを使ってコンパイルをしても何も表示されません。

・$0は何に使っている? その初期値は何?
レジスターに渡す時の数値の入れ子として使っています。初期値は常に0です。

・$5にロードしているらしい0x1001は適切?
ここでnumintsをロードしたいのですが、動作していないようです…

・結果は$2に入っていると思うのだけど、どうやって出力しているつもり?
addi $v0, $0, 4 #文字を出力 宣言
add $a0, $2, $0 #$2を出力
syscall

・最後のsyscallはなに?
プロセス終了です。
0838デフォルトの名無しさん2007/07/01(日) 09:10:31
なるほどなるほど。

>SPIMを使ってコンパイルをしても何も表示されません。
それはエラーじゃないな。確かに「誤り」ではあるけど普通そう言うと、
システム側が出力するエラーのことになる。

で、なんでnumintsが要るの?
1から20の数値を扱うならメモリ空間は必要ないわけだが。

>addi $v0, $0, 4 #文字を出力 宣言
>add $a0, $2, $0 #$2を出力
>syscall
どう見ても>835と違うわけだが。
08398342007/07/01(日) 09:24:44
>>838
numints、分かりやすいようにと付けたんですが、
まったく必要ないですね…

addi $v0, $0, 4等の横のコメントは今付け加えました。

これを高水準言語でやると、

int count = 0;
int i = 1;

while(i<20){

count += i * i;
i++;

}
//出力count

となると思われるのですが、アセンブラだと思い通りにいかないですね。
08408342007/07/01(日) 09:31:37
>>838
元となったプログラムです。
こちらの方は出力はされる事はされるのですが、数値ではなく
■が表示されます。おそらく、ASCIIテーブルの関係上、
そんな数値は存在しない、と返してくると思うのですが
どうやったらきちんとした数値が表示されるのでしょうか…

ttp://doiob.net/doiob/uploader/src/up7208.txt
0841デフォルトの名無しさん2007/07/01(日) 10:17:41
puts = put string(文字列)
put??= put ?????(整数)
08428342007/07/01(日) 11:28:23
>>841
>>840のプログラムは♂が表示されるようになりました…。

見やすいようにコメントを付けてみました。
ttp://doiob.net/doiob/uploader/src/up7210.txt
実行すると、エラーは起きないのですが、結果が何も表示されません…。
08438342007/07/01(日) 13:17:09
すいません。どなたか下記のコードをMIPSアセンブラで実行した際、
2870と表示されるサンプルコードを書いてはいただけないでしょうか?

int count = 0;
int i = 1;
while(i<20){
count += i * i;
i++;
}

ずっとやっているのですが、全然出来ません。
0844デフォルトの名無しさん2007/07/01(日) 14:00:52
>>842
>840にはputsってのがあるのに今度はまたそれがない。
putsで出力しているんじゃないの?
あんたへのレスに、ヒントになりそうなことは山ほどあるんだけど全然理解できてないだろ。
いい加減に行き当たりばったりで振り回さないでくれるかな。
0845デフォルトの名無しさん2007/07/01(日) 16:03:33
>>844 == >>842
0846あほかい2007/07/01(日) 16:26:11
自演だとでも?
0847デフォルトの名無しさん2007/07/01(日) 21:32:40
とりあえずさ、わからないで答えてるやつは自重しようよ。
0848デフォルトの名無しさん2007/07/01(日) 22:49:43
# 1~20までの二乗の合計を求める (記述言語:MAL)
# 使用レジスタ
# $t0($8) : ループカウンタ
.text
.globl __start
__start:
li $t0,20 #ループカウンタ。初期値は20。
mtlo $zero #アキュームレータ下位を0に初期化。
while: beqz $t0,end #ループカウンタが0ならば、ループを抜ける。
madd $t0,$t0 #二乗をアキュームレータに加算。
addi $t0,-1 #ループカウンタをデクリメント。
b while #whileへループ
end: mflo $a0 #$a0 = アキュムーレータ下位 (=合計)
li $v0,1 #合計を出力。使うのは syscall print_int
syscall
li $v0,10 #syscall exit
syscall
0849デフォルトの名無しさん2007/07/02(月) 01:27:20
>>843
UC BerkleyのFreshmanか?似たような事を61Cでやった事がある。
どちらもプログラムのコードはOK。でも、それでは一文字しか出力されない。
ASCIIでバイアス調整する必要もあるし、出力を自分で導かないといけない。

こんな感じで書けばいいと思う。出力確認済み。
ttp://doiob.net/doiob/uploader/src/up7298.txt

>>844
この場合、文字列、整数じゃなくて文字だろ。
puts,putiじゃなくて使うのはputc。$v11。

>>848
理論はあってるけどそれでは無理。SPIMでは出力されない。
08508342007/07/02(月) 06:09:57
>>849
完璧です!きちんと表示されました。ありがとうございました!
08518342007/07/02(月) 06:13:03
あと、UC系列ですがUC Berkleyではありません。
0852デフォルトの名無しさん2007/07/02(月) 11:09:17
結局、丸投げに終わったわけだ。
0853デフォルトの名無しさん2007/07/02(月) 15:33:13
>>849
> >>848
> 理論はあってるけどそれでは無理。SPIMでは出力されない。
えぇと?spim ver. 7.3で出力を確認済みなんですが?
SPIMでは出力されないという根拠を聞かせてもらいたい。
0854デフォルトの名無しさん2007/07/02(月) 19:31:38
>>853
834のコードからしてspimsal使ってるんだろう。
spimsalだとそのコードでは0としか出力されない。
0855デフォルトの名無しさん2007/07/02(月) 21:09:38
spimsalでは0になる??
はて、何でじゃろか?madd使ってるせい?
0856デフォルトの名無しさん2007/07/04(水) 12:03:20
とりあえずmallを使わずにmulとadd使ったらちゃんと出力された。
print_intを使う事は何も問題がなさそう。
0857デフォルトの名無しさん2007/07/07(土) 14:21:30
CASLIIの超初歩問題らしいですがお願いします

レジスタ1の値をレジスタ2の値で割った余りをレジスタ1に格納して戻るプログラム
を作成してください

0858デフォルトの名無しさん2007/07/07(土) 19:03:46
simasita
0859デフォルトの名無しさん2007/07/07(土) 19:49:07
>>857
REMAIND SUBA   GR1,GR2
        JMI    LEND
        JUMP   REMAIND
LEND    ADDA   GR1,GR2
        RET
0860デフォルトの名無しさん2007/07/09(月) 06:57:00
RET
0861デフォルトの名無しさん2007/07/09(月) 12:08:25
アセンブラを使ってオセロソフトを作れという宿題がでました
サッパリわかりません

CPUはathlon64 3000+
メモリ1GB
VGA:Geforce6600GT
です
ヨロシクお願いします
0862デフォルトの名無しさん2007/07/09(月) 13:36:50
俺x86は分かるんだけどx64は分からないんだ
ごめんな
0863デフォルトの名無しさん2007/07/09(月) 13:51:42
>>862
取り敢えず、x86でいいから作ってみてよ。漏れがx64にコンバートするから。
0864デフォルトの名無しさん2007/07/09(月) 14:22:11
オセロって、コンピュータのアルゴリズムも発明しなきゃなの?
0865デフォルトの名無しさん2007/07/09(月) 14:27:09
>>864
「オセロ」って言う名前のコンピュータのアルゴリズムってなんだ?
0866デフォルトの名無しさん2007/07/10(火) 10:54:49
↑はネタだとしても、○投げにもほどがあるぞ。アルゴリズムぐぐるだけだって一仕事だ。
データ構造決めて、cならこんなコードになる、こんなルーチンが欲しい程度までバラしてから
ここで聞くなら解るが。
0867デフォルトの名無しさん2007/07/10(火) 22:18:29
CASL�Uの質問です。
縦横16ビットの2進数2値を使ったビットマップ表示を考える問題なんですが
全体で0のビット数より1のビット数が多い場合とそうでない場合とで条件分岐
させたいのですがどんな条件をつければいいのでしょうか?
説明下手ですみません…
0868デフォルトの名無しさん2007/07/11(水) 00:09:38
1のビット数を数えて、それが128より大きければ、0のビット数<1のビット数
0869デフォルトの名無しさん2007/07/11(水) 04:56:23
>>861
君の使用しているCPUではなく、授業で習っているアセンブラのCPU名を…
x86とか、MIPSとか。
0870デフォルトの名無しさん2007/07/11(水) 07:32:12
オセロだろ。
漫才のネタをランダムに出すようなのを作れば良いんじゃまいか。
0871デフォルトの名無しさん2007/07/11(水) 15:15:04
お前は何を訳の分からないことを言ってるんだ?
猿にキーボードを叩かせて戯曲ができるまで続けるシミュレーションソフトのことだぞ
0872デフォルトの名無しさん2007/07/12(木) 18:32:53
NUM番地から5語の領域に数字が格納されている。その数字が数として
どのような値になるか求め数値をVAL番地に格納する。

例)12345
NUM番地+(+1~+4)に'1','2','3','4','5'を格納してます。
JICコード見ると'1'は31、ここから'0'引いて'1'-'0'=1(数)
これを'5'まで繰り返す。最後は12345をVAL番地に格納します。

レジスタはGR0~7
出力が16進の3039(10進だと12345)になるっぽいです。
よろしくお願いします。

0873デフォルトの名無しさん2007/07/12(木) 19:32:01
>>872
自分の使っているアセンブラ以外にこの世にアセンブラはないと思ってるだろ?

         START    ENTRY
NUM      DC       '12345'
LEN      DC       5
VAL      DS       1
ENTRY    XOR      GR0,GR0
         LAD      GR1,NUM
         LD       GR2,LEN
LOOP     LD       GR3,GR0
         SLA      GR3,3
         SLA      GR0,1
         ADDA     GR0,GR3
         ADDA     GR0,0,GR1
         SUBA     GR0,='0'
         ADDL     GR1,=1
         SUBL     GR2,=1
         JNZ      LOOP
         ST       GR0,VAL
         RET
         END
0874デフォルトの名無しさん2007/07/12(木) 19:58:17
>>873 ありがとうございました。
書き方もいろいろあるみたいですね。
私は
     RET
NUM DC '1'
     DC    '2'
DC '3'
DC '4'
DC '5'
LEN DC 5
VAL DS 1
END
のような書き方なんですが、ENTRYはジャンプと考えていいですよね。
これで明日試してみます。<(_ _)>

0875デフォルトの名無しさん2007/07/12(木) 20:05:36
>>874
決められていなければデータをどこに置くかは好みとか気分次第だから
STARTの後のラベル名がついたアドレスは実行のエントリポイントを表す
ラベル名を指定しなければSTARTの次から実行が始まる
CASLIIの仕様書を見れ
0876デフォルトの名無しさん2007/07/12(木) 20:23:27
仕様書をみるとSTARTの前にもラベルを指定しなくちゃいけないみたいなんですけど・・・
仕様書読みました?
0877デフォルトの名無しさん2007/07/12(木) 23:20:59
>>876
命令行のラベルは無くてもいい(2.1(4))
2.2の表のほうが間違いじゃないか?
実際のところ本家のセンターのシミュレータはラベル無しSTARTを通す
ラベルありEND命令は通さないところを見ると省略可能にはあってはいけないの意味も含めるらしい
0878デフォルトの名無しさん2007/07/12(木) 23:51:19
A=B+E;
C=B+F;
なるCのコードについて以下の問に答えよ

(1) 上記のコードから生成されるMIPSのコードを示せ。
ただし各変数は次のようにメモリ上にあるものとする。
また計算途中で使用できるレジスタは$t0〜$t5とする($t:ベースレジスタ)とする。

↓$t0からのオフセット値
0  B
4  E
8  F
12 A
16 C

宜しくお願いします。
0879デフォルトの名無しさん2007/07/13(金) 14:21:23
それ質問じゃなくて丸投げ
0880デフォルトの名無しさん2007/07/13(金) 14:30:16
>>878
Cコンパイラを使ってコードを生成しろ。
以上。
0881デフォルトの名無しさん2007/07/14(土) 22:13:26
俺みたいなちょっとスクリプト覚えた奴と、このスレの神々が素人から見たら割と
同じように見えるっていうのが困る。俺も早く低いとこ触らないとな・・!(チラシの裏)
0882デフォルトの名無しさん2007/07/14(土) 22:26:06
アセンブラ使えるだけのニートも混ざってるから
あまり気にしなくてもいい気がする。
0883デフォルトの名無しさん2007/07/15(日) 02:19:03
神は自らに似せて創りたもうた
0884デフォルトの名無しさん2007/07/25(水) 21:12:23
誰もアセンブラの質問投げないのかよ・・・

っつーか、+αの給料欲しいならアセンブラの知識も必要だぜ?
ホラ吹き営業でも給料高いけど。

なんか、質問くれくれ厨みたいな俺。
0885デフォルトの名無しさん2007/07/26(木) 00:49:47
Trace/BPT/RangeErr/DivZero/Ovflow trap
のエラーの意味を教えてください
0886デフォルトの名無しさん2007/07/26(木) 00:55:23
>>885
CPUのマニュアル読め
せめて型式を提示すること
0887デフォルトの名無しさん2007/07/26(木) 01:26:06
それ以前にテンプレ>>1読め
0888デフォルトの名無しさん2007/07/26(木) 01:27:33
888
0889デフォルトの名無しさん2007/07/26(木) 21:40:16
>>885
CPU名とコンパイラを教えてくれないと・・。
4番目は割り算の除数が0という意味です。
3番目は、アドレス、レジスタなど入力したい対象に代入したい定数の範囲が超えたのでは?

っていうか、質問が欲しいとは言ったが、困ってるのかな?>>885
0890デフォルトの名無しさん2007/07/27(金) 00:11:40
質問させていただきます。環境はMIPSです。

問題文:
10000!(10000の階乗)の全桁を求めて表示するプログラムを作成せよ。

効率を良くするために、一桁ごとでなく四桁ごとに区切って計算するように考える。
つまり10進数の四桁を一桁として10000進数として表現し、
その各桁ごとに掛け算と繰り上げの処理を行う。
10000の階乗は結果として10進数で35660桁(10000進数で8915)桁
となるので、配列は32bit整数8915個で十分である。
配列領域の確保は、.word擬似命令を用いる

例:
62 2702 0800 × 14
= 868 37828 11200 = 868+3 7828+1 1200 = 871 7829 1200

また、提供されているputintでは途中の0が表示されないので、
それを解決するために、配列の要素を表示するときに
1・要素が999以下なら”0”をひとつ表示
2・要素が99以下なら”0”をひとつ表示
3・要素が9以下なら”0”をひとつ表示
4・putintを使って要素の値を表示
とする
0891デフォルトの名無しさん2007/07/27(金) 00:11:43
Cで記述した場合:
#include<stdio.h>
#define MAXKETA 10000

unsigned fact[MAXKETA];

int main(){
unsigned n = 10000;
unsigned kake;
unsigned agari;
unsigned top;
int i,j;

fact[0] = 2; top = 0;
for(kake = 3; kake <= n; kake++){
agari = 0;
for(i = 0; i <= top; i++){
j = fact[i] * kake;
j = j + agari;
agari = j / 10000;
fact[i] = j % 10000;
}
if(agari > 0){
top++;
if(top >= MAXKETA) exit(-1);
fact[top] = agari;
}
}
for(i = top; i >= 0; i--){
printf("%d",fact[i]);
}
}
0892デフォルトの名無しさん2007/07/27(金) 00:35:25
define
0893デフォルトの名無しさん2007/07/27(金) 04:06:20
>>890
実行環境は正確に。
単にMIPSと書いたらMIPS32であるとみなすからね。
0894デフォルトの名無しさん2007/07/27(金) 08:07:12
>>893
すみませんでした。
MIPSのバージョンとかがよく分からないんですが、
OSはLinuxで、アセンブラで記述した場合は
.text
.globl main
.ent main
main: subu $sp,16
sw $31,12($sp)

(ここが作成したプログラム)

move $2,$0
lw $31,12($sp)
addu $sp,16
j $31
.end main

といった感じになるものです
レジスタは$8〜15、$16〜23が使えます
0895デフォルトの名無しさん2007/07/27(金) 20:29:18
同じ大学でワロタ
つか解答貰ったでしょ?
0896デフォルトの名無しさん2007/07/27(金) 23:28:53
そんなもの貰ってません
だから多分違う大学ですね
0897デフォルトの名無しさん2007/07/27(金) 23:35:05
しかし問題文がほぼ同じなんだが・・・
J科じゃないのか
0898デフォルトの名無しさん2007/07/27(金) 23:53:37
>>896
なんでそんな冷たいのよwww
0899デフォルトの名無しさん2007/07/28(土) 01:49:49
つまり、
二人とも同じ非常勤講師のテストを受けてるんじゃないか?

あるいは
どっちかがパクったんじゃないか?

そしたら、まだ解答を渡されてない方は、解答を渡された方と同じプリントをもらえるよ。
よかったな!
0900デフォルトの名無しさん2007/07/28(土) 10:25:12
896がプリントをもらい忘れた、もしくはどこかにやってしまった可能性もある
とりあえず895がその答えとやらを書いてあげればいいじゃないか
0901デフォルトの名無しさん2007/07/28(土) 14:00:25
おまいら既に解答が存在してる問題は解きたくないのか・・・

頑張って解いて、リロードしたら解答が貼られていた、とか嫌だよな。。。
0902デフォルトの名無しさん2007/07/28(土) 14:24:19
896が何も反応しない限り895も解答出す気無いっぽいからなぁ
0903デフォルトの名無しさん2007/07/28(土) 22:33:42
配列領域を.wordで確保とかしたくねえなぁ。
.spaceじゃだめなのか?
0904デフォルトの名無しさん2007/07/30(月) 21:52:33
暇つぶしに10000!のやつを書いてみた。
が、素直に書きすぎたせいか実行速度が無茶苦茶遅いんだ。
なんとか高速化できないもんかね?
0905デフォルトの名無しさん2007/07/31(火) 02:51:15
夜遅くすいません

アセンブラなんですが
OUT命令で
文字を出力したんですが
そのあと
もうひとつ出力命令すると
改行されず連続で出力されてしまいます。
例えば
ワタシ
アナタ
と出力したいのに
ワタシアナタ
なってしまいます。
ご存知の方お願いしますm(_ _)m

0906デフォルトの名無しさん2007/07/31(火) 03:03:34
>>905
お使いの環境に関するマニュアルに、出力するポジションを指定する方法か
改行する方法についての記述はございませんでしょうか。
手前どもにはそちらさまのお使いのCPUも出力機器も皆目見当がつきませんので。
0907デフォルトの名無しさん2007/07/31(火) 03:05:57
>>906
申し訳ございませんでしたm(_ _)m
CASLです。
マニュアルは手元にございません。
0908デフォルトの名無しさん2007/07/31(火) 04:21:26
>>907
情報処理技術者試験センターのページからダウンロードしろ。
試験受けるならマニュアルくらいは手元に持ってろ。
改行コードくらい出したいときに自分で出力しろ。
COMETだけでなくどんな環境だろうと、いつ改行したら良いか機械は知らない。
レス数が900を超えています。1000を超えると表示できなくなるよ。