;
; Исходный код среды исполнения ПВТ-ОО.
;
; Этот исходный код является частью проекта ПВТ-ОО.
;
; Copyright © 2021 Малик Разработчик
;
; Это свободная программа: вы можете перераспространять её и/или
; изменять её на условиях Меньшей Стандартной общественной лицензии GNU в том виде,
; в каком она была опубликована Фондом свободного программного обеспечения;
; либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.
;
; Эта программа распространяется в надежде, что она может быть полезна,
; но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
; или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННЫХ ЦЕЛЕЙ. Подробнее см. в Меньшей Стандартной
; общественной лицензии GNU.
;
; Вы должны были получить копию Меньшей Стандартной общественной лицензии GNU
; вместе с этой программой. Если это не так, см.
; <http://www.gnu.org/licenses/>.
;
; <fold instruction constants>
; <fold i8/l8 inc/dec>
dalign $40
i8.id:
l8.id: dq $0000000000000001, $0000000000000000, $0000000000000000, $0000000000000000, $0000000000000000, $0000000000000000, $0000000000000000, $0000000000000000
; </fold>
; <fold f8 inc/dec>
dalign $20
f8.id: dd $3f800000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000, $00000000
; </fold>
; <fold d8 inc/dec>
dalign $40
d8.id: dq $3ff0000000000000, $0000000000000000, $0000000000000000, $0000000000000000, $0000000000000000, $0000000000000000, $0000000000000000, $0000000000000000
; </fold>
; <fold i2smul>
dalign $10
i2.c0: dd 1, -1, 0, 0
; </fold>
; <fold i4smul>
dalign $10
i4.q0: dd 1, -1, -1, -1
i4.q1: dd 1, 1, 1, -1
i4.q2: dd 1, -1, 1, 1
i4.q3: dd 1, 1, -1, 1
; </fold>
; <fold i8smul>
dalign $20
i8.o0: dd 1, -1, -1, -1, -1, -1, -1, -1
i8.o1: dd 1, 1, 1, -1, 1, -1, -1, 1
i8.o2: dd 1, -1, 1, 1, 1, 1, -1, -1
i8.o3: dd 1, 1, -1, 1, 1, -1, 1, -1
i8.o4: dd 1, -1, -1, -1, 1, 1, 1, 1
i8.o5: dd 1, 1, -1, 1, -1, 1, -1, 1
i8.o6: dd 1, 1, 1, -1, -1, 1, 1, -1
i8.o7: dd 1, -1, 1, 1, -1, -1, 1, 1
; </fold>
; <fold l2smul>
dalign $10
l2.c0: dq 1, -1
; </fold>
; <fold l4smul>
dalign $20
l4.q0: dq 1, -1, -1, -1
l4.q1: dq 1, 1, 1, -1
l4.q2: dq 1, -1, 1, 1
l4.q3: dq 1, 1, -1, 1
; </fold>
; <fold l8smul>
dalign $40
l8.o0: dq 1, -1, -1, -1, -1, -1, -1, -1
l8.o1: dq 1, 1, 1, -1, 1, -1, -1, 1
l8.o2: dq 1, -1, 1, 1, 1, 1, -1, -1
l8.o3: dq 1, 1, -1, 1, 1, -1, 1, -1
l8.o4: dq 1, -1, -1, -1, 1, 1, 1, 1
l8.o5: dq 1, 1, -1, 1, -1, 1, -1, 1
l8.o6: dq 1, 1, 1, -1, -1, 1, 1, -1
l8.o7: dq 1, -1, 1, 1, -1, -1, 1, 1
; </fold>
; <fold f2smul>
dalign $10
f2.c0: dd $3f800000, $bf800000, 0, 0
; </fold>
; <fold f4smul>
dalign $10
f4.q0: dd $3f800000, $bf800000, $bf800000, $bf800000
f4.q1: dd $3f800000, $3f800000, $3f800000, $bf800000
f4.q2: dd $3f800000, $bf800000, $3f800000, $3f800000
f4.q3: dd $3f800000, $3f800000, $bf800000, $3f800000
; </fold>
; <fold f8smul>
dalign $20
f8.o0: dd $3f800000, $bf800000, $bf800000, $bf800000, $bf800000, $bf800000, $bf800000, $bf800000
f8.o1: dd $3f800000, $3f800000, $3f800000, $bf800000, $3f800000, $bf800000, $bf800000, $3f800000
f8.o2: dd $3f800000, $bf800000, $3f800000, $3f800000, $3f800000, $3f800000, $bf800000, $bf800000
f8.o3: dd $3f800000, $3f800000, $bf800000, $3f800000, $3f800000, $bf800000, $3f800000, $bf800000
f8.o4: dd $3f800000, $bf800000, $bf800000, $bf800000, $3f800000, $3f800000, $3f800000, $3f800000
f8.o5: dd $3f800000, $3f800000, $bf800000, $3f800000, $bf800000, $3f800000, $bf800000, $3f800000
f8.o6: dd $3f800000, $3f800000, $3f800000, $bf800000, $bf800000, $3f800000, $3f800000, $bf800000
f8.o7: dd $3f800000, $bf800000, $3f800000, $3f800000, $bf800000, $bf800000, $3f800000, $3f800000
; </fold>
; <fold d2smul>
dalign $10
d2.c0: dq $3ff0000000000000, $bff0000000000000
; </fold>
; <fold d4smul>
dalign $20
d4.q0: dq $3ff0000000000000, $bff0000000000000, $bff0000000000000, $bff0000000000000
d4.q1: dq $3ff0000000000000, $3ff0000000000000, $3ff0000000000000, $bff0000000000000
d4.q2: dq $3ff0000000000000, $bff0000000000000, $3ff0000000000000, $3ff0000000000000
d4.q3: dq $3ff0000000000000, $3ff0000000000000, $bff0000000000000, $3ff0000000000000
; </fold>
; <fold d8smul>
dalign $40
d8.o0: dq $3ff0000000000000, $bff0000000000000, $bff0000000000000, $bff0000000000000, $bff0000000000000, $bff0000000000000, $bff0000000000000, $bff0000000000000
d8.o1: dq $3ff0000000000000, $3ff0000000000000, $3ff0000000000000, $bff0000000000000, $3ff0000000000000, $bff0000000000000, $bff0000000000000, $3ff0000000000000
d8.o2: dq $3ff0000000000000, $bff0000000000000, $3ff0000000000000, $3ff0000000000000, $3ff0000000000000, $3ff0000000000000, $bff0000000000000, $bff0000000000000
d8.o3: dq $3ff0000000000000, $3ff0000000000000, $bff0000000000000, $3ff0000000000000, $3ff0000000000000, $bff0000000000000, $3ff0000000000000, $bff0000000000000
d8.o4: dq $3ff0000000000000, $bff0000000000000, $bff0000000000000, $bff0000000000000, $3ff0000000000000, $3ff0000000000000, $3ff0000000000000, $3ff0000000000000
d8.o5: dq $3ff0000000000000, $3ff0000000000000, $bff0000000000000, $3ff0000000000000, $bff0000000000000, $3ff0000000000000, $bff0000000000000, $3ff0000000000000
d8.o6: dq $3ff0000000000000, $3ff0000000000000, $3ff0000000000000, $bff0000000000000, $bff0000000000000, $3ff0000000000000, $3ff0000000000000, $bff0000000000000
d8.o7: dq $3ff0000000000000, $bff0000000000000, $3ff0000000000000, $3ff0000000000000, $bff0000000000000, $bff0000000000000, $3ff0000000000000, $3ff0000000000000
; </fold>
; <fold i>
dalign $10
i.00: dd $7fffffff
; </fold>
; <fold i4>
dalign $10
i4.00: dd $00000030, $00000020, $00000010, $00000000
; </fold>
; <fold i8>
dalign $20
i8.00: dd $00000070, $00000060, $00000050, $00000040, $00000030, $00000020, $00000010, $00000000
i8.01: dd $ffffffff, $ffffffff, $ffffffff, $ffffffff, $ffffffff, $ffffffff, $ffffffff, $ffffffff
i8.02: dd $0000ffff, $0000ffff, $0000ffff, $0000ffff, $0000ffff, $0000ffff, $0000ffff, $0000ffff
i8.03: dd $000000ff, $000000ff, $000000ff, $000000ff, $000000ff, $000000ff, $000000ff, $000000ff
i8.04: dd $ffffffff, $ffffffff, $00000000, $00000000, $ffffffff, $ffffffff, $00000000, $00000000
i8.05: dd $00004000, $00004000, $00004000, $00004000, $00004000, $00004000, $00004000, $00004000
; </fold>
; <fold l>
dalign $10
l.00: dq $8000000000000000
l.01: dq $ffffffffffffffff
l.02: dq $7fffffffffffffff
; </fold>
; <fold l8>
dalign $40
l8.00: dq $ffffffffffffffff, $ffffffffffffffff, $ffffffffffffffff, $ffffffffffffffff, $ffffffffffffffff, $ffffffffffffffff, $ffffffffffffffff, $ffffffffffffffff
l8.01: dq $00000000ffffffff, $00000000ffffffff, $00000000ffffffff, $00000000ffffffff, $00000000ffffffff, $00000000ffffffff, $00000000ffffffff, $00000000ffffffff
l8.02: dq $000000000000ffff, $000000000000ffff, $000000000000ffff, $000000000000ffff, $000000000000ffff, $000000000000ffff, $000000000000ffff, $000000000000ffff
l8.03: dq $00000000000000ff, $00000000000000ff, $00000000000000ff, $00000000000000ff, $00000000000000ff, $00000000000000ff, $00000000000000ff, $00000000000000ff
; </fold>
; <fold f8>
dalign $20
f8.00: dd $4f000000, $4f000000, $4f000000, $4f000000, $4f000000, $4f000000, $4f000000, $4f000000
; </fold>
; <fold d8>
dalign $40
d8.00: dq $41e0000000000000, $41e0000000000000, $41e0000000000000, $41e0000000000000, $41e0000000000000, $41e0000000000000, $41e0000000000000, $41e0000000000000
d8.01: dq $43e0000000000000, $43e0000000000000, $43e0000000000000, $43e0000000000000, $43e0000000000000, $43e0000000000000, $43e0000000000000, $43e0000000000000
; </fold>
; <fold b8>
dalign $10
b8.00: db $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff
b8.01: db $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $00, $00, $00, $00, $00, $00, $00, $00
b8.02: db $ff, $ff, $ff, $ff, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
b8.03: db $ff, $ff, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
b8.04: db $ff, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
; </fold>
; <fold s8>
dalign $10
s8.00: dw $00ff, $00ff, $00ff, $00ff, $00ff, $00ff, $00ff, $00ff
s8.01: dw $ffff, $ffff, $ffff, $ffff, $ffff, $ffff, $ffff, $ffff
s8.02: dw $ffff, $ffff, $ffff, $ffff, $0000, $0000, $0000, $0000
s8.03: dw $ffff, $ffff, $0000, $0000, $0000, $0000, $0000, $0000
s8.04: dw $ffff, $0000, $0000, $0000, $0000, $0000, $0000, $0000
s8.05: dw $0040, $0040, $0040, $0040, $0040, $0040, $0040, $0040
; </fold>
; </fold>