[1385] プログラムのアセンブラコード
投稿者:山
2009/07/16 01:00:50
下記はプログラムのアセンブラコードです、特に何も変わっていませんが、
ごく普通のコードでマルチスレッドを問題なく実行しています。
1:*** 一般関数情報ダンプ ******************
1:int main_001()
1:*** ローカル変数の表示 no = 2 ***
1: 0:int [3] sid
1: 1:int [3] rtn
1:*** 配列定数 数 = 0 **********
1:*** 文字列 数 = 25 ***
1: 0: "main_001"
1: 1: "sid"
1: 2: "rtn"
1: 3: "### スレッド起動 ###"
1: 4: "println"
1: 5: "タイマ表示"
1: 6: " 40ms"
1: 7: " で6回実行"
1: 8: "thread_start"
1: 9: " 60ms"
1: 10: " で5回実行"
1: 11: " 80ms"
1: 12: " で4回実行"
1: 13: " sid[0] ="
1: 14: " sid[1] ="
1: 15: " sid[2] ="
1: 16: "眠る前 ms="
1: 17: "get_ms_time"
1: 18: "sleep"
1: 19: "眠る後 ms="
1: 20: "thread_exit_waiting"
1: 21: " rtn[0] ="
1: 22: " rtn[1] ="
1: 23: " rtn[2] ="
1: 24: "### 全スレッド終了 ###"
1:*** 使用予定のスタックサイズ = 2116
1:*** 関数コードのディスアセンブラ size = 348
1: 0 push_string_const 3
1: 3 call_function 4 0 0 1
1: 12 pop
1: 13 push_string_const 5
1: 16 push_int_1byte 40
1: 18 push_int_1byte 6
1: 20 push_string_const 6
1: 23 push_string_const 7
1: 26 call_function 8 0 0 5
1: 35 push_stack_array 0
1: 38 push_int_1byte 0
1: 40 pop_array_int
1: 41 push_string_const 5
1: 44 push_int_1byte 60
1: 46 push_int_1byte 5
1: 48 push_string_const 9
1: 51 push_string_const 10
1: 54 call_function 8 0 0 5
1: 63 push_stack_array 0
1: 66 push_int_1byte 1
1: 68 pop_array_int
1: 69 push_string_const 5
1: 72 push_int_1byte 80
1: 74 push_int_1byte 4
1: 76 push_string_const 11
1: 79 push_string_const 12
1: 82 call_function 8 0 0 5
1: 91 push_stack_array 0
1: 94 push_int_1byte 2
1: 96 pop_array_int
1: 97 push_string_const 13
1: 100 push_stack_array 0
1: 103 push_int_1byte 0
1: 105 push_array_int 0
1: 107 cast_int_to_string
1: 108 add_string
1: 109 push_string_const 14
1: 112 add_string
1: 113 push_stack_array 0
1: 116 push_int_1byte 1
1: 118 push_array_int 0
1: 120 cast_int_to_string
1: 121 add_string
1: 122 push_string_const 15
1: 125 add_string
1: 126 push_stack_array 0
1: 129 push_int_1byte 2
1: 131 push_array_int 0
1: 133 cast_int_to_string
1: 134 add_string
1: 135 call_function 4 0 0 1
1: 144 pop
1: 145 push_string_const 16
1: 148 call_function 17 0 0 0
1: 157 cast_int_to_string
1: 158 add_string
1: 159 call_function 4 0 0 1
1: 168 pop
1: 169 push_int_2byte 300
1: 172 call_function 18 0 0 1
1: 181 pop
1: 182 push_string_const 19
1: 185 call_function 17 0 0 0
1: 194 cast_int_to_string
1: 195 add_string
1: 196 call_function 4 0 0 1
1: 205 pop
1: 206 push_stack_array 0
1: 209 push_int_1byte 0
1: 211 push_array_int 0
1: 213 push_int_1byte 0
1: 215 push_int_1byte 10
1: 217 call_function 20 0 0 3
1: 226 push_stack_array 1
1: 229 push_int_1byte 0
1: 231 pop_array_int
1: 232 push_stack_array 0
1: 235 push_int_1byte 1
1: 237 push_array_int 0
1: 239 push_int_1byte 0
1: 241 push_int_1byte 10
1: 243 call_function 20 0 0 3
1: 252 push_stack_array 1
1: 255 push_int_1byte 1
1: 257 pop_array_int
1: 258 push_stack_array 0
1: 261 push_int_1byte 2
1: 263 push_array_int 0
1: 265 push_int_1byte 0
1: 267 push_int_1byte 10
1: 269 call_function 20 0 0 3
1: 278 push_stack_array 1
1: 281 push_int_1byte 2
1: 283 pop_array_int
1: 284 push_string_const 21
1: 287 push_stack_array 1
1: 290 push_int_1byte 0
1: 292 push_array_int 0
1: 294 cast_int_to_string
1: 295 add_string
1: 296 push_string_const 22
1: 299 add_string
1: 300 push_stack_array 1
1: 303 push_int_1byte 1
1: 305 push_array_int 0
1: 307 cast_int_to_string
1: 308 add_string
1: 309 push_string_const 23
1: 312 add_string
1: 313 push_stack_array 1
1: 316 push_int_1byte 2
1: 318 push_array_int 0
1: 320 cast_int_to_string
1: 321 add_string
1: 322 call_function 4 0 0 1
1: 331 pop
1: 332 push_string_const 24
1: 335 call_function 4 0 0 1
1: 344 pop
1: 345 push_int_1byte 98
1: 347 return
1:*** 行情報 数 = 14 ***
1: 36: from 0 size 13
1: 38: from 13 size 28
1: 39: from 41 size 28
1: 40: from 69 size 28
1: 41: from 97 size 48
1: 43: from 145 size 24
1: 44: from 169 size 13
1: 45: from 182 size 24
1: 49: from 206 size 26
1: 50: from 232 size 26
1: 51: from 258 size 26
1: 52: from 284 size 48
1: 53: from 332 size 13
1: 54: from 345 size 3
1:*** end of main_001() --------------
1:--------デバックログ中止--------
1:--------デバックログ開始--------
1:*** 一般関数情報ダンプ ******************
1:int タイマ表示(int sid, int qid, int p1, string p2, string p3)
1:*** ローカル変数の表示 no = 6 ***
1: 0:int sid
1: 1:int qid
1: 2:int p1
1: 3:string p2
1: 4:string p3
1: 5:string questr
1:*** 配列定数 数 = 0 **********
1:*** 文字列 数 = 19 ***
1: 0: "タイマ表示"
1: 1: "sid"
1: 2: "qid"
1: 3: "p1"
1: 4: "p2"
1: 5: "p3"
1: 6: "questr"
1: 7: " SID="
1: 8: " QID="
1: 9: "タイマ表示スレッド開始"
1: 10: " 回数="
1: 11: "println"
1: 12: "HAI000-HAI001"
1: 13: "sysval"
1: 14: "HAS000-HAS001"
1: 15: " cnt="
1: 16: "タイマ表示スレッド終了"
1: 17: "タイマ表示 終了指示により終了"
1: 18: "タイマ表示スレッド エラー終了"
1:*** 使用予定のスタックサイズ = 1612
1:*** 関数コードのディスアセンブラ size = 282
1: 0 push_string_const 7
1: 3 push_stack_int 0
1: 6 cast_int_to_string
1: 7 add_string
1: 8 push_string_const 8
1: 11 add_string
1: 12 push_stack_int 1
1: 15 cast_int_to_string
1: 16 add_string
1: 17 pop_stack_string 5
1: 20 push_stack_int 1
1: 23 push_int_1byte 1
1: 25 eq_int
1: 26 jump_if_false 127
1: 29 push_string_const 9
1: 32 push_stack_string 5
1: 35 add_string
1: 36 push_string_const 10
1: 39 add_string
1: 40 push_stack_int 2
1: 43 cast_int_to_string
1: 44 add_string
1: 45 push_stack_string 3
1: 48 add_string
1: 49 push_stack_string 4
1: 52 add_string
1: 53 call_function 11 0 0 1
1: 62 pop
1: 63 push_string_const 12
1: 66 push_int_1byte 1
1: 68 call_function 13 0 0 2
1: 77 pop
1: 78 push_int_1byte 0
1: 80 pop_sysval_int 1-364-0
1: 85 push_stack_int 2
1: 88 pop_sysval_int 1-364-1
1: 93 push_string_const 14
1: 96 push_int_1byte 1
1: 98 call_function 13 0 0 2
1: 107 pop
1: 108 push_stack_string 3
1: 111 pop_sysval_str 3-364-0
1: 116 push_stack_string 4
1: 119 pop_sysval_str 3-364-1
1: 124 jump 279
1: 127 push_stack_int 1
1: 130 push_int_1byte 2
1: 132 eq_int
1: 133 jump_if_false 227
1: 136 push_sysval_int 1-364-0
1: 141 increment
1: 142 pop_sysval_int 1-364-0
1: 147 push_string_const 0
1: 150 push_stack_string 5
1: 153 add_string
1: 154 push_string_const 15
1: 157 add_string
1: 158 push_sysval_int 1-364-0
1: 163 cast_int_to_string
1: 164 add_string
1: 165 push_sysval_str 3-364-0
1: 170 add_string
1: 171 push_sysval_str 3-364-1
1: 176 add_string
1: 177 call_function 11 0 0 1
1: 186 pop
1: 187 push_sysval_int 1-364-0
1: 192 push_sysval_int 1-364-1
1: 197 ge_int
1: 198 jump_if_false 224
1: 201 push_string_const 16
1: 204 push_stack_string 5
1: 207 add_string
1: 208 call_function 11 0 0 1
1: 217 pop
1: 218 push_int_1byte 1
1: 220 return
1: 221 jump 224
1: 224 jump 279
1: 227 push_stack_int 1
1: 230 push_int_1byte 3
1: 232 eq_int
1: 233 jump_if_false 259
1: 236 push_string_const 17
1: 239 push_stack_string 5
1: 242 add_string
1: 243 call_function 11 0 0 1
1: 252 pop
1: 253 push_int_1byte 1
1: 255 return
1: 256 jump 279
1: 259 push_string_const 18
1: 262 push_stack_string 5
1: 265 add_string
1: 266 call_function 11 0 0 1
1: 275 pop
1: 276 push_int_1byte 2
1: 278 return
1: 279 push_int_1byte 0
1: 281 return
1:*** 行情報 数 = 29 ***
1: 65: from 0 size 20
1: 66: from 20 size 6
1: 89: from 26 size 3
1: 68: from 29 size 34
1: 69: from 63 size 15
1: 70: from 78 size 7
1: 71: from 85 size 8
1: 72: from 93 size 15
1: 73: from 108 size 8
1: 74: from 116 size 8
1: 89: from 124 size 3
1: 75: from 127 size 6
1: 89: from 133 size 3
1: 77: from 136 size 11
1: 78: from 147 size 40
1: 79: from 187 size 11
1: 83: from 198 size 3
1: 80: from 201 size 17
1: 81: from 218 size 3
1: 83: from 221 size 3
1: 89: from 224 size 3
1: 83: from 227 size 6
1: 89: from 233 size 3
1: 84: from 236 size 17
1: 85: from 253 size 3
1: 89: from 256 size 3
1: 87: from 259 size 17
1: 88: from 276 size 3
1: 90: from 279 size 3
1:*** end of タイマ表示() --------------
1:--------デバックログ中止--------
1:--------デバックログ開始--------
1:*** 一般関数情報ダンプ ******************
1:int println(string str)
1:*** ローカル変数の表示 no = 1 ***
1: 0:string str
1:*** 配列定数 数 = 0 **********
1:*** 文字列 数 = 4 ***
1: 0: "println"
1: 1: "str"
1: 2: "
"
1: 3: "print"
1:*** 使用予定のスタックサイズ = 356
1:*** 関数コードのディスアセンブラ size = 20
1: 0 push_stack_string 0
1: 3 push_string_const 2
1: 6 add_string
1: 7 call_function 3 0 0 1
1: 16 pop
1: 17 push_int_1byte 0
1: 19 return
1:*** 行情報 数 = 2 ***
1: 95: from 0 size 17
1: 96: from 17 size 3
1:*** end of println() --------------