mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 21:51:42 +02:00
[PATCH 032/188] adding instructin codes
From bfc622a2b1fd6c6dd81e1d44050c013289936b5a Mon Sep 17 00:00:00 2001 From: Dmitry Boyarintsev <skalogryz.lists@gmail.com> Date: Tue, 19 Nov 2019 22:16:17 -0500 git-svn-id: branches/wasm@46028 -
This commit is contained in:
parent
ccd0808d9b
commit
999a71e189
@ -18,6 +18,184 @@ const
|
||||
INST_ELSE = $05;
|
||||
// ...
|
||||
INST_END = $0b;
|
||||
|
||||
INST_block = $02;
|
||||
INST_loop = $03;
|
||||
INST_unreachable = $00;
|
||||
INST_nop = $01;
|
||||
INST_br = $0C;
|
||||
INST_br_if = $0D;
|
||||
INST_br_table = $0E;
|
||||
INST_return = $0F;
|
||||
INST_call = $10;
|
||||
INST_call_indirect = $11;
|
||||
|
||||
//INST_if = $04;
|
||||
//INST_else = $05;
|
||||
//INST_end = $0B;
|
||||
INST_drop = $1A;
|
||||
INST_select = $1B;
|
||||
INST_local_get = $20;
|
||||
INST_local_set = $21;
|
||||
INST_local_tee = $22;
|
||||
INST_global_get = $23;
|
||||
INST_global_set = $24;
|
||||
|
||||
INST_i32_load = $28;
|
||||
INST_i64_load = $29;
|
||||
INST_f32_load = $2a;
|
||||
INST_f64_load = $2b;
|
||||
INST_i32_load8_s = $2c;
|
||||
INST_i32_load8_u = $2d;
|
||||
INST_i32_load16_s = $2e;
|
||||
INST_i32_load16_u = $2f;
|
||||
INST_i64_load8_s = $30;
|
||||
INST_i64_load8_u = $31;
|
||||
INST_i64_load16_s = $32;
|
||||
INST_i64_load16_u = $33;
|
||||
INST_i64_load32_s = $34;
|
||||
INST_i64_load32_u = $35;
|
||||
INST_i32_store = $36;
|
||||
INST_i64_store = $37;
|
||||
INST_f32_store = $38;
|
||||
INST_f64_store = $39;
|
||||
INST_i32_store8 = $3a;
|
||||
INST_i32_store16 = $3b;
|
||||
INST_i64_store8 = $3c;
|
||||
INST_i64_store16 = $3d;
|
||||
INST_i64_store32 = $3e;
|
||||
INST_memory_size = $3f;
|
||||
INST_memory_grow = $40;
|
||||
INST_i32_const = $41;
|
||||
INST_i64_const = $42;
|
||||
INST_f32_const = $43;
|
||||
INST_f64_const = $44;
|
||||
|
||||
INST_i32_clz = $67;
|
||||
INST_i32_ctz = $68;
|
||||
INST_i32_popcnt = $69;
|
||||
INST_i32_add = $6a;
|
||||
INST_i32_sub = $6b;
|
||||
INST_i32_mul = $6c;
|
||||
INST_i32_div_s = $6d;
|
||||
INST_i32_div_u = $6e;
|
||||
INST_i32_rem_s = $6f;
|
||||
INST_i32_rem_u = $70;
|
||||
INST_i32_and = $71;
|
||||
INST_i32_or = $72;
|
||||
INST_i32_xor = $73;
|
||||
INST_i32_shl = $74;
|
||||
INST_i32_shr_s = $75;
|
||||
INST_i32_shr_u = $76;
|
||||
INST_i32_rotl = $77;
|
||||
INST_i32_rotr = $78;
|
||||
INST_i64_clz = $79;
|
||||
INST_i64_ctz = $7a;
|
||||
INST_i64_popcnt = $7b;
|
||||
INST_i64_add = $7c;
|
||||
INST_i64_sub = $7d;
|
||||
INST_i64_mul = $7e;
|
||||
INST_i64_div_s = $7f;
|
||||
INST_i64_div_u = $80;
|
||||
INST_i64_rem_s = $81;
|
||||
INST_i64_rem_u = $82;
|
||||
INST_i64_and = $83;
|
||||
INST_i64_or = $84;
|
||||
INST_i64_xor = $85;
|
||||
INST_i64_shl = $86;
|
||||
INST_i64_shr_s = $87;
|
||||
INST_i64_shr_u = $88;
|
||||
INST_i64_rotl = $89;
|
||||
INST_i64_rotr = $8a;
|
||||
INST_f32_abs = $8b;
|
||||
INST_f32_neg = $8c;
|
||||
INST_f32_ceil = $8d;
|
||||
INST_f32_floor = $8e;
|
||||
INST_f32_trunc = $8f;
|
||||
INST_f32_nearest = $90;
|
||||
INST_f32_sqrt = $91;
|
||||
INST_f32_add = $92;
|
||||
INST_f32_sub = $93;
|
||||
INST_f32_mul = $94;
|
||||
INST_f32_div = $95;
|
||||
INST_f32_min = $96;
|
||||
INST_f32_max = $97;
|
||||
INST_f32_copysign = $98;
|
||||
INST_f64_abs = $99;
|
||||
INST_f64_neg = $99;
|
||||
INST_f64_ceil = $99;
|
||||
INST_f64_floor = $9a;
|
||||
INST_f64_trunc = $9b;
|
||||
INST_f64_nearest = $9c;
|
||||
INST_f64_sqrt = $9f;
|
||||
INST_f64_add = $a0;
|
||||
INST_f64_sub = $a1;
|
||||
INST_f64_mul = $a2;
|
||||
INST_f64_div = $a3;
|
||||
INST_f64_min = $a4;
|
||||
INST_f64_max = $a5;
|
||||
INST_f64_copysign = $a6;
|
||||
|
||||
INST_i32_eqz = $45;
|
||||
INST_i32_eq = $46;
|
||||
INST_i32_ne = $47;
|
||||
INST_i32_lt_s = $48;
|
||||
INST_i32_lt_u = $49;
|
||||
INST_i32_gt_s = $4a;
|
||||
INST_i32_gt_u = $4b;
|
||||
INST_i32_le_s = $4c;
|
||||
INST_i32_le_u = $4d;
|
||||
INST_i32_ge_s = $4e;
|
||||
INST_i32_ge_u = $4f;
|
||||
INST_i64_eqz = $50;
|
||||
INST_i64_eq = $51;
|
||||
INST_i64_ne = $52;
|
||||
INST_i64_lt_s = $53;
|
||||
INST_i64_lt_u = $54;
|
||||
INST_i64_gt_s = $55;
|
||||
INST_i64_gt_u = $56;
|
||||
INST_i64_le_s = $57;
|
||||
INST_i64_le_u = $58;
|
||||
INST_i64_ge_s = $59;
|
||||
INST_i64_ge_u = $5a;
|
||||
INST_f32_eq = $5b;
|
||||
INST_f32_ne = $5c;
|
||||
INST_f32_lt = $5d;
|
||||
INST_f32_gt = $5e;
|
||||
INST_f32_le = $5f;
|
||||
INST_f32_ge = $60;
|
||||
INST_f64_eq = $61;
|
||||
INST_f64_ne = $62;
|
||||
INST_f64_lt = $63;
|
||||
INST_f64_gt = $64;
|
||||
INST_f64_le = $65;
|
||||
INST_f64_ge = $66;
|
||||
|
||||
INST_i32_wrap_i64 = $a7;
|
||||
INST_i32_trunc_f32_s = $a8;
|
||||
INST_i32_trunc_f32_u = $a9;
|
||||
INST_i32_trunc_f64_s = $aa;
|
||||
INST_i32_trunc_f64_u = $ab;
|
||||
INST_i64_extend_i32_s = $ac;
|
||||
INST_i64_extend_i32_u = $ad;
|
||||
INST_i64_trunc_f32_s = $ae;
|
||||
INST_i64_trunc_f32_u = $af;
|
||||
INST_i64_trunc_f64_s = $b0;
|
||||
INST_i64_trunc_f64_u = $b1;
|
||||
INST_f32_convert_i32_s = $b2;
|
||||
INST_f32_convert_i32_u = $b3;
|
||||
INST_f32_convert_i64_s = $b4;
|
||||
INST_f32_convert_i64_u = $b5;
|
||||
INST_f32_demote_f64 = $b6;
|
||||
INST_f64_convert_i32_s = $b7;
|
||||
INST_f64_convert_i32_u = $b8;
|
||||
INST_f64_convert_i64_s = $b9;
|
||||
INST_f64_convert_i64_u = $ba;
|
||||
INST_f64_promote_f32 = $bb;
|
||||
INST_i32_reinterpret_f32 = $bc;
|
||||
INST_i64_reinterpret_f64 = $bd;
|
||||
INST_f32_reinterpret_i32 = $be;
|
||||
INST_f64_reinterpret_i64 = $bf;
|
||||
// ...
|
||||
INST_REINTERPRET_I64 = $BF;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user