Subversion Repositories Kolibri OS

Rev

Rev 31 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 31 Rev 109
Line 1... Line 1...
1
; flat assembler core
1
; flat assembler core
2
; Copyright (c) 1999-2005, Tomasz Grysztar.
2
; Copyright (c) 1999-2006, Tomasz Grysztar.
3
; All rights reserved.
3
; All rights reserved.
Line 4... Line 4...
4
 
4
 
5
simple_instruction_except64:
5
simple_instruction_except64:
6
	cmp	[code_type],64
6
        cmp     [code_type],64
Line 681... Line 681...
681
	cmp	[code_type],64
681
        cmp     [code_type],64
682
	je	mov_reg_xrx_64bit
682
        je      mov_reg_xrx_64bit
683
	cmp	[operand_size],4
683
        cmp     [operand_size],4
684
	jne	invalid_operand_size
684
        jne     invalid_operand_size
685
	call	store_nomem_instruction
685
        cmp     [postbyte_register],8
-
 
686
        jne     mov_reg_xrx_store
-
 
687
        cmp     [extended_code],20h
-
 
688
        jne     mov_reg_xrx_store
-
 
689
        mov     al,0F0h
-
 
690
        stos    byte [edi]
-
 
691
        mov     [postbyte_register],0
-
 
692
      mov_reg_xrx_store:
-
 
693
        call    store_nomem_instruction
686
	jmp	instruction_assembled
694
        jmp     instruction_assembled
687
      mov_reg_xrx_64bit:
695
      mov_reg_xrx_64bit:
688
	cmp	[operand_size],8
696
        cmp     [operand_size],8
689
	jne	invalid_operand_size
697
        jne     invalid_operand_size
690
	call	store_nomem_instruction
698
        call    store_nomem_instruction
Line 760... Line 768...
760
	mov	[base_code],0A1h
768
        mov     [base_code],0A1h
761
	jmp	store_mov_address32
769
        jmp     store_mov_address32
762
      mov_ax_mem_address16:
770
      mov_ax_mem_address16:
763
	call	store_segment_prefix_if_necessary
771
        call    store_segment_prefix_if_necessary
764
	mov	[base_code],0A1h
772
        call    address_16bit_prefix
-
 
773
        mov     [base_code],0A1h
765
	jmp	store_mov_address16
774
        jmp     store_mov_address16
766
      mov_ax_mem_address64:
775
      mov_ax_mem_address64:
767
	call	store_segment_prefix_if_necessary
776
        call    store_segment_prefix_if_necessary
768
	mov	[base_code],0A1h
777
        mov     [base_code],0A1h
769
	jmp	store_mov_address64
778
        jmp     store_mov_address64
Line 856... Line 865...
856
	stos	dword [edi]
865
        stos    dword [edi]
857
	jmp	instruction_assembled
866
        jmp     instruction_assembled
858
      mov_sreg:
867
      mov_sreg:
859
	mov	ah,al
868
        mov     ah,al
860
	and	al,111b
869
        and     al,1111b
861
	mov	[postbyte_register],al
870
        mov     [postbyte_register],al
862
	shr	ah,4
871
        shr     ah,4
863
	cmp	ah,5
872
        cmp     ah,5
864
	je	mov_creg
873
        je      mov_creg
865
	cmp	ah,7
874
        cmp     ah,7
866
	je	mov_dreg
875
        je      mov_dreg
Line 924... Line 933...
924
	cmp	[code_type],64
933
        cmp     [code_type],64
925
	je	mov_xrx_64bit
934
        je      mov_xrx_64bit
926
	cmp	ah,4
935
        cmp     ah,4
927
	jne	invalid_operand_size
936
        jne     invalid_operand_size
928
	call	store_nomem_instruction
937
        cmp     [postbyte_register],8
-
 
938
        jne     mov_xrx_store
-
 
939
        cmp     [extended_code],22h
-
 
940
        jne     mov_xrx_store
-
 
941
        mov     al,0F0h
-
 
942
        stos    byte [edi]
-
 
943
        mov     [postbyte_register],0
-
 
944
      mov_xrx_store:
-
 
945
        call    store_nomem_instruction
929
	jmp	instruction_assembled
946
        jmp     instruction_assembled
930
      mov_xrx_64bit:
947
      mov_xrx_64bit:
931
	cmp	ah,8
948
        cmp     ah,8
932
	jne	invalid_operand_size
949
        jne     invalid_operand_size
933
	call	store_nomem_instruction
950
        call    store_nomem_instruction
Line 1234... Line 1251...
1234
      xchg_reg_reg_8bit:
1251
      xchg_reg_reg_8bit:
1235
	call	store_nomem_instruction
1252
        call    store_nomem_instruction
1236
	jmp	instruction_assembled
1253
        jmp     instruction_assembled
1237
push_instruction:
1254
push_instruction:
1238
	mov	[extended_code],al
1255
        mov     [push_size],al
1239
      push_next:
1256
      push_next:
1240
	lods	byte [esi]
1257
        lods    byte [esi]
1241
	call	get_size_operator
1258
        call    get_size_operator
1242
	cmp	al,10h
1259
        cmp     al,10h
1243
	je	push_reg
1260
        je      push_reg
1244
	cmp	al,'('
1261
        cmp     al,'('
Line 1247... Line 1264...
1247
	jne	invalid_operand
1264
        jne     invalid_operand
1248
      push_mem:
1265
      push_mem:
1249
	call	get_address
1266
        call    get_address
1250
	mov	al,[operand_size]
1267
        mov     al,[operand_size]
1251
	mov	ah,[extended_code]
1268
        mov     ah,[push_size]
1252
	cmp	al,2
1269
        cmp     al,2
1253
	je	push_mem_16bit
1270
        je      push_mem_16bit
1254
	cmp	al,4
1271
        cmp     al,4
1255
	je	push_mem_32bit
1272
        je      push_mem_32bit
1256
	cmp	al,8
1273
        cmp     al,8
1257
	je	push_mem_64bit
1274
        je      push_mem_64bit
Line 1306... Line 1323...
1306
      push_reg_ok:
1323
      push_reg_ok:
1307
	add	al,50h
1324
        add     al,50h
1308
	mov	[base_code],al
1325
        mov     [base_code],al
1309
	mov	al,ah
1326
        mov     al,ah
1310
	mov	ah,[extended_code]
1327
        mov     ah,[push_size]
1311
	cmp	al,2
1328
        cmp     al,2
1312
	je	push_reg_16bit
1329
        je      push_reg_16bit
1313
	cmp	al,4
1330
        cmp     al,4
1314
	je	push_reg_32bit
1331
        je      push_reg_32bit
1315
	cmp	al,8
1332
        cmp     al,8
1316
	jne	invalid_operand_size
1333
        jne     invalid_operand_size
Line 1336... Line 1353...
1336
	jmp	push_done
1353
        jmp     push_done
1337
      push_sreg:
1354
      push_sreg:
1338
	mov	bl,al
1355
        mov     bl,al
1339
	mov	dl,[operand_size]
1356
        mov     dl,[operand_size]
1340
	mov	dh,[extended_code]
1357
        mov     dh,[push_size]
1341
	cmp	dl,2
1358
        cmp     dl,2
1342
	je	push_sreg16
1359
        je      push_sreg16
1343
	cmp	dl,4
1360
        cmp     dl,4
1344
	je	push_sreg32
1361
        je      push_sreg32
1345
	cmp	dl,8
1362
        cmp     dl,8
1346
	je	push_sreg64
1363
        je      push_sreg64
Line 1391... Line 1408...
1391
	mov	[base_code],0Fh
1408
        mov     [base_code],0Fh
1392
	jmp	push_reg_store
1409
        jmp     push_reg_store
1393
      push_imm:
1410
      push_imm:
1394
	mov	al,[operand_size]
1411
        mov     al,[operand_size]
1395
	mov	ah,[extended_code]
1412
        mov     ah,[push_size]
1396
	or	al,al
1413
        or      al,al
1397
	je	push_imm_size_ok
1414
        je      push_imm_size_ok
1398
	or	ah,ah
1415
        or      ah,ah
1399
	je	push_imm_size_ok
1416
        je      push_imm_size_ok
1400
	cmp	al,ah
1417
        cmp     al,ah
1401
	jne	invalid_operand_size
1418
        jne     invalid_operand_size
Line 1434... Line 1451...
1434
	cmp	[code_type],64
1451
        cmp     [code_type],64
1435
	je	illegal_instruction
1452
        je      illegal_instruction
1436
	call	get_dword_value
1453
        call    get_dword_value
1437
	mov	edx,eax
1454
        mov     edx,eax
1438
	cmp	[value_type],0
1455
        call    operand_32bit
-
 
1456
        cmp     [value_type],0
1439
	jne	push_imm_32bit_store
1457
        jne     push_imm_32bit_store
1440
	cmp	eax,-80h
1458
        cmp     eax,-80h
1441
	jl	push_imm_32bit_store
1459
        jl      push_imm_32bit_store
1442
	cmp	eax,80h
1460
        cmp     eax,80h
1443
	jge	push_imm_32bit_store
1461
        jge     push_imm_32bit_store
1444
	call	operand_32bit
1462
        jmp     push_imm_8bit
1445
	jmp	push_imm_8bit
-
 
1446
      push_imm_optimized_16bit:
1463
      push_imm_optimized_16bit:
1447
	call	get_word_value
1464
        call    get_word_value
1448
	mov	dx,ax
1465
        mov     dx,ax
1449
	cmp	[value_type],0
1466
        call    operand_16bit
-
 
1467
        cmp     [value_type],0
1450
	jne	push_imm_16bit_store
1468
        jne     push_imm_16bit_store
1451
	cmp	ax,-80h
1469
        cmp     ax,-80h
1452
	jl	push_imm_16bit_store
1470
        jl      push_imm_16bit_store
1453
	cmp	ax,80h
1471
        cmp     ax,80h
1454
	jge	push_imm_16bit_store
1472
        jge     push_imm_16bit_store
1455
	call	operand_16bit
1473
      push_imm_8bit:
1456
      push_imm_8bit:
-
 
1457
	mov	ah,al
1474
        mov     ah,al
1458
	mov	al,6Ah
1475
        mov     [base_code],6Ah
-
 
1476
        call    store_instruction_code
-
 
1477
        mov     al,ah
1459
	stos	word [edi]
1478
        stos    byte [edi]
1460
	jmp	push_done
1479
        jmp     push_done
1461
      push_imm_16bit:
1480
      push_imm_16bit:
1462
	call	get_word_value
1481
        call    get_word_value
1463
	mov	dx,ax
1482
        mov     dx,ax
1464
	call	operand_16bit
1483
        call    operand_16bit
1465
      push_imm_16bit_store:
1484
      push_imm_16bit_store:
Line 1499... Line 1518...
1499
	mov	[operand_prefix],0
1518
        mov     [operand_prefix],0
1500
	mov	[rex_prefix],0
1519
        mov     [rex_prefix],0
1501
	jmp	push_next
1520
        jmp     push_next
1502
pop_instruction:
1521
pop_instruction:
1503
	mov	[extended_code],al
1522
        mov     [push_size],al
1504
      pop_next:
1523
      pop_next:
1505
	lods	byte [esi]
1524
        lods    byte [esi]
1506
	call	get_size_operator
1525
        call    get_size_operator
1507
	cmp	al,10h
1526
        cmp     al,10h
1508
	je	pop_reg
1527
        je      pop_reg
1509
	cmp	al,'['
1528
        cmp     al,'['
1510
	jne	invalid_operand
1529
        jne     invalid_operand
1511
      pop_mem:
1530
      pop_mem:
1512
	call	get_address
1531
        call    get_address
1513
	mov	al,[operand_size]
1532
        mov     al,[operand_size]
1514
	mov	ah,[extended_code]
1533
        mov     ah,[push_size]
1515
	cmp	al,2
1534
        cmp     al,2
1516
	je	pop_mem_16bit
1535
        je      pop_mem_16bit
1517
	cmp	al,4
1536
        cmp     al,4
1518
	je	pop_mem_32bit
1537
        je      pop_mem_32bit
1519
	cmp	al,8
1538
        cmp     al,8
1520
	je	pop_mem_64bit
1539
        je      pop_mem_64bit
Line 1569... Line 1588...
1569
      pop_reg_ok:
1588
      pop_reg_ok:
1570
	add	al,58h
1589
        add     al,58h
1571
	mov	[base_code],al
1590
        mov     [base_code],al
1572
	mov	al,ah
1591
        mov     al,ah
1573
	mov	ah,[extended_code]
1592
        mov     ah,[push_size]
1574
	cmp	al,2
1593
        cmp     al,2
1575
	je	pop_reg_16bit
1594
        je      pop_reg_16bit
1576
	cmp	al,4
1595
        cmp     al,4
1577
	je	pop_reg_32bit
1596
        je      pop_reg_32bit
1578
	cmp	al,8
1597
        cmp     al,8
1579
	je	pop_reg_64bit
1598
        je      pop_reg_64bit
Line 1609... Line 1628...
1609
	mov	[operand_prefix],0
1628
        mov     [operand_prefix],0
1610
	mov	[rex_prefix],0
1629
        mov     [rex_prefix],0
1611
	jmp	pop_next
1630
        jmp     pop_next
1612
      pop_sreg:
1631
      pop_sreg:
1613
	mov	bl,al
1632
        mov     dl,[operand_size]
1614
	mov	dl,[operand_size]
-
 
1615
	mov	dh,[extended_code]
1633
        mov     dh,[push_size]
1616
	cmp	dl,2
1634
        cmp     al,62h
-
 
1635
        je      pop_cs
-
 
1636
        mov     bl,al
-
 
1637
        cmp     dl,2
1617
	je	pop_sreg16
1638
        je      pop_sreg16
1618
	cmp	dl,4
1639
        cmp     dl,4
1619
	je	pop_sreg32
1640
        je      pop_sreg32
1620
	cmp	dl,8
1641
        cmp     dl,8
1621
	je	pop_sreg64
1642
        je      pop_sreg64
Line 1657... Line 1678...
1657
	mov	[base_code],al
1678
        mov     [base_code],al
1658
	cmp	[code_type],64
1679
        cmp     [code_type],64
1659
	je	illegal_instruction
1680
        je      illegal_instruction
1660
	jmp	pop_reg_store
1681
        jmp     pop_reg_store
1661
      pop_sreg_386:
1682
      pop_cs:
-
 
1683
        cmp     [code_type],16
-
 
1684
        jne     illegal_instruction
-
 
1685
        cmp     dl,2
-
 
1686
        je      pop_cs_store
-
 
1687
        or      dl,dl
-
 
1688
        jnz     invalid_operand_size
-
 
1689
        cmp     dh,2
-
 
1690
        je      pop_cs_store
-
 
1691
        or      dh,dh
-
 
1692
        jnz     illegal_instruction
-
 
1693
      pop_cs_store:
-
 
1694
        test    dh,not 2
-
 
1695
        jnz     invalid_operand_size
-
 
1696
        mov     al,0Fh
-
 
1697
        stos    byte [edi]
-
 
1698
        jmp     pop_done
-
 
1699
      pop_sreg_386:
1662
	sub	al,4
1700
        sub     al,4
1663
	shl	al,3
1701
        shl     al,3
1664
	add	al,0A1h
1702
        add     al,0A1h
1665
	mov	[extended_code],al
1703
        mov     [extended_code],al
1666
	mov	[base_code],0Fh
1704
        mov     [base_code],0Fh
Line 1906... Line 1944...
1906
	jne	ret_imm_ok
1944
        jne     ret_imm_ok
1907
	cmp	[value_type],0
1945
        cmp     [value_type],0
1908
	jne	invalid_use_of_symbol
1946
        jne     invalid_use_of_symbol
1909
      ret_imm_ok:
1947
      ret_imm_ok:
1910
	mov	dx,ax
1948
        cmp     [size_declared],0
-
 
1949
        jne     ret_imm_store
-
 
1950
        or      ax,ax
-
 
1951
        jz      simple_ret
-
 
1952
      ret_imm_store:
-
 
1953
        mov     dx,ax
1911
	call	store_instruction_code
1954
        call    store_instruction_code
1912
	mov	ax,dx
1955
        mov     ax,dx
1913
	stos	word [edi]
1956
        stos    word [edi]
1914
	jmp	instruction_assembled
1957
        jmp     instruction_assembled
1915
      simple_ret:
1958
      simple_ret:
Line 1934... Line 1977...
1934
	lods	byte [esi]
1977
        lods    byte [esi]
1935
	call	get_size_operator
1978
        call    get_size_operator
1936
	cmp	al,'['
1979
        cmp     al,'['
1937
	jne	invalid_operand
1980
        jne     invalid_operand
1938
	call	get_address
1981
        mov     [size_override],-1
-
 
1982
        call    get_address
1939
	pop	eax
1983
        pop     eax
1940
	call	operand_autodetect
1984
        mov     [operand_size],al
-
 
1985
        call    operand_autodetect
1941
	call	store_instruction
1986
        call    store_instruction
1942
	jmp	instruction_assembled
1987
        jmp     instruction_assembled
1943
ls_instruction:
1988
ls_instruction:
1944
	or	al,al
1989
        or      al,al
1945
	jz	les_instruction
1990
        jz      les_instruction
Line 2274... Line 2319...
2274
	jne	invalid_operand
2319
        jne     invalid_operand
2275
	call	get_address
2320
        call    get_address
2276
	pop	eax
2321
        pop     eax
2277
	mov	ah,[operand_size]
2322
        mov     ah,[operand_size]
2278
	cmp	ah,al
2323
        or      ah,ah
-
 
2324
        jz      movx_unknown_size
-
 
2325
        cmp     ah,al
2279
	jae	invalid_operand_size
2326
        jae     invalid_operand_size
2280
	cmp	ah,1
2327
        cmp     ah,1
2281
	je	movx_mem_8bit
2328
        je      movx_mem_8bit
2282
	cmp	ah,2
2329
        cmp     ah,2
2283
	je	movx_mem_16bit
2330
        jne     invalid_operand_size
-
 
2331
      movx_mem_16bit:
2284
	or	ah,ah
2332
        inc     [extended_code]
-
 
2333
        call    operand_autodetect
2285
	jnz	invalid_operand_size
2334
        call    store_instruction
-
 
2335
        jmp     instruction_assembled
-
 
2336
      movx_unknown_size:
2286
	cmp	[error_line],0
2337
        cmp     [error_line],0
2287
	jne	movx_mem_8bit
2338
        jne     movx_mem_8bit
2288
	mov	eax,[current_line]
2339
        mov     eax,[current_line]
2289
	mov	[error_line],eax
2340
        mov     [error_line],eax
2290
	mov	[error],operand_size_not_specified
2341
        mov     [error],operand_size_not_specified
2291
      movx_mem_8bit:
2342
      movx_mem_8bit:
2292
	call	operand_autodetect
2343
        call    operand_autodetect
2293
	call	store_instruction
2344
        call    store_instruction
2294
	jmp	instruction_assembled
2345
        jmp     instruction_assembled
2295
      movx_mem_16bit:
2346
      movx_reg:
2296
	inc	[extended_code]
-
 
2297
	call	operand_autodetect
-
 
2298
	call	store_instruction
-
 
2299
	jmp	instruction_assembled
-
 
2300
      movx_reg:
-
 
2301
	lods	byte [esi]
2347
        lods    byte [esi]
2302
	call	convert_register
2348
        call    convert_register
2303
	pop	ebx
2349
        pop     ebx
2304
	xchg	bl,al
2350
        xchg    bl,al
2305
	cmp	ah,al
2351
        cmp     ah,al
Line 2352... Line 2398...
2352
	lods	byte [esi]
2398
        lods    byte [esi]
2353
	call	convert_register
2399
        call    convert_register
2354
	cmp	ah,4
2400
        cmp     ah,4
2355
	jne	invalid_operand_size
2401
        jne     invalid_operand_size
2356
	call	operand_64bit
2402
        mov     bl,al
-
 
2403
        call    operand_64bit
2357
	call	store_nomem_instruction
2404
        call    store_nomem_instruction
2358
	jmp	instruction_assembled
2405
        jmp     instruction_assembled
2359
bt_instruction:
2406
bt_instruction:
2360
	mov	[postbyte_register],al
2407
        mov     [postbyte_register],al
2361
	shl	al,3
2408
        shl     al,3
Line 2451... Line 2498...
2451
	jmp	instruction_assembled
2498
        jmp     instruction_assembled
2452
      bt_reg_imm:
2499
      bt_reg_imm:
2453
	xor	al,al
2500
        xor     al,al
2454
	xchg	al,[operand_size]
2501
        xchg    al,[operand_size]
2455
	push	eax
2502
        push    eax ebx
2456
	lods	byte [esi]
2503
        lods    byte [esi]
2457
	call	get_size_operator
2504
        call    get_size_operator
2458
	cmp	al,'('
2505
        cmp     al,'('
2459
	jne	invalid_operand
2506
        jne     invalid_operand
2460
	mov	al,[operand_size]
2507
        mov     al,[operand_size]
2461
	or	al,al
2508
        or      al,al
Line 2464... Line 2511...
2464
	jne	invalid_operand_size
2511
        jne     invalid_operand_size
2465
      bt_reg_imm_size_ok:
2512
      bt_reg_imm_size_ok:
2466
	call	get_byte_value
2513
        call    get_byte_value
2467
	mov	byte [value],al
2514
        mov     byte [value],al
2468
	pop	eax
2515
        pop     ebx eax
2469
	call	operand_autodetect
2516
        call    operand_autodetect
2470
      bt_reg_imm_store:
2517
      bt_reg_imm_store:
2471
	mov	[extended_code],0BAh
2518
        mov     [extended_code],0BAh
2472
	call	store_nomem_instruction
2519
        call    store_nomem_instruction
2473
	mov	al,byte [value]
2520
        mov     al,byte [value]
2474
	stos	byte [edi]
2521
        stos    byte [edi]
Line 2905... Line 2952...
2905
	mov	al,dl
2952
        mov     al,dl
2906
	stos	byte [edi]
2953
        stos    byte [edi]
2907
	jmp	instruction_assembled
2954
        jmp     instruction_assembled
2908
 
2955
 
Line 2909... Line -...
2909
conditional_jump:
-
 
2910
	mov	[base_code],al
-
 
2911
	lods	byte [esi]
-
 
2912
	call	get_jump_operator
-
 
2913
	cmp	[jump_type],2
-
 
2914
	je	invalid_operand
-
 
2915
	call	get_size_operator
-
 
2916
	cmp	al,'('
-
 
2917
	jne	invalid_operand
-
 
2918
	cmp	byte [esi],'.'
-
 
2919
	je	invalid_value
-
 
2920
	call	get_relative_offset
-
 
2921
	sub	eax,2
-
 
2922
	jo	jump_out_of_range
-
 
2923
	cmp	[next_pass_needed],0
-
 
2924
	jne	conditional_jump_value_ok
-
 
2925
	cmp	[value_type],1
-
 
2926
	je	invalid_use_of_symbol
-
 
2927
	ja	conditional_jump_32bit
-
 
2928
      conditional_jump_value_ok:
-
 
2929
	mov	bl,[operand_size]
-
 
2930
	cmp	bl,1
-
 
2931
	je	conditional_jump_8bit
-
 
2932
	cmp	bl,2
-
 
2933
	je	conditional_jump_16bit
-
 
2934
	cmp	bl,4
-
 
2935
	je	conditional_jump_32bit
-
 
2936
	or	bl,bl
-
 
2937
	jnz	invalid_operand_size
-
 
2938
	cmp	eax,80h
-
 
2939
	jb	conditional_jump_8bit
-
 
2940
	cmp	eax,-80h
-
 
2941
	jae	conditional_jump_8bit
-
 
2942
	cmp	[code_type],16
-
 
2943
	je	conditional_jump_16bit
-
 
2944
      conditional_jump_32bit:
-
 
2945
	sub	eax,2
-
 
2946
	jo	jump_out_of_range
-
 
2947
	mov	edx,eax
-
 
2948
	mov	ecx,edi
-
 
2949
	call	operand_32bit
-
 
2950
	mov	al,[base_code]
-
 
2951
	add	al,10h
-
 
2952
	mov	[extended_code],al
-
 
2953
	mov	[base_code],0Fh
-
 
2954
	call	store_instruction_code
-
 
2955
	mov	eax,edi
-
 
2956
	sub	eax,ecx
-
 
2957
	sub	edx,eax
-
 
2958
	jo	jump_out_of_range
-
 
2959
	mov	eax,edx
-
 
2960
	call	mark_relocation
-
 
2961
	stos	dword [edi]
-
 
2962
	jmp	instruction_assembled
-
 
2963
      conditional_jump_16bit:
-
 
2964
	mov	edx,eax
-
 
2965
	mov	ecx,edi
-
 
2966
	call	operand_16bit
-
 
2967
	mov	al,[base_code]
-
 
2968
	add	al,10h
-
 
2969
	mov	[extended_code],al
-
 
2970
	mov	[base_code],0Fh
-
 
2971
	call	store_instruction_code
-
 
2972
	mov	eax,edi
-
 
2973
	sub	eax,ecx
-
 
2974
	sub	edx,eax
-
 
2975
	jo	jump_out_of_range
-
 
2976
	mov	eax,edx
-
 
2977
	stos	word [edi]
-
 
2978
	cmp	eax,10000h
-
 
2979
	jge	jump_out_of_range
-
 
2980
	cmp	eax,-10000h
-
 
2981
	jl	jump_out_of_range
-
 
2982
	jmp	instruction_assembled
-
 
2983
      conditional_jump_8bit:
-
 
2984
	mov	edx,eax
-
 
2985
	mov	ah,al
-
 
2986
	mov	al,[base_code]
-
 
2987
	stos	word [edi]
-
 
2988
	cmp	edx,80h
-
 
2989
	jge	jump_out_of_range
-
 
2990
	cmp	edx,-80h
-
 
2991
	jl	jump_out_of_range
-
 
2992
	jmp	instruction_assembled
-
 
2993
      jump_out_of_range:
-
 
2994
	cmp	[error_line],0
-
 
2995
	jne	instruction_assembled
-
 
2996
	mov	eax,[current_line]
-
 
2997
	mov	[error_line],eax
-
 
2998
	mov	[error],relative_jump_out_of_range
-
 
2999
	jmp	instruction_assembled
-
 
3000
loop_instruction_16bit:
-
 
3001
	cmp	[code_type],64
-
 
3002
	je	illegal_instruction
-
 
3003
	mov	dl,al
-
 
3004
	call	address_16bit_prefix
-
 
3005
	mov	al,dl
-
 
3006
	jmp	loop_instruction
-
 
3007
loop_instruction_32bit:
-
 
3008
	mov	dl,al
-
 
3009
	call	address_32bit_prefix
-
 
3010
	mov	al,dl
-
 
3011
	jmp	loop_instruction
-
 
3012
loop_instruction_64bit:
-
 
3013
	cmp	[code_type],64
-
 
3014
	jne	illegal_instruction
-
 
3015
loop_instruction:
-
 
3016
	mov	[base_code],al
-
 
3017
	lods	byte [esi]
-
 
3018
	call	get_jump_operator
-
 
3019
	cmp	[jump_type],2
-
 
3020
	je	invalid_operand
-
 
3021
	call	get_size_operator
-
 
3022
	cmp	al,'('
-
 
3023
	jne	invalid_operand
-
 
3024
	cmp	byte [esi],'.'
-
 
3025
	je	invalid_value
-
 
3026
	call	get_relative_offset
-
 
3027
	cmp	[next_pass_needed],0
-
 
3028
	jne	loop_value_ok
-
 
3029
	cmp	[value_type],0
-
 
3030
	jne	invalid_use_of_symbol
-
 
3031
      loop_value_ok:
-
 
3032
	mov	bl,[operand_size]
-
 
3033
	cmp	bl,1
-
 
3034
	je	loop_8bit
-
 
3035
	or	bl,bl
-
 
3036
	jnz	invalid_operand_size
-
 
3037
      loop_8bit:
-
 
3038
	sub	eax,2
-
 
3039
	jo	jump_out_of_range
-
 
3040
	mov	edx,eax
-
 
3041
	mov	al,[base_code]
-
 
3042
	stos	byte [edi]
-
 
3043
	mov	al,dl
-
 
3044
	stos	byte [edi]
-
 
3045
	cmp	edx,80h
-
 
3046
	jge	jump_out_of_range
-
 
3047
	cmp	edx,-80h
-
 
3048
	jl	jump_out_of_range
-
 
3049
	jmp	instruction_assembled
-
 
3050
call_instruction:
2956
call_instruction:
3051
	mov	[postbyte_register],10b
2957
        mov     [postbyte_register],10b
3052
	mov	[base_code],0E8h
2958
        mov     [base_code],0E8h
3053
	mov	[extended_code],9Ah
2959
        mov     [extended_code],9Ah
3054
	jmp	process_jmp
2960
        jmp     process_jmp
Line 3067... Line 2973...
3067
	je	jmp_reg
2973
        je      jmp_reg
3068
	cmp	al,'['
2974
        cmp     al,'['
3069
	jne	invalid_operand
2975
        jne     invalid_operand
3070
      jmp_mem:
2976
      jmp_mem:
3071
	call	get_address
2977
        cmp     [jump_type],1
-
 
2978
        je      illegal_instruction
-
 
2979
        call    get_address
3072
	mov	edx,eax
2980
        mov     edx,eax
3073
	mov	al,[operand_size]
2981
        mov     al,[operand_size]
3074
	or	al,al
2982
        or      al,al
3075
	jz	jmp_mem_size_not_specified
2983
        jz      jmp_mem_size_not_specified
3076
	cmp	al,2
2984
        cmp     al,2
Line 3084... Line 2992...
3084
	cmp	al,10
2992
        cmp     al,10
3085
	je	jmp_mem_80bit
2993
        je      jmp_mem_80bit
3086
	jmp	invalid_operand_size
2994
        jmp     invalid_operand_size
3087
      jmp_mem_size_not_specified:
2995
      jmp_mem_size_not_specified:
3088
	cmp	[jump_type],2
2996
        cmp     [jump_type],3
3089
	je	jmp_mem_far
2997
        je      jmp_mem_far
3090
	cmp	[jump_type],1
2998
        cmp     [jump_type],2
3091
	je	jmp_mem_near
2999
        je      jmp_mem_near
3092
	cmp	[error_line],0
3000
        cmp     [error_line],0
3093
	jne	jmp_mem_near
3001
        jne     jmp_mem_near
3094
	mov	eax,[current_line]
3002
        mov     eax,[current_line]
3095
	mov	[error_line],eax
3003
        mov     [error_line],eax
3096
	mov	[error],operand_size_not_specified
3004
        mov     [error],operand_size_not_specified
Line 3099... Line 3007...
3099
	je	jmp_mem_16bit
3007
        je      jmp_mem_16bit
3100
	cmp	[code_type],32
3008
        cmp     [code_type],32
3101
	je	jmp_mem_near_32bit
3009
        je      jmp_mem_near_32bit
3102
      jmp_mem_64bit:
3010
      jmp_mem_64bit:
3103
	cmp	[jump_type],2
3011
        cmp     [jump_type],3
3104
	je	invalid_operand_size
3012
        je      invalid_operand_size
3105
	cmp	[code_type],64
3013
        cmp     [code_type],64
3106
	jne	illegal_instruction
3014
        jne     illegal_instruction
3107
	call	store_instruction
3015
        call    store_instruction
3108
	jmp	instruction_assembled
3016
        jmp     instruction_assembled
3109
      jmp_mem_far:
3017
      jmp_mem_far:
Line 3111... Line 3019...
3111
	je	jmp_mem_far_32bit
3019
        je      jmp_mem_far_32bit
3112
      jmp_mem_48bit:
3020
      jmp_mem_48bit:
3113
	call	operand_32bit
3021
        call    operand_32bit
3114
      jmp_mem_far_store:
3022
      jmp_mem_far_store:
3115
	cmp	[jump_type],1
3023
        cmp     [jump_type],2
3116
	je	invalid_operand_size
3024
        je      invalid_operand_size
3117
	inc	[postbyte_register]
3025
        inc     [postbyte_register]
3118
	call	store_instruction
3026
        call    store_instruction
3119
	jmp	instruction_assembled
3027
        jmp     instruction_assembled
3120
      jmp_mem_80bit:
3028
      jmp_mem_80bit:
3121
	call	operand_64bit
3029
        call    operand_64bit
Line 3123... Line 3031...
3123
      jmp_mem_far_32bit:
3031
      jmp_mem_far_32bit:
3124
	call	operand_16bit
3032
        call    operand_16bit
3125
	jmp	jmp_mem_far_store
3033
        jmp     jmp_mem_far_store
3126
      jmp_mem_32bit:
3034
      jmp_mem_32bit:
3127
	cmp	[jump_type],2
3035
        cmp     [jump_type],3
3128
	je	jmp_mem_far_32bit
3036
        je      jmp_mem_far_32bit
3129
	cmp	[jump_type],1
3037
        cmp     [jump_type],2
3130
	je	jmp_mem_near_32bit
3038
        je      jmp_mem_near_32bit
3131
	cmp	[code_type],16
3039
        cmp     [code_type],16
3132
	je	jmp_mem_far_32bit
3040
        je      jmp_mem_far_32bit
3133
      jmp_mem_near_32bit:
3041
      jmp_mem_near_32bit:
3134
	cmp	[code_type],64
3042
        cmp     [code_type],64
3135
	je	illegal_instruction
3043
        je      illegal_instruction
3136
	call	operand_32bit
3044
        call    operand_32bit
3137
	call	store_instruction
3045
        call    store_instruction
3138
	jmp	instruction_assembled
3046
        jmp     instruction_assembled
3139
      jmp_mem_16bit:
3047
      jmp_mem_16bit:
3140
	cmp	[jump_type],2
3048
        cmp     [jump_type],3
3141
	je	invalid_operand_size
3049
        je      invalid_operand_size
3142
	call	operand_16bit
3050
        call    operand_16bit
3143
	call	store_instruction
3051
        call    store_instruction
3144
	jmp	instruction_assembled
3052
        jmp     instruction_assembled
3145
      jmp_reg:
3053
      jmp_reg:
3146
	cmp	[jump_type],2
3054
        test    [jump_type],1
3147
	je	invalid_operand
3055
        jnz     invalid_operand
3148
	lods	byte [esi]
3056
        lods    byte [esi]
3149
	call	convert_register
3057
        call    convert_register
3150
	mov	bl,al
3058
        mov     bl,al
3151
	mov	al,ah
3059
        mov     al,ah
3152
	cmp	al,2
3060
        cmp     al,2
3153
	je	jmp_reg_16bit
3061
        je      jmp_reg_16bit
Line 3177... Line 3085...
3177
	call	skip_symbol
3085
        call    skip_symbol
3178
	xchg	esi,ebx
3086
        xchg    esi,ebx
3179
	cmp	byte [ebx],':'
3087
        cmp     byte [ebx],':'
3180
	je	jmp_far
3088
        je      jmp_far
3181
	call	get_relative_offset
3089
        cmp     [jump_type],3
3182
	cmp	[jump_type],2
-
 
3183
	je	invalid_operand
3090
        je      invalid_operand
3184
	sub	eax,2
3091
      jmp_near:
3185
	jo	jump_out_of_range
-
 
3186
	cmp	[next_pass_needed],0
-
 
3187
	jne	jmp_value_ok
-
 
3188
	cmp	[value_type],1
-
 
3189
	je	invalid_use_of_symbol
-
 
3190
	ja	jmp_32bit
-
 
3191
      jmp_value_ok:
-
 
3192
	mov	bl,[operand_size]
3092
        mov     al,[operand_size]
3193
	cmp	bl,1
3093
        cmp     al,2
3194
	je	jmp_8bit
3094
        je      jmp_imm_16bit
3195
	cmp	bl,2
3095
        cmp     al,4
3196
	je	jmp_16bit
3096
        je      jmp_imm_32bit
3197
	cmp	bl,4
3097
        cmp     al,8
3198
	je	jmp_32bit
3098
        je      jmp_imm_64bit
3199
	or	bl,bl
3099
        or      al,al
3200
	jnz	invalid_operand_size
3100
        jnz     invalid_operand_size
3201
	cmp	[base_code],0E9h
3101
        cmp     [code_type],16
3202
	jne	jmp_no8bit
-
 
3203
	cmp	eax,80h
-
 
3204
	jb	jmp_8bit
-
 
3205
	cmp	eax,-80h
-
 
3206
	jae	jmp_8bit
-
 
3207
      jmp_no8bit:
-
 
3208
	cmp	[code_type],16
-
 
3209
	je	jmp_16bit
3102
        je      jmp_imm_16bit
3210
      jmp_32bit:
3103
        cmp     [code_type],64
-
 
3104
        je      jmp_imm_64bit
-
 
3105
      jmp_imm_32bit:
3211
	test	[operand_size],not 4
3106
        cmp     [code_type],64
3212
	jnz	invalid_operand_size
3107
        je      invalid_operand_size
3213
	sub	eax,2
3108
        call    get_dword_value
-
 
3109
        cmp     [code_type],16
-
 
3110
        jne     jmp_imm_32bit_prefix_ok
-
 
3111
        mov     byte [edi],66h
-
 
3112
        inc     edi
-
 
3113
      jmp_imm_32bit_prefix_ok:
-
 
3114
        call    calculate_jump_offset
-
 
3115
        cdq
3214
	jo	jump_out_of_range
3116
        call    check_for_short_jump
-
 
3117
        jc      jmp_short
-
 
3118
      jmp_imm_32bit_store:
3215
	mov	edx,eax
3119
        mov     edx,eax
3216
	mov	ecx,edi
3120
        sub     edx,3
3217
	call	operand_32bit
-
 
3218
	call	store_instruction_code
3121
        mov     al,[base_code]
3219
	mov	eax,edi
3122
        stos    byte [edi]
3220
	sub	eax,ecx
-
 
3221
	sub	edx,eax
-
 
3222
	jo	jump_out_of_range
-
 
3223
	mov	eax,edx
3123
        mov     eax,edx
3224
	call	mark_relocation
3124
        call    mark_relocation
3225
	stos	dword [edi]
3125
        stos    dword [edi]
3226
	jmp	instruction_assembled
3126
        jmp     instruction_assembled
3227
      jmp_16bit:
3127
      jmp_imm_64bit:
3228
	mov	edx,eax
3128
        cmp     [code_type],64
3229
	mov	ecx,edi
-
 
3230
	call	operand_16bit
-
 
3231
	call	store_instruction_code
-
 
3232
	mov	eax,edi
-
 
3233
	sub	eax,ecx
-
 
3234
	sub	edx,eax
-
 
3235
	jo	jump_out_of_range
-
 
3236
	mov	eax,edx
-
 
3237
	stos	word [edi]
-
 
3238
	cmp	eax,10000h
-
 
3239
	jge	jump_out_of_range
-
 
3240
	cmp	eax,-10000h
-
 
3241
	jl	jump_out_of_range
-
 
3242
	jmp	instruction_assembled
-
 
3243
      jmp_8bit:
-
 
3244
	cmp	[base_code],0E9h
-
 
3245
	jne	invalid_operand_size
3129
        jne     invalid_operand_size
3246
	mov	edx,eax
3130
        call    get_qword_value
-
 
3131
        call    calculate_jump_offset
-
 
3132
        mov     ecx,edx
3247
	mov	ah,al
3133
        cdq
-
 
3134
        cmp     edx,ecx
-
 
3135
        jne     value_out_of_range
-
 
3136
        call    check_for_short_jump
-
 
3137
        jnc     jmp_imm_32bit_store
-
 
3138
      jmp_short:
-
 
3139
        mov     ah,al
3248
	mov	al,0EBh
3140
        mov     al,0EBh
3249
	stos	word [edi]
3141
        stos    word [edi]
3250
	cmp	edx,80h
3142
        jmp     instruction_assembled
3251
	jge	jump_out_of_range
-
 
3252
	cmp	edx,-80h
-
 
3253
	jl	jump_out_of_range
-
 
3254
	jmp	instruction_assembled
-
 
3255
      jmp_far:
3143
      jmp_imm_16bit:
-
 
3144
        call    get_word_value
-
 
3145
        cmp     [code_type],16
-
 
3146
        je      jmp_imm_16bit_prefix_ok
-
 
3147
        mov     byte [edi],66h
-
 
3148
        inc     edi
-
 
3149
      jmp_imm_16bit_prefix_ok:
-
 
3150
        call    calculate_jump_offset
-
 
3151
        cwde
-
 
3152
        cdq
-
 
3153
        call    check_for_short_jump
-
 
3154
        jc      jmp_short
-
 
3155
        cmp     [value_type],0
-
 
3156
        jne     invalid_use_of_symbol
-
 
3157
        mov     edx,eax
-
 
3158
        dec     edx
-
 
3159
        mov     al,[base_code]
-
 
3160
        stos    byte [edi]
-
 
3161
        mov     eax,edx
-
 
3162
        stos    word [edi]
-
 
3163
        jmp     instruction_assembled
-
 
3164
      calculate_jump_offset:
-
 
3165
        cmp     [value_undefined],0
-
 
3166
        jne     jump_offset_ok
-
 
3167
        add     eax,dword [org_origin]
-
 
3168
        adc     edx,dword [org_origin+4]
-
 
3169
        lea     ebx,[edi+2]
-
 
3170
        sub     eax,ebx
-
 
3171
        sbb     edx,0
-
 
3172
        mov     bl,[value_type]
-
 
3173
        or      bl,bl
-
 
3174
        je      jump_offset_ok
-
 
3175
        test    bl,1
-
 
3176
        jnz     invalid_use_of_symbol
-
 
3177
        cmp     bl,[labels_type]
-
 
3178
        jne     invalid_use_of_symbol
-
 
3179
        mov     [value_type],0
-
 
3180
        mov     ecx,[symbol_identifier]
-
 
3181
        cmp     ecx,[org_symbol]
-
 
3182
        je      jump_offset_ok
-
 
3183
        mov     [value_type],3
-
 
3184
      jump_offset_ok:
3256
	cmp	[jump_type],1
3185
        ret
-
 
3186
      check_for_short_jump:
-
 
3187
        cmp     [jump_type],1
3257
	je	invalid_operand
3188
        je      forced_short
-
 
3189
        ja      no_short_jump
-
 
3190
        cmp     [base_code],0E8h
-
 
3191
        je      no_short_jump
-
 
3192
        cmp     [value_type],0
-
 
3193
        jne     no_short_jump
-
 
3194
        cmp     eax,80h
-
 
3195
        jb      short_jump
-
 
3196
        cmp     eax,-80h
-
 
3197
        jae     short_jump
-
 
3198
      no_short_jump:
-
 
3199
        clc
-
 
3200
        ret
-
 
3201
      forced_short:
-
 
3202
        cmp     [base_code],0E8h
-
 
3203
        je      illegal_instruction
-
 
3204
        cmp     [next_pass_needed],0
-
 
3205
        jne     jmp_short_value_type_ok
-
 
3206
        cmp     [value_type],0
-
 
3207
        jne     invalid_use_of_symbol
-
 
3208
      jmp_short_value_type_ok:
-
 
3209
        cmp     eax,-80h
-
 
3210
        jae     short_jump
-
 
3211
        cmp     eax,80h
-
 
3212
        jae     jump_out_of_range
-
 
3213
      short_jump:
-
 
3214
        stc
-
 
3215
        ret
-
 
3216
      jump_out_of_range:
-
 
3217
        cmp     [error_line],0
-
 
3218
        jne     instruction_assembled
-
 
3219
        mov     eax,[current_line]
-
 
3220
        mov     [error_line],eax
-
 
3221
        mov     [error],relative_jump_out_of_range
-
 
3222
        jmp     instruction_assembled
-
 
3223
      jmp_far:
-
 
3224
        cmp     [jump_type],2
-
 
3225
        je      invalid_operand
3258
	cmp	[code_type],64
3226
        cmp     [code_type],64
3259
	je	illegal_instruction
3227
        je      illegal_instruction
3260
	mov	al,[extended_code]
3228
        mov     al,[extended_code]
3261
	mov	[base_code],al
3229
        mov     [base_code],al
3262
	call	get_word_value
3230
        call    get_word_value
Line 3301... Line 3269...
3301
	mov	eax,ebx
3269
        mov     eax,ebx
3302
	call	mark_relocation
3270
        call    mark_relocation
3303
	stos	dword [edi]
3271
        stos    dword [edi]
3304
	jmp	jmp_far_segment
3272
        jmp     jmp_far_segment
3305
 
3273
conditional_jump:
-
 
3274
        mov     [base_code],al
-
 
3275
        lods    byte [esi]
-
 
3276
        call    get_jump_operator
-
 
3277
        cmp     [jump_type],3
-
 
3278
        je      invalid_operand
-
 
3279
        call    get_size_operator
-
 
3280
        cmp     al,'('
-
 
3281
        jne     invalid_operand
-
 
3282
        cmp     byte [esi],'.'
-
 
3283
        je      invalid_value
-
 
3284
        mov     al,[operand_size]
-
 
3285
        cmp     al,2
-
 
3286
        je      conditional_jump_16bit
-
 
3287
        cmp     al,4
-
 
3288
        je      conditional_jump_32bit
-
 
3289
        cmp     al,8
-
 
3290
        je      conditional_jump_64bit
-
 
3291
        or      al,al
-
 
3292
        jnz     invalid_operand_size
-
 
3293
        cmp     [code_type],16
-
 
3294
        je      conditional_jump_16bit
-
 
3295
        cmp     [code_type],64
-
 
3296
        je      conditional_jump_64bit
-
 
3297
      conditional_jump_32bit:
-
 
3298
        cmp     [code_type],64
-
 
3299
        je      invalid_operand_size
-
 
3300
        call    get_dword_value
-
 
3301
        cmp     [code_type],16
-
 
3302
        jne     conditional_jump_32bit_prefix_ok
-
 
3303
        mov     byte [edi],66h
-
 
3304
        inc     edi
-
 
3305
      conditional_jump_32bit_prefix_ok:
-
 
3306
        call    calculate_jump_offset
-
 
3307
        cdq
-
 
3308
        call    check_for_short_jump
-
 
3309
        jc      conditional_jump_short
-
 
3310
      conditional_jump_32bit_store:
-
 
3311
        mov     edx,eax
-
 
3312
        sub     edx,4
-
 
3313
        mov     ah,[base_code]
-
 
3314
        add     ah,10h
-
 
3315
        mov     al,0Fh
-
 
3316
        stos    word [edi]
-
 
3317
        mov     eax,edx
-
 
3318
        call    mark_relocation
-
 
3319
        stos    dword [edi]
-
 
3320
        jmp     instruction_assembled
-
 
3321
      conditional_jump_64bit:
-
 
3322
        cmp     [code_type],64
-
 
3323
        jne     invalid_operand_size
-
 
3324
        call    get_qword_value
-
 
3325
        call    calculate_jump_offset
-
 
3326
        mov     ecx,edx
-
 
3327
        cdq
-
 
3328
        cmp     edx,ecx
-
 
3329
        jne     value_out_of_range
-
 
3330
        call    check_for_short_jump
-
 
3331
        jnc     conditional_jump_32bit_store
-
 
3332
      conditional_jump_short:
-
 
3333
        mov     ah,al
-
 
3334
        mov     al,[base_code]
-
 
3335
        stos    word [edi]
-
 
3336
        jmp     instruction_assembled
-
 
3337
      conditional_jump_16bit:
-
 
3338
        call    get_word_value
-
 
3339
        cmp     [code_type],16
-
 
3340
        je      conditional_jump_16bit_prefix_ok
-
 
3341
        mov     byte [edi],66h
-
 
3342
        inc     edi
-
 
3343
      conditional_jump_16bit_prefix_ok:
-
 
3344
        call    calculate_jump_offset
-
 
3345
        cwde
-
 
3346
        cdq
-
 
3347
        call    check_for_short_jump
-
 
3348
        jc      conditional_jump_short
-
 
3349
        cmp     [value_type],0
-
 
3350
        jne     invalid_use_of_symbol
-
 
3351
        mov     edx,eax
-
 
3352
        sub     edx,2
-
 
3353
        mov     ah,[base_code]
-
 
3354
        add     ah,10h
-
 
3355
        mov     al,0Fh
-
 
3356
        stos    word [edi]
-
 
3357
        mov     eax,edx
-
 
3358
        stos    word [edi]
-
 
3359
        jmp     instruction_assembled
-
 
3360
loop_instruction_16bit:
-
 
3361
        cmp     [code_type],64
-
 
3362
        je      illegal_instruction
-
 
3363
        mov     dl,al
-
 
3364
        call    address_16bit_prefix
-
 
3365
        mov     al,dl
-
 
3366
        jmp     loop_instruction
-
 
3367
loop_instruction_32bit:
-
 
3368
        mov     dl,al
-
 
3369
        call    address_32bit_prefix
-
 
3370
        mov     al,dl
-
 
3371
        jmp     loop_instruction
-
 
3372
loop_instruction_64bit:
-
 
3373
        cmp     [code_type],64
-
 
3374
        jne     illegal_instruction
-
 
3375
loop_instruction:
-
 
3376
        mov     [base_code],al
-
 
3377
        lods    byte [esi]
-
 
3378
        call    get_jump_operator
-
 
3379
        cmp     [jump_type],1
-
 
3380
        ja      invalid_operand
-
 
3381
        call    get_size_operator
-
 
3382
        cmp     al,'('
-
 
3383
        jne     invalid_operand
-
 
3384
        cmp     byte [esi],'.'
-
 
3385
        je      invalid_value
-
 
3386
        mov     al,[operand_size]
-
 
3387
        cmp     al,2
-
 
3388
        je      loop_jump_16bit
-
 
3389
        cmp     al,4
-
 
3390
        je      loop_jump_32bit
-
 
3391
        cmp     al,8
-
 
3392
        je      loop_jump_64bit
-
 
3393
        or      al,al
-
 
3394
        jnz     invalid_operand_size
-
 
3395
        cmp     [code_type],16
-
 
3396
        je      loop_jump_16bit
-
 
3397
        cmp     [code_type],64
-
 
3398
        je      loop_jump_64bit
-
 
3399
      loop_jump_32bit:
-
 
3400
        cmp     [code_type],64
-
 
3401
        je      invalid_operand_size
-
 
3402
        call    get_dword_value
-
 
3403
        cmp     [code_type],16
-
 
3404
        jne     loop_jump_32bit_prefix_ok
-
 
3405
        mov     byte [edi],66h
-
 
3406
        inc     edi
-
 
3407
      loop_jump_32bit_prefix_ok:
-
 
3408
        call    calculate_jump_offset
-
 
3409
        cdq
-
 
3410
      make_loop_jump:
-
 
3411
        call    check_for_short_jump
-
 
3412
        jc      conditional_jump_short
-
 
3413
        jmp     jump_out_of_range
-
 
3414
      loop_jump_64bit:
-
 
3415
        cmp     [code_type],64
-
 
3416
        jne     invalid_operand_size
-
 
3417
        call    get_qword_value
-
 
3418
        call    calculate_jump_offset
-
 
3419
        mov     ecx,edx
-
 
3420
        cdq
-
 
3421
        cmp     edx,ecx
-
 
3422
        jne     value_out_of_range
-
 
3423
        jmp     make_loop_jump
-
 
3424
      loop_jump_16bit:
-
 
3425
        call    get_word_value
-
 
3426
        cmp     [code_type],16
-
 
3427
        je      loop_jump_16bit_prefix_ok
-
 
3428
        mov     byte [edi],66h
-
 
3429
        inc     edi
-
 
3430
      loop_jump_16bit_prefix_ok:
-
 
3431
        call    calculate_jump_offset
-
 
3432
        cwde
-
 
3433
        cdq
-
 
3434
        jmp     make_loop_jump
-
 
3435
 
Line 3306... Line 3436...
3306
movs_instruction:
3436
movs_instruction:
3307
	lods	byte [esi]
3437
        lods    byte [esi]
3308
	call	get_size_operator
3438
        call    get_size_operator
3309
	cmp	al,'['
3439
        cmp     al,'['
Line 3735... Line 3865...
3735
	cmp	al,10
3865
        cmp     al,10
3736
	je	lgdt_mem_80bit
3866
        je      lgdt_mem_80bit
3737
	or	al,al
3867
        or      al,al
3738
	jnz	invalid_operand_size
3868
        jnz     invalid_operand_size
3739
	cmp	[code_type],64
3869
        jmp     lgdt_mem_store
-
 
3870
      lgdt_mem_80bit:
-
 
3871
        cmp     [code_type],64
3740
	je	lgdt_mem_80bit
3872
        jne     illegal_instruction
-
 
3873
        jmp     lgdt_mem_store
3741
      lgdt_mem_48bit:
3874
      lgdt_mem_48bit:
3742
	cmp	[code_type],64
3875
        cmp     [code_type],64
3743
	je	illegal_instruction
3876
        je      illegal_instruction
3744
	call	store_instruction
3877
        cmp     [postbyte_register],2
3745
	jmp	instruction_assembled
-
 
3746
      lgdt_mem_80bit:
3878
        jb      lgdt_mem_store
3747
	cmp	[code_type],64
3879
        call    operand_32bit
3748
	jne	illegal_instruction
3880
      lgdt_mem_store:
3749
	call	store_instruction
3881
        call    store_instruction
3750
	jmp	instruction_assembled
3882
        jmp     instruction_assembled
3751
lar_instruction:
3883
lar_instruction:
3752
	mov	[extended_code],al
3884
        mov     [extended_code],al
3753
	mov	[base_code],0Fh
3885
        mov     [base_code],0Fh
3754
	lods	byte [esi]
3886
        lods    byte [esi]
Line 3865... Line 3997...
3865
	cmp	al,10h
3997
        cmp     al,10h
3866
	jne	invalid_operand
3998
        jne     invalid_operand
3867
	lods	byte [esi]
3999
        lods    byte [esi]
3868
	call	convert_register
4000
        call    convert_register
3869
	add	al,0C8h
4001
        test    al,1000b
-
 
4002
        jz      bswap_reg_code_ok
-
 
4003
        or      [rex_prefix],41h
-
 
4004
        and     al,111b
-
 
4005
      bswap_reg_code_ok:
-
 
4006
        add     al,0C8h
3870
	mov	[extended_code],al
4007
        mov     [extended_code],al
3871
	mov	[base_code],0Fh
4008
        mov     [base_code],0Fh
3872
	cmp	ah,8
4009
        cmp     ah,8
3873
	je	bswap_reg64
4010
        je      bswap_reg64
3874
	cmp	ah,4
4011
        cmp     ah,4
Line 4649... Line 4786...
4649
	jae	movq_mmreg
4786
        jae     movq_mmreg
4650
	call	convert_register
4787
        call    convert_register
4651
	cmp	ah,8
4788
        cmp     ah,8
4652
	jne	invalid_operand_size
4789
        jne     invalid_operand_size
4653
	mov	[operand_size],0
4790
        mov     bl,al
4654
	mov	bl,al
-
 
4655
	lods	byte [esi]
4791
        lods    byte [esi]
4656
	cmp	al,','
4792
        cmp     al,','
4657
	jne	invalid_operand
4793
        jne     invalid_operand
4658
	lods	byte [esi]
4794
        lods    byte [esi]
4659
	call	get_size_operator
4795
        call    get_size_operator
Line 4670... Line 4806...
4670
     movq_mmreg:
4806
     movq_mmreg:
4671
	call	convert_mmx_register
4807
        call    convert_mmx_register
4672
	mov	[postbyte_register],al
4808
        mov     [postbyte_register],al
4673
	mov	[extended_code],6Fh
4809
        mov     [extended_code],6Fh
4674
	cmp	ah,16
4810
        mov     [mmx_size],ah
-
 
4811
        cmp     ah,16
4675
	jne	movq_mmreg_
4812
        jne     movq_mmreg_
4676
	mov	[extended_code],7Eh
4813
        mov     [extended_code],7Eh
4677
	mov	[operand_prefix],0F3h
4814
        mov     [operand_prefix],0F3h
4678
      movq_mmreg_:
4815
      movq_mmreg_:
4679
	lods	byte [esi]
4816
        lods    byte [esi]
4680
	cmp	al,','
4817
        cmp     al,','
4681
	jne	invalid_operand
4818
        jne     invalid_operand
4682
	mov	[operand_size],0
4819
        lods    byte [esi]
4683
	lods	byte [esi]
-
 
4684
	call	get_size_operator
4820
        call    get_size_operator
4685
	cmp	al,10h
4821
        cmp     al,10h
4686
	je	movq_mmreg_reg
4822
        je      movq_mmreg_reg
4687
	call	get_address
4823
        call    get_address
4688
	test	[operand_size],not 8
4824
        test    [operand_size],not 8
Line 4699... Line 4835...
4699
	jne	invalid_operand_size
4835
        jne     invalid_operand_size
4700
	mov	[extended_code],6Eh
4836
        mov     [extended_code],6Eh
4701
	mov	[operand_prefix],0
4837
        mov     [operand_prefix],0
4702
	mov	bl,al
4838
        mov     bl,al
4703
	call	make_mmx_prefix
4839
        cmp     [mmx_size],16
-
 
4840
        jne     movq_mmreg_reg_store
-
 
4841
        mov     [operand_prefix],66h
-
 
4842
      movq_mmreg_reg_store:
4704
	call	operand_64bit
4843
        call    operand_64bit
4705
	call	store_nomem_instruction
4844
        call    store_nomem_instruction
4706
	jmp	instruction_assembled
4845
        jmp     instruction_assembled
4707
      movq_mmreg_mmreg:
4846
      movq_mmreg_mmreg:
4708
	call	convert_mmx_register
4847
        call    convert_mmx_register
4709
	mov	bl,al
4848
        mov     bl,al
Line 5602... Line 5741...
5602
	cmp	al,'['
5741
        cmp     al,'['
5603
	jne	invalid_operand
5742
        jne     invalid_operand
5604
	call	get_address
5743
        call    get_address
5605
	jmp	vmread_check_size
5744
        jmp     vmread_check_size
5606
 
5745
simple_svm_instruction:
-
 
5746
        push    eax
-
 
5747
        mov     [base_code],0Fh
-
 
5748
        mov     [extended_code],1
-
 
5749
        lods    byte [esi]
-
 
5750
        call    get_size_operator
-
 
5751
        cmp     al,10h
-
 
5752
        jne     invalid_operand
-
 
5753
        lods    byte [esi]
-
 
5754
        call    convert_register
-
 
5755
        or      al,al
-
 
5756
        jnz     invalid_operand
-
 
5757
      simple_svm_detect_size:
-
 
5758
        cmp     ah,2
-
 
5759
        je      simple_svm_16bit
-
 
5760
        cmp     ah,4
-
 
5761
        je      simple_svm_32bit
-
 
5762
        cmp     [code_type],64
-
 
5763
        jne     invalid_operand_size
-
 
5764
        jmp     simple_svm_store
-
 
5765
      simple_svm_16bit:
-
 
5766
        cmp     [code_type],16
-
 
5767
        je      simple_svm_store
-
 
5768
        cmp     [code_type],64
-
 
5769
        je      invalid_operand_size
-
 
5770
        jmp     prefixed_svm_store
-
 
5771
      simple_svm_32bit:
-
 
5772
        cmp     [code_type],32
-
 
5773
        je      simple_svm_store
-
 
5774
      prefixed_svm_store:
-
 
5775
        mov     al,67h
-
 
5776
        stos    byte [edi]
-
 
5777
      simple_svm_store:
-
 
5778
        call    store_instruction_code
-
 
5779
        pop     eax
-
 
5780
        stos    byte [edi]
-
 
5781
        jmp     instruction_assembled
-
 
5782
skinit_instruction:
-
 
5783
        lods    byte [esi]
-
 
5784
        call    get_size_operator
-
 
5785
        cmp     al,10h
-
 
5786
        jne     invalid_operand
-
 
5787
        lods    byte [esi]
-
 
5788
        call    convert_register
-
 
5789
        cmp     ax,0400h
-
 
5790
        jne     invalid_operand
-
 
5791
        mov     al,0DEh
-
 
5792
        jmp     simple_vmx_instruction
-
 
5793
invlpga_instruction:
-
 
5794
        push    eax
-
 
5795
        mov     [base_code],0Fh
-
 
5796
        mov     [extended_code],1
-
 
5797
        lods    byte [esi]
-
 
5798
        call    get_size_operator
-
 
5799
        cmp     al,10h
-
 
5800
        jne     invalid_operand
-
 
5801
        lods    byte [esi]
-
 
5802
        call    convert_register
-
 
5803
        or      al,al
-
 
5804
        jnz     invalid_operand
-
 
5805
        mov     bl,ah
-
 
5806
        mov     [operand_size],0
-
 
5807
        lods    byte [esi]
-
 
5808
        cmp     al,','
-
 
5809
        jne     invalid_operand
-
 
5810
        lods    byte [esi]
-
 
5811
        call    get_size_operator
-
 
5812
        cmp     al,10h
-
 
5813
        jne     invalid_operand
-
 
5814
        lods    byte [esi]
-
 
5815
        call    convert_register
-
 
5816
        cmp     ax,0401h
-
 
5817
        jne     invalid_operand
-
 
5818
        mov     ah,bl
-
 
5819
        jmp     simple_svm_detect_size
-
 
5820
 
Line 5607... Line 5821...
5607
convert_register:
5821
convert_register:
5608
	mov	ah,al
5822
        mov     ah,al
5609
	shr	ah,4
5823
        shr     ah,4
5610
	and	al,0Fh
5824
        and     al,0Fh
Line 5714... Line 5928...
5714
	mov	[address_size],al
5928
        mov     [address_size],al
5715
	mov	[value_size],al
5929
        mov     [value_size],al
5716
      address_size_prefix_ok:
5930
      address_size_prefix_ok:
5717
	call	calculate_address
5931
        call    calculate_address
5718
	mov	[address_high],edx
5932
        cmp     byte [esi-1],']'
-
 
5933
        jne     invalid_address
-
 
5934
        mov     [address_high],edx
5719
	mov	edx,eax
5935
        mov     edx,eax
5720
	cmp	[code_type],64
5936
        cmp     [code_type],64
5721
	jne	address_ok
5937
        jne     address_ok
5722
	or	bx,bx
5938
        or      bx,bx
5723
	jnz	address_ok
5939
        jnz     address_ok
5724
	test	ch,0Fh
5940
        test    ch,0Fh
5725
	jnz	address_ok
5941
        jnz     address_ok
5726
      calculate_relative_address:
5942
      calculate_relative_address:
5727
	call	calculate_relative_offset
5943
        call    calculate_relative_offset
5728
	mov	[address_high],edx
5944
        cmp     byte [esi-1],']'
-
 
5945
        jne     invalid_address
-
 
5946
        mov     [address_high],edx
5729
	mov	edx,[symbol_identifier]
5947
        mov     edx,[symbol_identifier]
5730
	mov	[address_symbol],edx
5948
        mov     [address_symbol],edx
5731
	mov	edx,eax
5949
        mov     edx,eax
5732
	mov	ch,[value_type]
5950
        mov     ch,[value_type]
5733
	mov	bx,0FF00h
5951
        mov     bx,0FF00h
Line 5747... Line 5965...
5747
      size_prefix_ok:
5965
      size_prefix_ok:
5748
	ret
5966
        ret
5749
operand_64bit:
5967
operand_64bit:
5750
	cmp	[code_type],64
5968
        cmp     [code_type],64
5751
	jne	invalid_operand_size
5969
        jne     illegal_instruction
5752
	or	[rex_prefix],48h
5970
        or      [rex_prefix],48h
5753
	ret
5971
        ret
5754
operand_autodetect:
5972
operand_autodetect:
5755
	cmp	al,2
5973
        cmp     al,2
5756
	je	operand_16bit
5974
        je      operand_16bit
5757
	cmp	al,4
5975
        cmp     al,4
Line 5967... Line 6185...
5967
	stos	byte [edi]
6185
        stos    byte [edi]
5968
	ret
6186
        ret
5969
      postbyte_32bit:
6187
      postbyte_32bit:
5970
	call	address_32bit_prefix
6188
        call    address_32bit_prefix
5971
	call	store_instruction_code
6189
        jmp     address_prefix_ok
5972
	cmp	bl,44h
-
 
5973
	je	invalid_address
-
 
5974
	or	cl,cl
-
 
5975
	jz	only_base_register
-
 
5976
	jmp	base_and_index
6190
      postbyte_64bit:
5977
      postbyte_64bit:
-
 
5978
	cmp	[code_type],64
6191
        cmp     [code_type],64
5979
	jne	invalid_address_size
6192
        jne     invalid_address_size
5980
	test	bh,1000b
6193
      address_prefix_ok:
-
 
6194
        test    bh,1000b
5981
	jz	base_code_ok
6195
        jz      base_code_ok
5982
	or	[rex_prefix],41h
6196
        or      [rex_prefix],41h
5983
      base_code_ok:
6197
      base_code_ok:
5984
	test	bl,1000b
6198
        test    bl,1000b
5985
	jz	index_code_ok
6199
        jz      index_code_ok
5986
	or	[rex_prefix],42h
6200
        or      [rex_prefix],42h
5987
      index_code_ok:
6201
      index_code_ok:
5988
	call	store_instruction_code
6202
        call    store_instruction_code
5989
	or	cl,cl
6203
        cmp     bl,44h
-
 
6204
        je      swap_base_with_index
-
 
6205
        cmp     bl,84h
-
 
6206
        jne     base_register_ok
-
 
6207
      swap_base_with_index:
-
 
6208
        cmp     cl,1
-
 
6209
        jne     invalid_address
-
 
6210
        xchg    bl,bh
-
 
6211
        cmp     bl,44h
-
 
6212
        je      invalid_address
-
 
6213
        cmp     bl,84h
-
 
6214
        je      invalid_address
-
 
6215
      base_register_ok:
-
 
6216
        or      cl,cl
5990
	jz	only_base_register
6217
        jz      only_base_register
5991
      base_and_index:
6218
      base_and_index:
5992
	mov	al,100b
6219
        mov     al,100b
5993
	xor	ah,ah
6220
        xor     ah,ah
5994
	cmp	cl,1
6221
        cmp     cl,1
Line 6013... Line 6240...
6013
	and	bh,111b
6240
        and     bh,111b
6014
	or	ah,bh
6241
        or      ah,bh
6015
	test	ch,44h
6242
        test    ch,44h
6016
	jnz	sib_address_32bit_value
6243
        jnz     sib_address_32bit_value
6017
	or	ch,ch
6244
        test    ch,88h
-
 
6245
        jnz     sib_address_32bit_value
-
 
6246
        or      ch,ch
6018
	jnz	address_sizes_do_not_agree
6247
        jnz     address_sizes_do_not_agree
6019
	cmp	bh,5
6248
        cmp     bh,5
6020
	je	address_value
6249
        je      address_value
6021
	or	edx,edx
6250
        or      edx,edx
6022
	jz	sib_address
6251
        jz      sib_address
Line 6075... Line 6304...
6075
	cmp	al,4
6304
        cmp     al,4
6076
	je	zero_index_register
6305
        je      zero_index_register
6077
	test	ch,44h
6306
        test    ch,44h
6078
	jnz	simple_address_32bit_value
6307
        jnz     simple_address_32bit_value
6079
	or	ch,ch
6308
        test    ch,88h
-
 
6309
        jnz     simple_address_32bit_value
-
 
6310
        or      ch,ch
6080
	jnz	address_sizes_do_not_agree
6311
        jnz     address_sizes_do_not_agree
6081
	or	edx,edx
6312
        or      edx,edx
6082
	jz	simple_address
6313
        jz      simple_address
6083
	cmp	edx,80h
6314
        cmp     edx,80h
6084
	jb	simple_address_8bit_value
6315
        jb      simple_address_8bit_value
Line 6164... Line 6395...
6164
	ret
6395
        ret
6165
      address_immediate_sib:
6396
      address_immediate_sib:
6166
	test	ch,not 44h
6397
        test    ch,not 44h
6167
	jnz	invalid_address_size
6398
        jnz     invalid_address_size
6168
	call	address_32bit_prefix
6399
        cmp     [value_type],0
-
 
6400
        jne     address_immediate_sib_nosignextend
-
 
6401
        test    edx,80000000h
-
 
6402
        jz      address_immediate_sib_prefix_ok
-
 
6403
      address_immediate_sib_nosignextend:
-
 
6404
        call    address_32bit_prefix
6169
	call	store_instruction_code
6405
      address_immediate_sib_prefix_ok:
-
 
6406
        call    store_instruction_code
6170
	mov	al,100b
6407
        mov     al,100b
6171
	mov	ah,100101b
6408
        mov     ah,100101b
6172
	mov	cl,[postbyte_register]
6409
        mov     cl,[postbyte_register]
6173
	shl	cl,3
6410
        shl     cl,3
6174
	or	al,cl
6411
        or      al,cl
Line 6254... Line 6491...
6254
	mov	eax,dword [value]
6491
        mov     eax,dword [value]
6255
	call	mark_relocation
6492
        call    mark_relocation
6256
	stos	dword [edi]
6493
        stos    dword [edi]
6257
	ret
6494
        ret
6258
 
6495
6259
address_registers:
-
 
6260
 db 2,'bp',0,25h
-
 
6261
 db 2,'bx',0,23h
-
 
6262
 db 2,'di',0,27h
-
 
6263
 db 3,'eax',0,40h
-
 
6264
 db 3,'ebp',0,45h
-
 
6265
 db 3,'ebx',0,43h
-
 
6266
 db 3,'ecx',0,41h
-
 
6267
 db 3,'edi',0,47h
-
 
6268
 db 3,'edx',0,42h
-
 
6269
 db 3,'esi',0,46h
-
 
6270
 db 3,'esp',0,44h
-
 
6271
 db 3,'r10',10h,8Ah
-
 
6272
 db 3,'r11',10h,8Bh
-
 
6273
 db 3,'r12',10h,8Ch
-
 
6274
 db 3,'r13',10h,8Dh
-
 
6275
 db 3,'r14',10h,8Eh
-
 
6276
 db 3,'r15',10h,8Fh
-
 
6277
 db 2,'r8',10h,88h
-
 
6278
 db 2,'r9',10h,89h
-
 
6279
 db 3,'rax',0,80h
-
 
6280
 db 3,'rbp',0,85h
-
 
6281
 db 3,'rbx',0,83h
-
 
6282
 db 3,'rcx',0,81h
-
 
6283
 db 3,'rdi',0,87h
-
 
6284
 db 3,'rdx',0,82h
-
 
6285
 db 3,'rip',0,0F0h
-
 
6286
 db 3,'rsi',0,86h
-
 
6287
 db 3,'rsp',0,84h
-
 
6288
 db 2,'si',0,26h
-
 
6289
 db 0
-
 
6290
 
-
 
6291
address_sizes:
-
 
6292
 db 4,'byte',0,1
-
 
6293
 db 5,'dword',0,4
-
 
6294
 db 5,'qword',0,8
-
 
6295
 db 4,'word',0,2
-
 
6296
 db 0
-
 
6297
 
-
 
6298
symbols:
-
 
6299
 db 2,'ah',10h,04h
-
 
6300
 db 2,'al',10h,10h
-
 
6301
 db 2,'ax',10h,20h
-
 
6302
 db 2,'bh',10h,07h
-
 
6303
 db 2,'bl',10h,13h
-
 
6304
 db 2,'bp',10h,25h
-
 
6305
 db 3,'bpl',10h,15h
-
 
6306
 db 2,'bx',10h,23h
-
 
6307
 db 4,'byte',11h,1
-
 
6308
 db 2,'ch',10h,05h
-
 
6309
 db 2,'cl',10h,11h
-
 
6310
 db 3,'cr0',10h,50h
-
 
6311
 db 3,'cr1',10h,51h
-
 
6312
 db 3,'cr2',10h,52h
-
 
6313
 db 3,'cr3',10h,53h
-
 
6314
 db 3,'cr4',10h,54h
-
 
6315
 db 3,'cr5',10h,55h
-
 
6316
 db 3,'cr6',10h,56h
-
 
6317
 db 3,'cr7',10h,57h
-
 
6318
 db 3,'cr8',10h,58h
-
 
6319
 db 3,'cr9',10h,59h
-
 
6320
 db 4,'cr10',10h,5Ah
-
 
6321
 db 4,'cr11',10h,5Bh
-
 
6322
 db 4,'cr12',10h,5Ch
-
 
6323
 db 4,'cr13',10h,5Dh
-
 
6324
 db 4,'cr14',10h,5Eh
-
 
6325
 db 4,'cr15',10h,5Fh
-
 
6326
 db 2,'cs',10h,62h
-
 
6327
 db 2,'cx',10h,21h
-
 
6328
 db 2,'dh',10h,06h
-
 
6329
 db 2,'di',10h,27h
-
 
6330
 db 3,'dil',10h,17h
-
 
6331
 db 2,'dl',10h,12h
-
 
6332
 db 6,'dqword',11h,16
-
 
6333
 db 3,'dr0',10h,70h
-
 
6334
 db 3,'dr1',10h,71h
-
 
6335
 db 3,'dr2',10h,72h
-
 
6336
 db 3,'dr3',10h,73h
-
 
6337
 db 3,'dr4',10h,74h
-
 
6338
 db 3,'dr5',10h,75h
-
 
6339
 db 3,'dr6',10h,76h
-
 
6340
 db 3,'dr7',10h,77h
-
 
6341
 db 3,'dr8',10h,78h
-
 
6342
 db 3,'dr9',10h,79h
-
 
6343
 db 4,'dr10',10h,7Ah
-
 
6344
 db 4,'dr11',10h,7Bh
-
 
6345
 db 4,'dr12',10h,7Ch
-
 
6346
 db 4,'dr13',10h,7Dh
-
 
6347
 db 4,'dr14',10h,7Eh
-
 
6348
 db 4,'dr15',10h,7Fh
-
 
6349
 db 2,'ds',10h,64h
-
 
6350
 db 5,'dword',11h,4
-
 
6351
 db 2,'dx',10h,22h
-
 
6352
 db 3,'eax',10h,40h
-
 
6353
 db 3,'ebp',10h,45h
-
 
6354
 db 3,'ebx',10h,43h
-
 
6355
 db 3,'ecx',10h,41h
-
 
6356
 db 3,'edi',10h,47h
-
 
6357
 db 3,'edx',10h,42h
-
 
6358
 db 2,'es',10h,61h
-
 
6359
 db 3,'esi',10h,46h
-
 
6360
 db 3,'esp',10h,44h
-
 
6361
 db 3,'far',12h,2
-
 
6362
 db 2,'fs',10h,65h
-
 
6363
 db 5,'fword',11h,6
-
 
6364
 db 2,'gs',10h,66h
-
 
6365
 db 3,'mm0',10h,0B0h
-
 
6366
 db 3,'mm1',10h,0B1h
-
 
6367
 db 3,'mm2',10h,0B2h
-
 
6368
 db 3,'mm3',10h,0B3h
-
 
6369
 db 3,'mm4',10h,0B4h
-
 
6370
 db 3,'mm5',10h,0B5h
-
 
6371
 db 3,'mm6',10h,0B6h
-
 
6372
 db 3,'mm7',10h,0B7h
-
 
6373
 db 4,'near',12h,1
-
 
6374
 db 5,'pword',11h,6
-
 
6375
 db 5,'qword',11h,8
-
 
6376
 db 3,'r10',10h,8Ah
-
 
6377
 db 4,'r10b',10h,1Ah
-
 
6378
 db 4,'r10d',10h,4Ah
-
 
6379
 db 4,'r10w',10h,2Ah
-
 
6380
 db 3,'r11',10h,8Bh
-
 
6381
 db 4,'r11b',10h,1Bh
-
 
6382
 db 4,'r11d',10h,4Bh
-
 
6383
 db 4,'r11w',10h,2Bh
-
 
6384
 db 3,'r12',10h,8Ch
-
 
6385
 db 4,'r12b',10h,1Ch
-
 
6386
 db 4,'r12d',10h,4Ch
-
 
6387
 db 4,'r12w',10h,2Ch
-
 
6388
 db 3,'r13',10h,8Dh
-
 
6389
 db 4,'r13b',10h,1Dh
-
 
6390
 db 4,'r13d',10h,4Dh
-
 
6391
 db 4,'r13w',10h,2Dh
-
 
6392
 db 3,'r14',10h,8Eh
-
 
6393
 db 4,'r14b',10h,1Eh
-
 
6394
 db 4,'r14d',10h,4Eh
-
 
6395
 db 4,'r14w',10h,2Eh
-
 
6396
 db 3,'r15',10h,8Fh
-
 
6397
 db 4,'r15b',10h,1Fh
-
 
6398
 db 4,'r15d',10h,4Fh
-
 
6399
 db 4,'r15w',10h,2Fh
-
 
6400
 db 2,'r8',10h,88h
-
 
6401
 db 3,'r8b',10h,18h
-
 
6402
 db 3,'r8d',10h,48h
-
 
6403
 db 3,'r8w',10h,28h
-
 
6404
 db 2,'r9',10h,89h
-
 
6405
 db 3,'r9b',10h,19h
-
 
6406
 db 3,'r9d',10h,49h
-
 
6407
 db 3,'r9w',10h,29h
-
 
6408
 db 3,'rax',10h,80h
-
 
6409
 db 3,'rbp',10h,85h
-
 
6410
 db 3,'rbx',10h,83h
-
 
6411
 db 3,'rcx',10h,81h
-
 
6412
 db 3,'rdi',10h,87h
-
 
6413
 db 3,'rdx',10h,82h
-
 
6414
 db 3,'rsi',10h,86h
-
 
6415
 db 3,'rsp',10h,84h
-
 
6416
 db 2,'si',10h,26h
-
 
6417
 db 3,'sil',10h,16h
-
 
6418
 db 2,'sp',10h,24h
-
 
6419
 db 3,'spl',10h,14h
-
 
6420
 db 2,'ss',10h,63h
-
 
6421
 db 2,'st',10h,0A0h
-
 
6422
 db 3,'st0',10h,0A0h
-
 
6423
 db 3,'st1',10h,0A1h
-
 
6424
 db 3,'st2',10h,0A2h
-
 
6425
 db 3,'st3',10h,0A3h
-
 
6426
 db 3,'st4',10h,0A4h
-
 
6427
 db 3,'st5',10h,0A5h
-
 
6428
 db 3,'st6',10h,0A6h
-
 
6429
 db 3,'st7',10h,0A7h
-
 
6430
 db 5,'tbyte',11h,0Ah
-
 
6431
 db 3,'tr0',10h,90h
-
 
6432
 db 3,'tr1',10h,91h
-
 
6433
 db 3,'tr2',10h,92h
-
 
6434
 db 3,'tr3',10h,93h
-
 
6435
 db 3,'tr4',10h,94h
-
 
6436
 db 3,'tr5',10h,95h
-
 
6437
 db 3,'tr6',10h,96h
-
 
6438
 db 3,'tr7',10h,97h
-
 
6439
 db 5,'tword',11h,0Ah
-
 
6440
 db 5,'use16',13h,16
-
 
6441
 db 5,'use32',13h,32
-
 
6442
 db 5,'use64',13h,64
-
 
6443
 db 4,'word',11h,2
-
 
6444
 db 4,'xmm0',10h,0C0h
-
 
6445
 db 4,'xmm1',10h,0C1h
-
 
6446
 db 5,'xmm10',10h,0CAh
-
 
6447
 db 5,'xmm11',10h,0CBh
-
 
6448
 db 5,'xmm12',10h,0CCh
-
 
6449
 db 5,'xmm13',10h,0CDh
-
 
6450
 db 5,'xmm14',10h,0CEh
-
 
6451
 db 5,'xmm15',10h,0CFh
-
 
6452
 db 4,'xmm2',10h,0C2h
-
 
6453
 db 4,'xmm3',10h,0C3h
-
 
6454
 db 4,'xmm4',10h,0C4h
-
 
6455
 db 4,'xmm5',10h,0C5h
-
 
6456
 db 4,'xmm6',10h,0C6h
-
 
6457
 db 4,'xmm7',10h,0C7h
-
 
6458
 db 4,'xmm8',10h,0C8h
-
 
6459
 db 4,'xmm9',10h,0C9h
-
 
6460
 db 0
-
 
6461
 
-
 
6462
data_handlers:
-
 
6463
 dw data_bytes-assembler
-
 
6464
 dw data_file-assembler
-
 
6465
 dw reserve_bytes-assembler
-
 
6466
 dw data_words-assembler
-
 
6467
 dw data_unicode-assembler
-
 
6468
 dw reserve_words-assembler
-
 
6469
 dw data_dwords-assembler
-
 
6470
 dw reserve_dwords-assembler
-
 
6471
 dw data_pwords-assembler
-
 
6472
 dw reserve_pwords-assembler
-
 
6473
 dw data_qwords-assembler
-
 
6474
 dw reserve_qwords-assembler
-
 
6475
 dw data_twords-assembler
-
 
6476
 dw reserve_twords-assembler
-
 
6477
 
-
 
6478
data_directives:
-
 
6479
 db 2,'db',1,0
-
 
6480
 db 2,'dd',4,6
-
 
6481
 db 2,'df',6,8
-
 
6482
 db 2,'dp',6,8
-
 
6483
 db 2,'dq',8,10
-
 
6484
 db 2,'dt',10,12
-
 
6485
 db 2,'du',2,4
-
 
6486
 db 2,'dw',2,3
-
 
6487
 db 4,'file',1,1
-
 
6488
 db 2,'rb',1,2
-
 
6489
 db 2,'rd',4,7
-
 
6490
 db 2,'rf',6,9
-
 
6491
 db 2,'rp',6,9
-
 
6492
 db 2,'rq',8,11
-
 
6493
 db 2,'rt',10,13
-
 
6494
 db 2,'rw',2,5
-
 
6495
 db 0
-
 
6496
 
-
 
6497
instructions:
-
 
6498
 dw instructions_2-instructions
-
 
6499
 dw instructions_3-instructions
-
 
6500
 dw instructions_4-instructions
-
 
6501
 dw instructions_5-instructions
-
 
6502
 dw instructions_6-instructions
-
 
6503
 dw instructions_7-instructions
-
 
6504
 dw instructions_8-instructions
-
 
6505
 dw instructions_9-instructions
-
 
6506
 dw instructions_10-instructions
-
 
6507
 dw instructions_11-instructions
-
 
6508
 
-
 
6509
instructions_2:
-
 
6510
 db 'bt',4
-
 
6511
 dw bt_instruction-assembler
-
 
6512
 db 'if',0
-
 
6513
 dw if_directive-assembler
-
 
6514
 db 'in',0
-
 
6515
 dw in_instruction-assembler
-
 
6516
 db 'ja',77h
-
 
6517
 dw conditional_jump-assembler
-
 
6518
 db 'jb',72h
-
 
6519
 dw conditional_jump-assembler
-
 
6520
 db 'jc',72h
-
 
6521
 dw conditional_jump-assembler
-
 
6522
 db 'je',74h
-
 
6523
 dw conditional_jump-assembler
-
 
6524
 db 'jg',7Fh
-
 
6525
 dw conditional_jump-assembler
-
 
6526
 db 'jl',7Ch
-
 
6527
 dw conditional_jump-assembler
-
 
6528
 db 'jo',70h
-
 
6529
 dw conditional_jump-assembler
-
 
6530
 db 'jp',7Ah
-
 
6531
 dw conditional_jump-assembler
-
 
6532
 db 'js',78h
-
 
6533
 dw conditional_jump-assembler
-
 
6534
 db 'jz',74h
-
 
6535
 dw conditional_jump-assembler
-
 
6536
 db 'or',08h
-
 
6537
 dw basic_instruction-assembler
-
 
6538
 db 0
-
 
6539
instructions_3:
-
 
6540
 db 'aaa',37h
-
 
6541
 dw simple_instruction_except64-assembler
-
 
6542
 db 'aad',0D5h
-
 
6543
 dw aa_instruction-assembler
-
 
6544
 db 'aam',0D4h
-
 
6545
 dw aa_instruction-assembler
-
 
6546
 db 'aas',3Fh
-
 
6547
 dw simple_instruction_except64-assembler
-
 
6548
 db 'adc',10h
-
 
6549
 dw basic_instruction-assembler
-
 
6550
 db 'add',00h
-
 
6551
 dw basic_instruction-assembler
-
 
6552
 db 'and',20h
-
 
6553
 dw basic_instruction-assembler
-
 
6554
 db 'bsf',0BCh
-
 
6555
 dw bs_instruction-assembler
-
 
6556
 db 'bsr',0BDh
-
 
6557
 dw bs_instruction-assembler
-
 
6558
 db 'btc',7
-
 
6559
 dw bt_instruction-assembler
-
 
6560
 db 'btr',6
-
 
6561
 dw bt_instruction-assembler
-
 
6562
 db 'bts',5
-
 
6563
 dw bt_instruction-assembler
-
 
6564
 db 'cbw',98h
-
 
6565
 dw simple_instruction_16bit-assembler
-
 
6566
 db 'cdq',99h
-
 
6567
 dw simple_instruction_32bit-assembler
-
 
6568
 db 'clc',0F8h
-
 
6569
 dw simple_instruction-assembler
-
 
6570
 db 'cld',0FCh
-
 
6571
 dw simple_instruction-assembler
-
 
6572
 db 'cli',0FAh
-
 
6573
 dw simple_instruction-assembler
-
 
6574
 db 'cmc',0F5h
-
 
6575
 dw simple_instruction-assembler
-
 
6576
 db 'cmp',38h
-
 
6577
 dw basic_instruction-assembler
-
 
6578
 db 'cqo',99h
-
 
6579
 dw simple_instruction_64bit-assembler
-
 
6580
 db 'cwd',99h
-
 
6581
 dw simple_instruction_16bit-assembler
-
 
6582
 db 'daa',27h
-
 
6583
 dw simple_instruction_except64-assembler
-
 
6584
 db 'das',2Fh
-
 
6585
 dw simple_instruction_except64-assembler
-
 
6586
 db 'dec',1
-
 
6587
 dw inc_instruction-assembler
-
 
6588
 db 'div',6
-
 
6589
 dw single_operand_instruction-assembler
-
 
6590
 db 'end',0
-
 
6591
 dw end_directive-assembler
-
 
6592
 db 'fld',0
-
 
6593
 dw fld_instruction-assembler
-
 
6594
 db 'fst',2
-
 
6595
 dw fld_instruction-assembler
-
 
6596
 db 'hlt',0F4h
-
 
6597
 dw simple_instruction-assembler
-
 
6598
 db 'inc',0
-
 
6599
 dw inc_instruction-assembler
-
 
6600
 db 'ins',6Ch
-
 
6601
 dw ins_instruction-assembler
-
 
6602
 db 'int',0CDh
-
 
6603
 dw int_instruction-assembler
-
 
6604
 db 'jae',73h
-
 
6605
 dw conditional_jump-assembler
-
 
6606
 db 'jbe',76h
-
 
6607
 dw conditional_jump-assembler
-
 
6608
 db 'jge',7Dh
-
 
6609
 dw conditional_jump-assembler
-
 
6610
 db 'jle',7Eh
-
 
6611
 dw conditional_jump-assembler
-
 
6612
 db 'jmp',0
-
 
6613
 dw jmp_instruction-assembler
-
 
6614
 db 'jna',76h
-
 
6615
 dw conditional_jump-assembler
-
 
6616
 db 'jnb',73h
-
 
6617
 dw conditional_jump-assembler
-
 
6618
 db 'jnc',73h
-
 
6619
 dw conditional_jump-assembler
-
 
6620
 db 'jne',75h
-
 
6621
 dw conditional_jump-assembler
-
 
6622
 db 'jng',7Eh
-
 
6623
 dw conditional_jump-assembler
-
 
6624
 db 'jnl',7Dh
-
 
6625
 dw conditional_jump-assembler
-
 
6626
 db 'jno',71h
-
 
6627
 dw conditional_jump-assembler
-
 
6628
 db 'jnp',7Bh
-
 
6629
 dw conditional_jump-assembler
-
 
6630
 db 'jns',79h
-
 
6631
 dw conditional_jump-assembler
-
 
6632
 db 'jnz',75h
-
 
6633
 dw conditional_jump-assembler
-
 
6634
 db 'jpe',7Ah
-
 
6635
 dw conditional_jump-assembler
-
 
6636
 db 'jpo',7Bh
-
 
6637
 dw conditional_jump-assembler
-
 
6638
 db 'lar',2
-
 
6639
 dw lar_instruction-assembler
-
 
6640
 db 'lds',3
-
 
6641
 dw ls_instruction-assembler
-
 
6642
 db 'lea',0
-
 
6643
 dw lea_instruction-assembler
-
 
6644
 db 'les',0
-
 
6645
 dw ls_instruction-assembler
-
 
6646
 db 'lfs',4
-
 
6647
 dw ls_instruction-assembler
-
 
6648
 db 'lgs',5
-
 
6649
 dw ls_instruction-assembler
-
 
6650
 db 'lsl',3
-
 
6651
 dw lar_instruction-assembler
-
 
6652
 db 'lss',2
-
 
6653
 dw ls_instruction-assembler
-
 
6654
 db 'ltr',3
-
 
6655
 dw pm_word_instruction-assembler
-
 
6656
 db 'mov',0
-
 
6657
 dw mov_instruction-assembler
-
 
6658
 db 'mul',4
-
 
6659
 dw single_operand_instruction-assembler
-
 
6660
 db 'neg',3
-
 
6661
 dw single_operand_instruction-assembler
-
 
6662
 db 'nop',90h
-
 
6663
 dw simple_instruction-assembler
-
 
6664
 db 'not',2
-
 
6665
 dw single_operand_instruction-assembler
-
 
6666
 db 'org',0
-
 
6667
 dw org_directive-assembler
-
 
6668
 db 'out',0
-
 
6669
 dw out_instruction-assembler
-
 
6670
 db 'pop',0
-
 
6671
 dw pop_instruction-assembler
-
 
6672
 db 'por',0EBh
-
 
6673
 dw mmx_instruction-assembler
-
 
6674
 db 'rcl',2
-
 
6675
 dw sh_instruction-assembler
-
 
6676
 db 'rcr',3
-
 
6677
 dw sh_instruction-assembler
-
 
6678
 db 'rep',0F3h
-
 
6679
 dw prefix_instruction-assembler
-
 
6680
 db 'ret',0C2h
-
 
6681
 dw ret_instruction-assembler
-
 
6682
 db 'rol',0
-
 
6683
 dw sh_instruction-assembler
-
 
6684
 db 'ror',1
-
 
6685
 dw sh_instruction-assembler
-
 
6686
 db 'rsm',0AAh
-
 
6687
 dw simple_extended_instruction-assembler
-
 
6688
 db 'sal',4
-
 
6689
 dw sh_instruction-assembler
-
 
6690
 db 'sar',7
-
 
6691
 dw sh_instruction-assembler
-
 
6692
 db 'sbb',18h
-
 
6693
 dw basic_instruction-assembler
-
 
6694
 db 'shl',4
-
 
6695
 dw sh_instruction-assembler
-
 
6696
 db 'shr',5
-
 
6697
 dw sh_instruction-assembler
-
 
6698
 db 'stc',0F9h
-
 
6699
 dw simple_instruction-assembler
-
 
6700
 db 'std',0FDh
-
 
6701
 dw simple_instruction-assembler
-
 
6702
 db 'sti',0FBh
-
 
6703
 dw simple_instruction-assembler
-
 
6704
 db 'str',1
-
 
6705
 dw pm_store_word_instruction-assembler
-
 
6706
 db 'sub',28h
-
 
6707
 dw basic_instruction-assembler
-
 
6708
 db 'ud2',0Bh
-
 
6709
 dw simple_extended_instruction-assembler
-
 
6710
 db 'xor',30h
-
 
6711
 dw basic_instruction-assembler
-
 
6712
 db 0
-
 
6713
instructions_4:
-
 
6714
 db 'arpl',0
-
 
6715
 dw arpl_instruction-assembler
-
 
6716
 db 'call',0
-
 
6717
 dw call_instruction-assembler
-
 
6718
 db 'cdqe',98h
-
 
6719
 dw simple_instruction_64bit-assembler
-
 
6720
 db 'clts',6
-
 
6721
 dw simple_extended_instruction-assembler
-
 
6722
 db 'cmps',0A6h
-
 
6723
 dw cmps_instruction-assembler
-
 
6724
 db 'cwde',98h
-
 
6725
 dw simple_instruction_32bit-assembler
-
 
6726
 db 'data',0
-
 
6727
 dw data_directive-assembler
-
 
6728
 db 'else',0
-
 
6729
 dw else_directive-assembler
-
 
6730
 db 'emms',77h
-
 
6731
 dw simple_extended_instruction-assembler
-
 
6732
 db 'fabs',100001b
-
 
6733
 dw simple_fpu_instruction-assembler
-
 
6734
 db 'fadd',0
-
 
6735
 dw basic_fpu_instruction-assembler
-
 
6736
 db 'fbld',4
-
 
6737
 dw fbld_instruction-assembler
-
 
6738
 db 'fchs',100000b
-
 
6739
 dw simple_fpu_instruction-assembler
-
 
6740
 db 'fcom',2
-
 
6741
 dw basic_fpu_instruction-assembler
-
 
6742
 db 'fcos',111111b
-
 
6743
 dw simple_fpu_instruction-assembler
-
 
6744
 db 'fdiv',6
-
 
6745
 dw basic_fpu_instruction-assembler
-
 
6746
 db 'feni',0E0h
-
 
6747
 dw finit_instruction-assembler
-
 
6748
 db 'fild',0
-
 
6749
 dw fild_instruction-assembler
-
 
6750
 db 'fist',2
-
 
6751
 dw fild_instruction-assembler
-
 
6752
 db 'fld1',101000b
-
 
6753
 dw simple_fpu_instruction-assembler
-
 
6754
 db 'fldz',101110b
-
 
6755
 dw simple_fpu_instruction-assembler
-
 
6756
 db 'fmul',1
-
 
6757
 dw basic_fpu_instruction-assembler
-
 
6758
 db 'fnop',010000b
-
 
6759
 dw simple_fpu_instruction-assembler
-
 
6760
 db 'fsin',111110b
-
 
6761
 dw simple_fpu_instruction-assembler
-
 
6762
 db 'fstp',3
-
 
6763
 dw fld_instruction-assembler
-
 
6764
 db 'fsub',4
-
 
6765
 dw basic_fpu_instruction-assembler
-
 
6766
 db 'ftst',100100b
-
 
6767
 dw simple_fpu_instruction-assembler
-
 
6768
 db 'fxam',100101b
-
 
6769
 dw simple_fpu_instruction-assembler
-
 
6770
 db 'fxch',0
-
 
6771
 dw fxch_instruction-assembler
-
 
6772
 db 'heap',0
-
 
6773
 dw heap_directive-assembler
-
 
6774
 db 'idiv',7
-
 
6775
 dw single_operand_instruction-assembler
-
 
6776
 db 'imul',0
-
 
6777
 dw imul_instruction-assembler
-
 
6778
 db 'insb',6Ch
-
 
6779
 dw simple_instruction-assembler
-
 
6780
 db 'insd',6Dh
-
 
6781
 dw simple_instruction_32bit-assembler
-
 
6782
 db 'insw',6Dh
-
 
6783
 dw simple_instruction_16bit-assembler
-
 
6784
 db 'int1',0F1h
-
 
6785
 dw simple_instruction-assembler
-
 
6786
 db 'int3',0CCh
-
 
6787
 dw simple_instruction-assembler
-
 
6788
 db 'into',0CEh
-
 
6789
 dw simple_instruction_except64-assembler
-
 
6790
 db 'invd',8
-
 
6791
 dw simple_extended_instruction-assembler
-
 
6792
 db 'iret',0CFh
-
 
6793
 dw iret_instruction-assembler
-
 
6794
 db 'jcxz',0E3h
-
 
6795
 dw loop_instruction_16bit-assembler
-
 
6796
 db 'jnae',72h
-
 
6797
 dw conditional_jump-assembler
-
 
6798
 db 'jnbe',77h
-
 
6799
 dw conditional_jump-assembler
-
 
6800
 db 'jnge',7Ch
-
 
6801
 dw conditional_jump-assembler
-
 
6802
 db 'jnle',7Fh
-
 
6803
 dw conditional_jump-assembler
-
 
6804
 db 'lahf',9Fh
-
 
6805
 dw simple_instruction_except64-assembler
-
 
6806
 db 'lgdt',2
-
 
6807
 dw lgdt_instruction-assembler
-
 
6808
 db 'lidt',3
-
 
6809
 dw lgdt_instruction-assembler
-
 
6810
 db 'lldt',2
-
 
6811
 dw pm_word_instruction-assembler
-
 
6812
 db 'lmsw',16h
-
 
6813
 dw pm_word_instruction-assembler
-
 
6814
 db 'load',0
-
 
6815
 dw load_directive-assembler
-
 
6816
 db 'lock',0F0h
-
 
6817
 dw prefix_instruction-assembler
-
 
6818
 db 'lods',0ACh
-
 
6819
 dw lods_instruction-assembler
-
 
6820
 db 'loop',0E2h
-
 
6821
 dw loop_instruction-assembler
-
 
6822
 db 'movd',0
-
 
6823
 dw movd_instruction-assembler
-
 
6824
 db 'movq',0
-
 
6825
 dw movq_instruction-assembler
-
 
6826
 db 'movs',0A4h
-
 
6827
 dw movs_instruction-assembler
-
 
6828
 db 'orpd',56h
-
 
6829
 dw sse_pd_instruction-assembler
-
 
6830
 db 'orps',56h
-
 
6831
 dw sse_ps_instruction-assembler
-
 
6832
 db 'outs',6Eh
-
 
6833
 dw outs_instruction-assembler
-
 
6834
 db 'pand',0DBh
-
 
6835
 dw mmx_instruction-assembler
-
 
6836
 db 'popa',61h
-
 
6837
 dw simple_instruction_except64-assembler
-
 
6838
 db 'popd',4
-
 
6839
 dw pop_instruction-assembler
-
 
6840
 db 'popf',9Dh
-
 
6841
 dw simple_instruction-assembler
-
 
6842
 db 'popq',8
-
 
6843
 dw pop_instruction-assembler
-
 
6844
 db 'popw',2
-
 
6845
 dw pop_instruction-assembler
-
 
6846
 db 'push',0
-
 
6847
 dw push_instruction-assembler
-
 
6848
 db 'pxor',0EFh
-
 
6849
 dw mmx_instruction-assembler
-
 
6850
 db 'repe',0F3h
-
 
6851
 dw prefix_instruction-assembler
-
 
6852
 db 'repz',0F3h
-
 
6853
 dw prefix_instruction-assembler
-
 
6854
 db 'retd',0C2h
-
 
6855
 dw ret_instruction_32bit_except64-assembler
-
 
6856
 db 'retf',0CAh
-
 
6857
 dw retf_instruction-assembler
-
 
6858
 db 'retn',0C2h
-
 
6859
 dw ret_instruction-assembler
-
 
6860
 db 'retq',0C2h
-
 
6861
 dw ret_instruction_only64-assembler
-
 
6862
 db 'retw',0C2h
-
 
6863
 dw ret_instruction_16bit-assembler
-
 
6864
 db 'sahf',9Eh
-
 
6865
 dw simple_instruction_except64-assembler
-
 
6866
 db 'salc',0D6h
-
 
6867
 dw simple_instruction_except64-assembler
-
 
6868
 db 'scas',0AEh
-
 
6869
 dw stos_instruction-assembler
-
 
6870
 db 'seta',97h
-
 
6871
 dw set_instruction-assembler
-
 
6872
 db 'setb',92h
-
 
6873
 dw set_instruction-assembler
-
 
6874
 db 'setc',92h
-
 
6875
 dw set_instruction-assembler
-
 
6876
 db 'sete',94h
-
 
6877
 dw set_instruction-assembler
-
 
6878
 db 'setg',9Fh
-
 
6879
 dw set_instruction-assembler
-
 
6880
 db 'setl',9Ch
-
 
6881
 dw set_instruction-assembler
-
 
6882
 db 'seto',90h
-
 
6883
 dw set_instruction-assembler
-
 
6884
 db 'setp',9Ah
-
 
6885
 dw set_instruction-assembler
-
 
6886
 db 'sets',98h
-
 
6887
 dw set_instruction-assembler
-
 
6888
 db 'setz',94h
-
 
6889
 dw set_instruction-assembler
-
 
6890
 db 'sgdt',0
-
 
6891
 dw lgdt_instruction-assembler
-
 
6892
 db 'shld',0A4h
-
 
6893
 dw shd_instruction-assembler
-
 
6894
 db 'shrd',0ACh
-
 
6895
 dw shd_instruction-assembler
-
 
6896
 db 'sidt',1
-
 
6897
 dw lgdt_instruction-assembler
-
 
6898
 db 'sldt',0
-
 
6899
 dw pm_store_word_instruction-assembler
-
 
6900
 db 'smsw',14h
-
 
6901
 dw pm_store_word_instruction-assembler
-
 
6902
 db 'stos',0AAh
-
 
6903
 dw stos_instruction-assembler
-
 
6904
 db 'test',0
-
 
6905
 dw test_instruction-assembler
-
 
6906
 db 'verr',4
-
 
6907
 dw pm_word_instruction-assembler
-
 
6908
 db 'verw',5
-
 
6909
 dw pm_word_instruction-assembler
-
 
6910
 db 'wait',9Bh
-
 
6911
 dw simple_instruction-assembler
-
 
6912
 db 'xadd',0C0h
-
 
6913
 dw basic_486_instruction-assembler
-
 
6914
 db 'xchg',0
-
 
6915
 dw xchg_instruction-assembler
-
 
6916
 db 'xlat',0D7h
-
 
6917
 dw xlat_instruction-assembler
-
 
6918
 db 0
-
 
6919
instructions_5:
-
 
6920
 db 'addpd',58h
-
 
6921
 dw sse_pd_instruction-assembler
-
 
6922
 db 'addps',58h
-
 
6923
 dw sse_ps_instruction-assembler
-
 
6924
 db 'addsd',58h
-
 
6925
 dw sse_sd_instruction-assembler
-
 
6926
 db 'addss',58h
-
 
6927
 dw sse_ss_instruction-assembler
-
 
6928
 db 'align',0
-
 
6929
 dw align_directive-assembler
-
 
6930
 db 'andpd',54h
-
 
6931
 dw sse_pd_instruction-assembler
-
 
6932
 db 'andps',54h
-
 
6933
 dw sse_ps_instruction-assembler
-
 
6934
 db 'bound',0
-
 
6935
 dw bound_instruction-assembler
-
 
6936
 db 'break',0
-
 
6937
 dw break_directive-assembler
-
 
6938
 db 'bswap',0
-
 
6939
 dw bswap_instruction-assembler
-
 
6940
 db 'cmova',47h
-
 
6941
 dw cmov_instruction-assembler
-
 
6942
 db 'cmovb',42h
-
 
6943
 dw cmov_instruction-assembler
-
 
6944
 db 'cmovc',42h
-
 
6945
 dw cmov_instruction-assembler
-
 
6946
 db 'cmove',44h
-
 
6947
 dw cmov_instruction-assembler
-
 
6948
 db 'cmovg',4Fh
-
 
6949
 dw cmov_instruction-assembler
-
 
6950
 db 'cmovl',4Ch
-
 
6951
 dw cmov_instruction-assembler
-
 
6952
 db 'cmovo',40h
-
 
6953
 dw cmov_instruction-assembler
-
 
6954
 db 'cmovp',4Ah
-
 
6955
 dw cmov_instruction-assembler
-
 
6956
 db 'cmovs',48h
-
 
6957
 dw cmov_instruction-assembler
-
 
6958
 db 'cmovz',44h
-
 
6959
 dw cmov_instruction-assembler
-
 
6960
 db 'cmppd',0
-
 
6961
 dw cmppd_instruction-assembler
-
 
6962
 db 'cmpps',0
-
 
6963
 dw cmpps_instruction-assembler
-
 
6964
 db 'cmpsb',0A6h
-
 
6965
 dw simple_instruction-assembler
-
 
6966
 db 'cmpsd',0
-
 
6967
 dw cmpsd_instruction-assembler
-
 
6968
 db 'cmpsq',0
-
 
6969
 dw simple_instruction_64bit-assembler
-
 
6970
 db 'cmpss',0
-
 
6971
 dw cmpss_instruction-assembler
-
 
6972
 db 'cmpsw',0A7h
-
 
6973
 dw simple_instruction_16bit-assembler
-
 
6974
 db 'cpuid',0A2h
-
 
6975
 dw simple_extended_instruction-assembler
-
 
6976
 db 'divpd',5Eh
-
 
6977
 dw sse_pd_instruction-assembler
-
 
6978
 db 'divps',5Eh
-
 
6979
 dw sse_ps_instruction-assembler
-
 
6980
 db 'divsd',5Eh
-
 
6981
 dw sse_sd_instruction-assembler
-
 
6982
 db 'divss',5Eh
-
 
6983
 dw sse_ss_instruction-assembler
-
 
6984
 db 'enter',0
-
 
6985
 dw enter_instruction-assembler
-
 
6986
 db 'entry',0
-
 
6987
 dw entry_directive-assembler
-
 
6988
 db 'extrn',0
-
 
6989
 dw extrn_directive-assembler
-
 
6990
 db 'f2xm1',110000b
-
 
6991
 dw simple_fpu_instruction-assembler
-
 
6992
 db 'faddp',0
-
 
6993
 dw faddp_instruction-assembler
-
 
6994
 db 'fbstp',6
-
 
6995
 dw fbld_instruction-assembler
-
 
6996
 db 'fclex',0E2h
-
 
6997
 dw finit_instruction-assembler
-
 
6998
 db 'fcomi',0F0h
-
 
6999
 dw fcomi_instruction-assembler
-
 
7000
 db 'fcomp',3
-
 
7001
 dw basic_fpu_instruction-assembler
-
 
7002
 db 'fdisi',0E1h
-
 
7003
 dw finit_instruction-assembler
-
 
7004
 db 'fdivp',7
-
 
7005
 dw faddp_instruction-assembler
-
 
7006
 db 'fdivr',7
-
 
7007
 dw basic_fpu_instruction-assembler
-
 
7008
 db 'femms',0Eh
-
 
7009
 dw simple_extended_instruction-assembler
-
 
7010
 db 'ffree',0
-
 
7011
 dw ffree_instruction-assembler
-
 
7012
 db 'fiadd',0
-
 
7013
 dw fi_instruction-assembler
-
 
7014
 db 'ficom',2
-
 
7015
 dw fi_instruction-assembler
-
 
7016
 db 'fidiv',6
-
 
7017
 dw fi_instruction-assembler
-
 
7018
 db 'fimul',1
-
 
7019
 dw fi_instruction-assembler
-
 
7020
 db 'finit',0E3h
-
 
7021
 dw finit_instruction-assembler
-
 
7022
 db 'fistp',3
-
 
7023
 dw fild_instruction-assembler
-
 
7024
 db 'fisub',4
-
 
7025
 dw fi_instruction-assembler
-
 
7026
 db 'fldcw',5
-
 
7027
 dw fldcw_instruction-assembler
-
 
7028
 db 'fldpi',101011b
-
 
7029
 dw simple_fpu_instruction-assembler
-
 
7030
 db 'fmulp',1
-
 
7031
 dw faddp_instruction-assembler
-
 
7032
 db 'fneni',0E0h
-
 
7033
 dw fninit_instruction-assembler
-
 
7034
 db 'fprem',111000b
-
 
7035
 dw simple_fpu_instruction-assembler
-
 
7036
 db 'fptan',110010b
-
 
7037
 dw simple_fpu_instruction-assembler
-
 
7038
 db 'fsave',6
-
 
7039
 dw fsave_instruction-assembler
-
 
7040
 db 'fsqrt',111010b
-
 
7041
 dw simple_fpu_instruction-assembler
-
 
7042
 db 'fstcw',7
-
 
7043
 dw fstcw_instruction-assembler
-
 
7044
 db 'fstsw',0
-
 
7045
 dw fstsw_instruction-assembler
-
 
7046
 db 'fsubp',5
-
 
7047
 dw faddp_instruction-assembler
-
 
7048
 db 'fsubr',5
-
 
7049
 dw basic_fpu_instruction-assembler
-
 
7050
 db 'fucom',4
-
 
7051
 dw ffree_instruction-assembler
-
 
7052
 db 'fwait',9Bh
-
 
7053
 dw simple_instruction-assembler
-
 
7054
 db 'fyl2x',110001b
-
 
7055
 dw simple_fpu_instruction-assembler
-
 
7056
 db 'iretd',0CFh
-
 
7057
 dw simple_instruction_32bit-assembler
-
 
7058
 db 'iretq',0CFh
-
 
7059
 dw simple_instruction_64bit-assembler
-
 
7060
 db 'iretw',0CFh
-
 
7061
 dw simple_instruction_16bit-assembler
-
 
7062
 db 'jecxz',0E3h
-
 
7063
 dw loop_instruction_32bit-assembler
-
 
7064
 db 'jrcxz',0E3h
-
 
7065
 dw loop_instruction_64bit-assembler
-
 
7066
 db 'label',0
-
 
7067
 dw label_directive-assembler
-
 
7068
 db 'lddqu',0
-
 
7069
 dw lddqu_instruction-assembler
-
 
7070
 db 'leave',0C9h
-
 
7071
 dw simple_instruction-assembler
-
 
7072
 db 'lodsb',0ACh
-
 
7073
 dw simple_instruction-assembler
-
 
7074
 db 'lodsd',0ADh
-
 
7075
 dw simple_instruction_32bit-assembler
-
 
7076
 db 'lodsq',0ADh
-
 
7077
 dw simple_instruction_64bit-assembler
-
 
7078
 db 'lodsw',0ADh
-
 
7079
 dw simple_instruction_16bit-assembler
-
 
7080
 db 'loopd',0E2h
-
 
7081
 dw loop_instruction_32bit-assembler
-
 
7082
 db 'loope',0E1h
-
 
7083
 dw loop_instruction-assembler
-
 
7084
 db 'loopq',0E2h
-
 
7085
 dw loop_instruction_64bit-assembler
-
 
7086
 db 'loopw',0E2h
-
 
7087
 dw loop_instruction_16bit-assembler
-
 
7088
 db 'loopz',0E1h
-
 
7089
 dw loop_instruction-assembler
-
 
7090
 db 'maxpd',5Fh
-
 
7091
 dw sse_pd_instruction-assembler
-
 
7092
 db 'maxps',5Fh
-
 
7093
 dw sse_ps_instruction-assembler
-
 
7094
 db 'maxsd',5Fh
-
 
7095
 dw sse_sd_instruction-assembler
-
 
7096
 db 'maxss',5Fh
-
 
7097
 dw sse_ss_instruction-assembler
-
 
7098
 db 'minpd',5Dh
-
 
7099
 dw sse_pd_instruction-assembler
-
 
7100
 db 'minps',5Dh
-
 
7101
 dw sse_ps_instruction-assembler
-
 
7102
 db 'minsd',5Dh
-
 
7103
 dw sse_sd_instruction-assembler
-
 
7104
 db 'minss',5Dh
-
 
7105
 dw sse_ss_instruction-assembler
-
 
7106
 db 'movsb',0A4h
-
 
7107
 dw simple_instruction-assembler
-
 
7108
 db 'movsd',0
-
 
7109
 dw movsd_instruction-assembler
-
 
7110
 db 'movsq',0A5h
-
 
7111
 dw simple_instruction_64bit-assembler
-
 
7112
 db 'movss',0
-
 
7113
 dw movss_instruction-assembler
-
 
7114
 db 'movsw',0A5h
-
 
7115
 dw simple_instruction_16bit-assembler
-
 
7116
 db 'movsx',0BEh
-
 
7117
 dw movx_instruction-assembler
-
 
7118
 db 'movzx',0B6h
-
 
7119
 dw movx_instruction-assembler
-
 
7120
 db 'mulpd',59h
-
 
7121
 dw sse_pd_instruction-assembler
-
 
7122
 db 'mulps',59h
-
 
7123
 dw sse_ps_instruction-assembler
-
 
7124
 db 'mulsd',59h
-
 
7125
 dw sse_sd_instruction-assembler
-
 
7126
 db 'mulss',59h
-
 
7127
 dw sse_ss_instruction-assembler
-
 
7128
 db 'mwait',0C9h
-
 
7129
 dw monitor_instruction-assembler
-
 
7130
 db 'outsb',6Eh
-
 
7131
 dw simple_instruction-assembler
-
 
7132
 db 'outsd',6Fh
-
 
7133
 dw simple_instruction_32bit-assembler
-
 
7134
 db 'outsw',6Fh
-
 
7135
 dw simple_instruction_16bit-assembler
-
 
7136
 db 'paddb',0FCh
-
 
7137
 dw mmx_instruction-assembler
-
 
7138
 db 'paddd',0FEh
-
 
7139
 dw mmx_instruction-assembler
-
 
7140
 db 'paddq',0D4h
-
 
7141
 dw mmx_instruction-assembler
-
 
7142
 db 'paddw',0FDh
-
 
7143
 dw mmx_instruction-assembler
-
 
7144
 db 'pandn',0DFh
-
 
7145
 dw mmx_instruction-assembler
-
 
7146
 db 'pause',0
-
 
7147
 dw pause_instruction-assembler
-
 
7148
 db 'pavgb',0E0h
-
 
7149
 dw mmx_instruction-assembler
-
 
7150
 db 'pavgw',0E3h
-
 
7151
 dw mmx_instruction-assembler
-
 
7152
 db 'pf2id',1Dh
-
 
7153
 dw amd3dnow_instruction-assembler
-
 
7154
 db 'pf2iw',1Ch
-
 
7155
 dw amd3dnow_instruction-assembler
-
 
7156
 db 'pfacc',0AEh
-
 
7157
 dw amd3dnow_instruction-assembler
-
 
7158
 db 'pfadd',9Eh
-
 
7159
 dw amd3dnow_instruction-assembler
-
 
7160
 db 'pfmax',0A4h
-
 
7161
 dw amd3dnow_instruction-assembler
-
 
7162
 db 'pfmin',94h
-
 
7163
 dw amd3dnow_instruction-assembler
-
 
7164
 db 'pfmul',0B4h
-
 
7165
 dw amd3dnow_instruction-assembler
-
 
7166
 db 'pfrcp',96h
-
 
7167
 dw amd3dnow_instruction-assembler
-
 
7168
 db 'pfsub',9Ah
-
 
7169
 dw amd3dnow_instruction-assembler
-
 
7170
 db 'pi2fd',0Dh
-
 
7171
 dw amd3dnow_instruction-assembler
-
 
7172
 db 'pi2fw',0Ch
-
 
7173
 dw amd3dnow_instruction-assembler
-
 
7174
 db 'popad',61h
-
 
7175
 dw simple_instruction_32bit_except64-assembler
-
 
7176
 db 'popaw',61h
-
 
7177
 dw simple_instruction_16bit_except64-assembler
-
 
7178
 db 'popfd',9Dh
-
 
7179
 dw simple_instruction_32bit_except64-assembler
-
 
7180
 db 'popfw',9Dh
-
 
7181
 dw simple_instruction_16bit-assembler
-
 
7182
 db 'popfq',9Dh
-
 
7183
 dw simple_instruction_only64-assembler
-
 
7184
 db 'pslld',0F2h
-
 
7185
 dw mmx_ps_instruction-assembler
-
 
7186
 db 'psllq',0F3h
-
 
7187
 dw mmx_ps_instruction-assembler
-
 
7188
 db 'psllw',0F1h
-
 
7189
 dw mmx_ps_instruction-assembler
-
 
7190
 db 'psrad',0E2h
-
 
7191
 dw mmx_ps_instruction-assembler
-
 
7192
 db 'psraw',0E1h
-
 
7193
 dw mmx_ps_instruction-assembler
-
 
7194
 db 'psrld',0D2h
-
 
7195
 dw mmx_ps_instruction-assembler
-
 
7196
 db 'psrlq',0D3h
-
 
7197
 dw mmx_ps_instruction-assembler
-
 
7198
 db 'psrlw',0D1h
-
 
7199
 dw mmx_ps_instruction-assembler
-
 
7200
 db 'psubb',0F8h
-
 
7201
 dw mmx_instruction-assembler
-
 
7202
 db 'psubd',0FAh
-
 
7203
 dw mmx_instruction-assembler
-
 
7204
 db 'psubq',0FBh
-
 
7205
 dw mmx_instruction-assembler
-
 
7206
 db 'psubw',0F9h
-
 
7207
 dw mmx_instruction-assembler
-
 
7208
 db 'pusha',60h
-
 
7209
 dw simple_instruction_except64-assembler
-
 
7210
 db 'pushd',4
-
 
7211
 dw push_instruction-assembler
-
 
7212
 db 'pushf',9Ch
-
 
7213
 dw simple_instruction-assembler
-
 
7214
 db 'pushq',8
-
 
7215
 dw push_instruction-assembler
-
 
7216
 db 'pushw',2
-
 
7217
 dw push_instruction-assembler
-
 
7218
 db 'rcpps',53h
-
 
7219
 dw sse_ps_instruction-assembler
-
 
7220
 db 'rcpss',53h
-
 
7221
 dw sse_ss_instruction-assembler
-
 
7222
 db 'rdmsr',32h
-
 
7223
 dw simple_extended_instruction-assembler
-
 
7224
 db 'rdpmc',33h
-
 
7225
 dw simple_extended_instruction-assembler
-
 
7226
 db 'rdtsc',31h
-
 
7227
 dw simple_extended_instruction-assembler
-
 
7228
 db 'repne',0F2h
-
 
7229
 dw prefix_instruction-assembler
-
 
7230
 db 'repnz',0F2h
-
 
7231
 dw prefix_instruction-assembler
-
 
7232
 db 'retfd',0CAh
-
 
7233
 dw ret_instruction_32bit-assembler
-
 
7234
 db 'retfq',0CAh
-
 
7235
 dw ret_instruction_64bit-assembler
-
 
7236
 db 'retfw',0CAh
-
 
7237
 dw ret_instruction_16bit-assembler
-
 
7238
 db 'retnd',0C2h
-
 
7239
 dw ret_instruction_32bit_except64-assembler
-
 
7240
 db 'retnq',0C2h
-
 
7241
 dw ret_instruction_only64-assembler
-
 
7242
 db 'retnw',0C2h
-
 
7243
 dw ret_instruction_16bit-assembler
-
 
7244
 db 'scasb',0AEh
-
 
7245
 dw simple_instruction-assembler
-
 
7246
 db 'scasd',0AFh
-
 
7247
 dw simple_instruction_32bit-assembler
-
 
7248
 db 'scasq',0AFh
-
 
7249
 dw simple_instruction_64bit-assembler
-
 
7250
 db 'scasw',0AFh
-
 
7251
 dw simple_instruction_16bit-assembler
-
 
7252
 db 'setae',93h
-
 
7253
 dw set_instruction-assembler
-
 
7254
 db 'setbe',96h
-
 
7255
 dw set_instruction-assembler
-
 
7256
 db 'setge',9Dh
-
 
7257
 dw set_instruction-assembler
-
 
7258
 db 'setle',9Eh
-
 
7259
 dw set_instruction-assembler
-
 
7260
 db 'setna',96h
-
 
7261
 dw set_instruction-assembler
-
 
7262
 db 'setnb',93h
-
 
7263
 dw set_instruction-assembler
-
 
7264
 db 'setnc',93h
-
 
7265
 dw set_instruction-assembler
-
 
7266
 db 'setne',95h
-
 
7267
 dw set_instruction-assembler
-
 
7268
 db 'setng',9Eh
-
 
7269
 dw set_instruction-assembler
-
 
7270
 db 'setnl',9Dh
-
 
7271
 dw set_instruction-assembler
-
 
7272
 db 'setno',91h
-
 
7273
 dw set_instruction-assembler
-
 
7274
 db 'setnp',9Bh
-
 
7275
 dw set_instruction-assembler
-
 
7276
 db 'setns',99h
-
 
7277
 dw set_instruction-assembler
-
 
7278
 db 'setnz',95h
-
 
7279
 dw set_instruction-assembler
-
 
7280
 db 'setpe',9Ah
-
 
7281
 dw set_instruction-assembler
-
 
7282
 db 'setpo',9Bh
-
 
7283
 dw set_instruction-assembler
-
 
7284
 db 'stack',0
-
 
7285
 dw stack_directive-assembler
-
 
7286
 db 'store',0
-
 
7287
 dw store_directive-assembler
-
 
7288
 db 'stosb',0AAh
-
 
7289
 dw simple_instruction-assembler
-
 
7290
 db 'stosd',0ABh
-
 
7291
 dw simple_instruction_32bit-assembler
-
 
7292
 db 'stosq',0ABh
-
 
7293
 dw simple_instruction_64bit-assembler
-
 
7294
 db 'stosw',0ABh
-
 
7295
 dw simple_instruction_16bit-assembler
-
 
7296
 db 'subpd',5Ch
-
 
7297
 dw sse_pd_instruction-assembler
-
 
7298
 db 'subps',5Ch
-
 
7299
 dw sse_ps_instruction-assembler
-
 
7300
 db 'subsd',5Ch
-
 
7301
 dw sse_sd_instruction-assembler
-
 
7302
 db 'subss',5Ch
-
 
7303
 dw sse_ss_instruction-assembler
-
 
7304
 db 'times',0
-
 
7305
 dw times_directive-assembler
-
 
7306
 db 'vmxon',6
-
 
7307
 dw vmxon_instruction-assembler
-
 
7308
 db 'while',0
-
 
7309
 dw while_directive-assembler
-
 
7310
 db 'wrmsr',30h
-
 
7311
 dw simple_extended_instruction-assembler
-
 
7312
 db 'xlatb',0D7h
-
 
7313
 dw simple_instruction-assembler
-
 
7314
 db 'xorpd',57h
-
 
7315
 dw sse_pd_instruction-assembler
-
 
7316
 db 'xorps',57h
-
 
7317
 dw sse_ps_instruction-assembler
-
 
7318
 db 0
-
 
7319
instructions_6:
-
 
7320
 db 'andnpd',55h
-
 
7321
 dw sse_pd_instruction-assembler
-
 
7322
 db 'andnps',55h
-
 
7323
 dw sse_ps_instruction-assembler
-
 
7324
 db 'cmovae',43h
-
 
7325
 dw cmov_instruction-assembler
-
 
7326
 db 'cmovbe',46h
-
 
7327
 dw cmov_instruction-assembler
-
 
7328
 db 'cmovge',4Dh
-
 
7329
 dw cmov_instruction-assembler
-
 
7330
 db 'cmovle',4Eh
-
 
7331
 dw cmov_instruction-assembler
-
 
7332
 db 'cmovna',46h
-
 
7333
 dw cmov_instruction-assembler
-
 
7334
 db 'cmovnb',43h
-
 
7335
 dw cmov_instruction-assembler
-
 
7336
 db 'cmovnc',43h
-
 
7337
 dw cmov_instruction-assembler
-
 
7338
 db 'cmovne',45h
-
 
7339
 dw cmov_instruction-assembler
-
 
7340
 db 'cmovng',4Eh
-
 
7341
 dw cmov_instruction-assembler
-
 
7342
 db 'cmovnl',4Dh
-
 
7343
 dw cmov_instruction-assembler
-
 
7344
 db 'cmovno',41h
-
 
7345
 dw cmov_instruction-assembler
-
 
7346
 db 'cmovnp',4Bh
-
 
7347
 dw cmov_instruction-assembler
-
 
7348
 db 'cmovns',49h
-
 
7349
 dw cmov_instruction-assembler
-
 
7350
 db 'cmovnz',45h
-
 
7351
 dw cmov_instruction-assembler
-
 
7352
 db 'cmovpe',4Ah
-
 
7353
 dw cmov_instruction-assembler
-
 
7354
 db 'cmovpo',4Bh
-
 
7355
 dw cmov_instruction-assembler
-
 
7356
 db 'comisd',2Fh
-
 
7357
 dw comisd_instruction-assembler
-
 
7358
 db 'comiss',2Fh
-
 
7359
 dw comiss_instruction-assembler
-
 
7360
 db 'fcmovb',0C0h
-
 
7361
 dw fcmov_instruction-assembler
-
 
7362
 db 'fcmove',0C8h
-
 
7363
 dw fcmov_instruction-assembler
-
 
7364
 db 'fcmovu',0D8h
-
 
7365
 dw fcmov_instruction-assembler
-
 
7366
 db 'fcomip',0F0h
-
 
7367
 dw fcomip_instruction-assembler
-
 
7368
 db 'fcompp',0
-
 
7369
 dw fcompp_instruction-assembler
-
 
7370
 db 'fdivrp',6
-
 
7371
 dw faddp_instruction-assembler
-
 
7372
 db 'ffreep',0
-
 
7373
 dw ffreep_instruction-assembler
-
 
7374
 db 'ficomp',3
-
 
7375
 dw fi_instruction-assembler
-
 
7376
 db 'fidivr',7
-
 
7377
 dw fi_instruction-assembler
-
 
7378
 db 'fisttp',1
-
 
7379
 dw fild_instruction-assembler
-
 
7380
 db 'fisubr',5
-
 
7381
 dw fi_instruction-assembler
-
 
7382
 db 'fldenv',4
-
 
7383
 dw fldenv_instruction-assembler
-
 
7384
 db 'fldl2e',101010b
-
 
7385
 dw simple_fpu_instruction-assembler
-
 
7386
 db 'fldl2t',101001b
-
 
7387
 dw simple_fpu_instruction-assembler
-
 
7388
 db 'fldlg2',101100b
-
 
7389
 dw simple_fpu_instruction-assembler
-
 
7390
 db 'fldln2',101101b
-
 
7391
 dw simple_fpu_instruction-assembler
-
 
7392
 db 'fnclex',0E2h
-
 
7393
 dw fninit_instruction-assembler
-
 
7394
 db 'fndisi',0E1h
-
 
7395
 dw fninit_instruction-assembler
-
 
7396
 db 'fninit',0E3h
-
 
7397
 dw fninit_instruction-assembler
-
 
7398
 db 'fnsave',6
-
 
7399
 dw fnsave_instruction-assembler
-
 
7400
 db 'fnstcw',7
-
 
7401
 dw fldcw_instruction-assembler
-
 
7402
 db 'fnstsw',0
-
 
7403
 dw fnstsw_instruction-assembler
-
 
7404
 db 'format',0
-
 
7405
 dw format_directive-assembler
-
 
7406
 db 'fpatan',110011b
-
 
7407
 dw simple_fpu_instruction-assembler
-
 
7408
 db 'fprem1',110101b
-
 
7409
 dw simple_fpu_instruction-assembler
-
 
7410
 db 'frstor',4
-
 
7411
 dw fnsave_instruction-assembler
-
 
7412
 db 'frstpm',0E5h
-
 
7413
 dw fninit_instruction-assembler
-
 
7414
 db 'fscale',111101b
-
 
7415
 dw simple_fpu_instruction-assembler
-
 
7416
 db 'fsetpm',0E4h
-
 
7417
 dw fninit_instruction-assembler
-
 
7418
 db 'fstenv',6
-
 
7419
 dw fstenv_instruction-assembler
-
 
7420
 db 'fsubrp',4
-
 
7421
 dw faddp_instruction-assembler
-
 
7422
 db 'fucomi',0E8h
-
 
7423
 dw fcomi_instruction-assembler
-
 
7424
 db 'fucomp',5
-
 
7425
 dw ffree_instruction-assembler
-
 
7426
 db 'fxsave',0
-
 
7427
 dw fxsave_instruction-assembler
-
 
7428
 db 'haddpd',07Ch
-
 
7429
 dw sse_pd_instruction-assembler
-
 
7430
 db 'haddps',07Ch
-
 
7431
 dw cvtpd2dq_instruction-assembler
-
 
7432
 db 'hsubpd',07Dh
-
 
7433
 dw sse_pd_instruction-assembler
-
 
7434
 db 'hsubps',07Dh
-
 
7435
 dw cvtpd2dq_instruction-assembler
-
 
7436
 db 'invlpg',0
-
 
7437
 dw invlpg_instruction-assembler
-
 
7438
 db 'lfence',0E8h
-
 
7439
 dw fence_instruction-assembler
-
 
7440
 db 'looped',0E1h
-
 
7441
 dw loop_instruction_32bit-assembler
-
 
7442
 db 'loopeq',0E1h
-
 
7443
 dw loop_instruction_64bit-assembler
-
 
7444
 db 'loopew',0E1h
-
 
7445
 dw loop_instruction_16bit-assembler
-
 
7446
 db 'loopne',0E0h
-
 
7447
 dw loop_instruction-assembler
-
 
7448
 db 'loopnz',0E0h
-
 
7449
 dw loop_instruction-assembler
-
 
7450
 db 'loopzd',0E1h
-
 
7451
 dw loop_instruction_32bit-assembler
-
 
7452
 db 'loopzq',0E1h
-
 
7453
 dw loop_instruction_64bit-assembler
-
 
7454
 db 'loopzw',0E1h
-
 
7455
 dw loop_instruction_16bit-assembler
-
 
7456
 db 'mfence',0F0h
-
 
7457
 dw fence_instruction-assembler
-
 
7458
 db 'movapd',28h
-
 
7459
 dw movpd_instruction-assembler
-
 
7460
 db 'movaps',28h
-
 
7461
 dw movps_instruction-assembler
-
 
7462
 db 'movdqa',66h
-
 
7463
 dw movdq_instruction-assembler
-
 
7464
 db 'movdqu',0F3h
-
 
7465
 dw movdq_instruction-assembler
-
 
7466
 db 'movhpd',16h
-
 
7467
 dw movlpd_instruction-assembler
-
 
7468
 db 'movhps',16h
-
 
7469
 dw movlps_instruction-assembler
-
 
7470
 db 'movlpd',12h
-
 
7471
 dw movlpd_instruction-assembler
-
 
7472
 db 'movlps',12h
-
 
7473
 dw movlps_instruction-assembler
-
 
7474
 db 'movnti',0C3h
-
 
7475
 dw movnti_instruction-assembler
-
 
7476
 db 'movntq',0E7h
-
 
7477
 dw movntq_instruction-assembler
-
 
7478
 db 'movsxd',63h
-
 
7479
 dw movsxd_instruction-assembler
-
 
7480
 db 'movupd',10h
-
 
7481
 dw movpd_instruction-assembler
-
 
7482
 db 'movups',10h
-
 
7483
 dw movps_instruction-assembler
-
 
7484
 db 'paddsb',0ECh
-
 
7485
 dw mmx_instruction-assembler
-
 
7486
 db 'paddsw',0EDh
-
 
7487
 dw mmx_instruction-assembler
-
 
7488
 db 'pextrw',0C5h
-
 
7489
 dw pextrw_instruction-assembler
-
 
7490
 db 'pfnacc',8Ah
-
 
7491
 dw amd3dnow_instruction-assembler
-
 
7492
 db 'pfsubr',0AAh
-
 
7493
 dw amd3dnow_instruction-assembler
-
 
7494
 db 'pinsrw',0C4h
-
 
7495
 dw pinsrw_instruction-assembler
-
 
7496
 db 'pmaxsw',0EEh
-
 
7497
 dw mmx_instruction-assembler
-
 
7498
 db 'pmaxub',0DEh
-
 
7499
 dw mmx_instruction-assembler
-
 
7500
 db 'pminsw',0EAh
-
 
7501
 dw mmx_instruction-assembler
-
 
7502
 db 'pminub',0DAh
-
 
7503
 dw mmx_instruction-assembler
-
 
7504
 db 'pmulhw',0E5h
-
 
7505
 dw mmx_instruction-assembler
-
 
7506
 db 'pmullw',0D5h
-
 
7507
 dw mmx_instruction-assembler
-
 
7508
 db 'psadbw',0F6h
-
 
7509
 dw mmx_instruction-assembler
-
 
7510
 db 'pshufd',66h
-
 
7511
 dw pshufd_instruction-assembler
-
 
7512
 db 'pshufw',0
-
 
7513
 dw pshufw_instruction-assembler
-
 
7514
 db 'pslldq',111b
-
 
7515
 dw ps_dq_instruction-assembler
-
 
7516
 db 'psrldq',011b
-
 
7517
 dw ps_dq_instruction-assembler
-
 
7518
 db 'psubsb',0E8h
-
 
7519
 dw mmx_instruction-assembler
-
 
7520
 db 'psubsw',0E9h
-
 
7521
 dw mmx_instruction-assembler
-
 
7522
 db 'pswapd',0BBh
-
 
7523
 dw amd3dnow_instruction-assembler
-
 
7524
 db 'public',0
-
 
7525
 dw public_directive-assembler
-
 
7526
 db 'pushad',60h
-
 
7527
 dw simple_instruction_32bit_except64-assembler
-
 
7528
 db 'pushaw',60h
-
 
7529
 dw simple_instruction_16bit_except64-assembler
-
 
7530
 db 'pushfd',9Ch
-
 
7531
 dw simple_instruction_32bit_except64-assembler
-
 
7532
 db 'pushfq',9Ch
-
 
7533
 dw simple_instruction_only64-assembler
-
 
7534
 db 'pushfw',9Ch
-
 
7535
 dw simple_instruction_16bit-assembler
-
 
7536
 db 'rdtscp',1
-
 
7537
 dw swapgs_instruction-assembler
-
 
7538
 db 'repeat',0
-
 
7539
 dw repeat_directive-assembler
-
 
7540
 db 'setalc',0D6h
-
 
7541
 dw simple_instruction_except64-assembler
-
 
7542
 db 'setnae',92h
-
 
7543
 dw set_instruction-assembler
-
 
7544
 db 'setnbe',97h
-
 
7545
 dw set_instruction-assembler
-
 
7546
 db 'setnge',9Ch
-
 
7547
 dw set_instruction-assembler
-
 
7548
 db 'setnle',9Fh
-
 
7549
 dw set_instruction-assembler
-
 
7550
 db 'sfence',0F8h
-
 
7551
 dw fence_instruction-assembler
-
 
7552
 db 'shufpd',0C6h
-
 
7553
 dw sse_pd_instruction-assembler
-
 
7554
 db 'shufps',0C6h
-
 
7555
 dw sse_ps_instruction-assembler
-
 
7556
 db 'sqrtpd',51h
-
 
7557
 dw sse_pd_instruction-assembler
-
 
7558
 db 'sqrtps',51h
-
 
7559
 dw sse_ps_instruction-assembler
-
 
7560
 db 'sqrtsd',51h
-
 
7561
 dw sse_sd_instruction-assembler
-
 
7562
 db 'sqrtss',51h
-
 
7563
 dw sse_ss_instruction-assembler
-
 
7564
 db 'sysret',07h
-
 
7565
 dw simple_extended_instruction-assembler
-
 
7566
 db 'swapgs',0
-
 
7567
 dw swapgs_instruction-assembler
-
 
7568
 db 'vmcall',0C1h
-
 
7569
 dw simple_vmx_instruction-assembler
-
 
7570
 db 'vmread',0
-
 
7571
 dw vmread_instruction-assembler
-
 
7572
 db 'vmxoff',0C4h
-
 
7573
 dw simple_vmx_instruction-assembler
-
 
7574
 db 'wbinvd',9
-
 
7575
 dw simple_extended_instruction-assembler
-
 
7576
 db 0
-
 
7577
instructions_7:
-
 
7578
 db 'clflush',111b
-
 
7579
 dw fxsave_instruction-assembler
-
 
7580
 db 'cmovnae',42h
-
 
7581
 dw cmov_instruction-assembler
-
 
7582
 db 'cmovnbe',47h
-
 
7583
 dw cmov_instruction-assembler
-
 
7584
 db 'cmovnge',4Ch
-
 
7585
 dw cmov_instruction-assembler
-
 
7586
 db 'cmovnle',4Fh
-
 
7587
 dw cmov_instruction-assembler
-
 
7588
 db 'cmpeqpd',0
-
 
7589
 dw cmp_pd_instruction-assembler
-
 
7590
 db 'cmpeqps',0
-
 
7591
 dw cmp_ps_instruction-assembler
-
 
7592
 db 'cmpeqsd',0
-
 
7593
 dw cmp_sd_instruction-assembler
-
 
7594
 db 'cmpeqss',0
-
 
7595
 dw cmp_ss_instruction-assembler
-
 
7596
 db 'cmplepd',2
-
 
7597
 dw cmp_pd_instruction-assembler
-
 
7598
 db 'cmpleps',2
-
 
7599
 dw cmp_ps_instruction-assembler
-
 
7600
 db 'cmplesd',2
-
 
7601
 dw cmp_sd_instruction-assembler
-
 
7602
 db 'cmpless',2
-
 
7603
 dw cmp_ss_instruction-assembler
-
 
7604
 db 'cmpltpd',1
-
 
7605
 dw cmp_pd_instruction-assembler
-
 
7606
 db 'cmpltps',1
-
 
7607
 dw cmp_ps_instruction-assembler
-
 
7608
 db 'cmpltsd',1
-
 
7609
 dw cmp_sd_instruction-assembler
-
 
7610
 db 'cmpltss',1
-
 
7611
 dw cmp_ss_instruction-assembler
-
 
7612
 db 'cmpxchg',0B0h
-
 
7613
 dw basic_486_instruction-assembler
-
 
7614
 db 'display',0
-
 
7615
 dw display_directive-assembler
-
 
7616
 db 'fcmovbe',0D0h
-
 
7617
 dw fcmov_instruction-assembler
-
 
7618
 db 'fcmovnb',0C0h
-
 
7619
 dw fcomi_instruction-assembler
-
 
7620
 db 'fcmovne',0C8h
-
 
7621
 dw fcomi_instruction-assembler
-
 
7622
 db 'fcmovnu',0D8h
-
 
7623
 dw fcomi_instruction-assembler
-
 
7624
 db 'fdecstp',110110b
-
 
7625
 dw simple_fpu_instruction-assembler
-
 
7626
 db 'fincstp',110111b
-
 
7627
 dw simple_fpu_instruction-assembler
-
 
7628
 db 'fnstenv',6
-
 
7629
 dw fldenv_instruction-assembler
-
 
7630
 db 'frndint',111100b
-
 
7631
 dw simple_fpu_instruction-assembler
-
 
7632
 db 'fsincos',111011b
-
 
7633
 dw simple_fpu_instruction-assembler
-
 
7634
 db 'fucomip',0E8h
-
 
7635
 dw fcomip_instruction-assembler
-
 
7636
 db 'fucompp',0
-
 
7637
 dw fucompp_instruction-assembler
-
 
7638
 db 'fxrstor',1
-
 
7639
 dw fxsave_instruction-assembler
-
 
7640
 db 'fxtract',110100b
-
 
7641
 dw simple_fpu_instruction-assembler
-
 
7642
 db 'fyl2xp1',111001b
-
 
7643
 dw simple_fpu_instruction-assembler
-
 
7644
 db 'ldmxcsr',10b
-
 
7645
 dw fxsave_instruction-assembler
-
 
7646
 db 'loopned',0E0h
-
 
7647
 dw loop_instruction_32bit-assembler
-
 
7648
 db 'loopneq',0E0h
-
 
7649
 dw loop_instruction_64bit-assembler
-
 
7650
 db 'loopnew',0E0h
-
 
7651
 dw loop_instruction_16bit-assembler
-
 
7652
 db 'loopnzd',0E0h
-
 
7653
 dw loop_instruction_32bit-assembler
-
 
7654
 db 'loopnzq',0E0h
-
 
7655
 dw loop_instruction_64bit-assembler
-
 
7656
 db 'loopnzw',0E0h
-
 
7657
 dw loop_instruction_16bit-assembler
-
 
7658
 db 'monitor',0C8h
-
 
7659
 dw monitor_instruction-assembler
-
 
7660
 db 'movddup',12h
-
 
7661
 dw sse_sd_instruction-assembler
-
 
7662
 db 'movdq2q',0
-
 
7663
 dw movdq2q_instruction-assembler
-
 
7664
 db 'movhlps',12h
-
 
7665
 dw movhlps_instruction-assembler
-
 
7666
 db 'movlhps',16h
-
 
7667
 dw movhlps_instruction-assembler
-
 
7668
 db 'movntdq',0E7h
-
 
7669
 dw movntdq_instruction-assembler
-
 
7670
 db 'movntpd',2Bh
-
 
7671
 dw movntdq_instruction-assembler
-
 
7672
 db 'movntps',2Bh
-
 
7673
 dw movntps_instruction-assembler
-
 
7674
 db 'movq2dq',0
-
 
7675
 dw movq2dq_instruction-assembler
-
 
7676
 db 'paddusb',0DCh
-
 
7677
 dw mmx_instruction-assembler
-
 
7678
 db 'paddusw',0DDh
-
 
7679
 dw mmx_instruction-assembler
-
 
7680
 db 'pavgusb',0BFh
-
 
7681
 dw amd3dnow_instruction-assembler
-
 
7682
 db 'pcmpeqb',74h
-
 
7683
 dw mmx_instruction-assembler
-
 
7684
 db 'pcmpeqd',76h
-
 
7685
 dw mmx_instruction-assembler
-
 
7686
 db 'pcmpeqw',75h
-
 
7687
 dw mmx_instruction-assembler
-
 
7688
 db 'pcmpgtb',64h
-
 
7689
 dw mmx_instruction-assembler
-
 
7690
 db 'pcmpgtd',66h
-
 
7691
 dw mmx_instruction-assembler
-
 
7692
 db 'pcmpgtw',65h
-
 
7693
 dw mmx_instruction-assembler
-
 
7694
 db 'pfcmpeq',0B0h
-
 
7695
 dw amd3dnow_instruction-assembler
-
 
7696
 db 'pfcmpge',90h
-
 
7697
 dw amd3dnow_instruction-assembler
-
 
7698
 db 'pfcmpgt',0A0h
-
 
7699
 dw amd3dnow_instruction-assembler
-
 
7700
 db 'pfpnacc',8Eh
-
 
7701
 dw amd3dnow_instruction-assembler
-
 
7702
 db 'pfrsqrt',97h
-
 
7703
 dw amd3dnow_instruction-assembler
-
 
7704
 db 'pmaddwd',0F5h
-
 
7705
 dw mmx_instruction-assembler
-
 
7706
 db 'pmulhrw',0B7h
-
 
7707
 dw amd3dnow_instruction-assembler
-
 
7708
 db 'pmulhuw',0E4h
-
 
7709
 dw mmx_instruction-assembler
-
 
7710
 db 'pmuludq',0F4h
-
 
7711
 dw mmx_instruction-assembler
-
 
7712
 db 'pshufhw',0F3h
-
 
7713
 dw pshufd_instruction-assembler
-
 
7714
 db 'pshuflw',0F2h
-
 
7715
 dw pshufd_instruction-assembler
-
 
7716
 db 'psubusb',0D8h
-
 
7717
 dw mmx_instruction-assembler
-
 
7718
 db 'psubusw',0D9h
-
 
7719
 dw mmx_instruction-assembler
-
 
7720
 db 'rsqrtps',52h
-
 
7721
 dw sse_ps_instruction-assembler
-
 
7722
 db 'rsqrtss',52h
-
 
7723
 dw sse_ss_instruction-assembler
-
 
7724
 db 'section',0
-
 
7725
 dw section_directive-assembler
-
 
7726
 db 'segment',0
-
 
7727
 dw segment_directive-assembler
-
 
7728
 db 'stmxcsr',11b
-
 
7729
 dw fxsave_instruction-assembler
-
 
7730
 db 'syscall',05h
-
 
7731
 dw simple_extended_instruction-assembler
-
 
7732
 db 'sysexit',35h
-
 
7733
 dw simple_extended_instruction-assembler
-
 
7734
 db 'ucomisd',2Eh
-
 
7735
 dw comisd_instruction-assembler
-
 
7736
 db 'ucomiss',2Eh
-
 
7737
 dw comiss_instruction-assembler
-
 
7738
 db 'virtual',0
-
 
7739
 dw virtual_directive-assembler
-
 
7740
 db 'vmclear',6
-
 
7741
 dw vmclear_instruction-assembler
-
 
7742
 db 'vmptrld',6
-
 
7743
 dw vmx_instruction-assembler
-
 
7744
 db 'vmptrst',7
-
 
7745
 dw vmx_instruction-assembler
-
 
7746
 db 'vmwrite',0
-
 
7747
 dw vmwrite_instruction-assembler
-
 
7748
 db 0
-
 
7749
instructions_8:
-
 
7750
 db 'addsubpd',0D0h
-
 
7751
 dw sse_pd_instruction-assembler
-
 
7752
 db 'addsubps',0D0h
-
 
7753
 dw cvtpd2dq_instruction-assembler
-
 
7754
 db 'cmpneqpd',4
-
 
7755
 dw cmp_pd_instruction-assembler
-
 
7756
 db 'cmpneqps',4
-
 
7757
 dw cmp_ps_instruction-assembler
-
 
7758
 db 'cmpneqsd',4
-
 
7759
 dw cmp_sd_instruction-assembler
-
 
7760
 db 'cmpneqss',4
-
 
7761
 dw cmp_ss_instruction-assembler
-
 
7762
 db 'cmpnlepd',6
-
 
7763
 dw cmp_pd_instruction-assembler
-
 
7764
 db 'cmpnleps',6
-
 
7765
 dw cmp_ps_instruction-assembler
-
 
7766
 db 'cmpnlesd',6
-
 
7767
 dw cmp_sd_instruction-assembler
-
 
7768
 db 'cmpnless',6
-
 
7769
 dw cmp_ss_instruction-assembler
-
 
7770
 db 'cmpnltpd',5
-
 
7771
 dw cmp_pd_instruction-assembler
-
 
7772
 db 'cmpnltps',5
-
 
7773
 dw cmp_ps_instruction-assembler
-
 
7774
 db 'cmpnltsd',5
-
 
7775
 dw cmp_sd_instruction-assembler
-
 
7776
 db 'cmpnltss',5
-
 
7777
 dw cmp_ss_instruction-assembler
-
 
7778
 db 'cmpordpd',7
-
 
7779
 dw cmp_pd_instruction-assembler
-
 
7780
 db 'cmpordps',7
-
 
7781
 dw cmp_ps_instruction-assembler
-
 
7782
 db 'cmpordsd',7
-
 
7783
 dw cmp_sd_instruction-assembler
-
 
7784
 db 'cmpordss',7
-
 
7785
 dw cmp_ss_instruction-assembler
-
 
7786
 db 'cvtdq2pd',0E6h
-
 
7787
 dw cvtdq2pd_instruction-assembler
-
 
7788
 db 'cvtdq2ps',5Bh
-
 
7789
 dw sse_ps_instruction-assembler
-
 
7790
 db 'cvtpd2dq',0E6h
-
 
7791
 dw cvtpd2dq_instruction-assembler
-
 
7792
 db 'cvtpd2pi',2Dh
-
 
7793
 dw cvtpd2pi_instruction-assembler
-
 
7794
 db 'cvtpd2ps',5Ah
-
 
7795
 dw sse_pd_instruction-assembler
-
 
7796
 db 'cvtpi2pd',2Ah
-
 
7797
 dw cvtpi2pd_instruction-assembler
-
 
7798
 db 'cvtpi2ps',2Ah
-
 
7799
 dw cvtpi2ps_instruction-assembler
-
 
7800
 db 'cvtps2dq',5Bh
-
 
7801
 dw sse_pd_instruction-assembler
-
 
7802
 db 'cvtps2pd',5Ah
-
 
7803
 dw cvtps2pd_instruction-assembler
-
 
7804
 db 'cvtps2pi',2Dh
-
 
7805
 dw cvtps2pi_instruction-assembler
-
 
7806
 db 'cvtsd2si',2Dh
-
 
7807
 dw cvtsd2si_instruction-assembler
-
 
7808
 db 'cvtsd2ss',5Ah
-
 
7809
 dw sse_sd_instruction-assembler
-
 
7810
 db 'cvtsi2sd',2Ah
-
 
7811
 dw cvtsi2sd_instruction-assembler
-
 
7812
 db 'cvtsi2ss',2Ah
-
 
7813
 dw cvtsi2ss_instruction-assembler
-
 
7814
 db 'cvtss2sd',5Ah
-
 
7815
 dw sse_ss_instruction-assembler
-
 
7816
 db 'cvtss2si',2Dh
-
 
7817
 dw cvtss2si_instruction-assembler
-
 
7818
 db 'fcmovnbe',0D0h
-
 
7819
 dw fcomi_instruction-assembler
-
 
7820
 db 'maskmovq',0
-
 
7821
 dw maskmovq_instruction-assembler
-
 
7822
 db 'movmskpd',0
-
 
7823
 dw movmskpd_instruction-assembler
-
 
7824
 db 'movmskps',0
-
 
7825
 dw movmskps_instruction-assembler
-
 
7826
 db 'movshdup',16h
-
 
7827
 dw cvtdq2pd_instruction-assembler
-
 
7828
 db 'movsldup',12h
-
 
7829
 dw cvtdq2pd_instruction-assembler
-
 
7830
 db 'packssdw',6Bh
-
 
7831
 dw mmx_instruction-assembler
-
 
7832
 db 'packsswb',63h
-
 
7833
 dw mmx_instruction-assembler
-
 
7834
 db 'packuswb',67h
-
 
7835
 dw mmx_instruction-assembler
-
 
7836
 db 'pfrcpit1',0A6h
-
 
7837
 dw amd3dnow_instruction-assembler
-
 
7838
 db 'pfrcpit2',0B6h
-
 
7839
 dw amd3dnow_instruction-assembler
-
 
7840
 db 'pfrsqit1',0A7h
-
 
7841
 dw amd3dnow_instruction-assembler
-
 
7842
 db 'pmovmskb',0D7h
-
 
7843
 dw pextrw_instruction-assembler
-
 
7844
 db 'prefetch',0
-
 
7845
 dw amd_prefetch_instruction-assembler
-
 
7846
 db 'sysenter',34h
-
 
7847
 dw simple_extended_instruction-assembler
-
 
7848
 db 'unpckhpd',15h
-
 
7849
 dw sse_pd_instruction-assembler
-
 
7850
 db 'unpckhps',15h
-
 
7851
 dw sse_ps_instruction-assembler
-
 
7852
 db 'unpcklpd',14h
-
 
7853
 dw sse_pd_instruction-assembler
-
 
7854
 db 'unpcklps',14h
-
 
7855
 dw sse_ps_instruction-assembler
-
 
7856
 db 'vmlaunch',0C2h
-
 
7857
 dw simple_vmx_instruction-assembler
-
 
7858
 db 'vmresume',0C3h
-
 
7859
 dw simple_vmx_instruction-assembler
-
 
7860
 db 0
-
 
7861
instructions_9:
-
 
7862
 db 'cmpxchg8b',8
-
 
7863
 dw cmpxchgx_instruction-assembler
-
 
7864
 db 'cvttpd2dq',0E6h
-
 
7865
 dw sse_pd_instruction-assembler
-
 
7866
 db 'cvttpd2pi',2Ch
-
 
7867
 dw cvtpd2pi_instruction-assembler
-
 
7868
 db 'cvttps2dq',5Bh
-
 
7869
 dw cvtdq2pd_instruction-assembler
-
 
7870
 db 'cvttps2pi',2Ch
-
 
7871
 dw cvtps2pi_instruction-assembler
-
 
7872
 db 'cvttsd2si',2Ch
-
 
7873
 dw cvtsd2si_instruction-assembler
-
 
7874
 db 'cvttss2si',2Ch
-
 
7875
 dw cvtss2si_instruction-assembler
-
 
7876
 db 'prefetchw',1
-
 
7877
 dw amd_prefetch_instruction-assembler
-
 
7878
 db 'punpckhbw',68h
-
 
7879
 dw mmx_instruction-assembler
-
 
7880
 db 'punpckhdq',6Ah
-
 
7881
 dw mmx_instruction-assembler
-
 
7882
 db 'punpckhwd',69h
-
 
7883
 dw mmx_instruction-assembler
-
 
7884
 db 'punpcklbw',60h
-
 
7885
 dw mmx_instruction-assembler
-
 
7886
 db 'punpckldq',62h
-
 
7887
 dw mmx_instruction-assembler
-
 
7888
 db 'punpcklwd',61h
-
 
7889
 dw mmx_instruction-assembler
-
 
7890
 db 0
-
 
7891
instructions_10:
-
 
7892
 db 'cmpunordpd',3
-
 
7893
 dw cmp_pd_instruction-assembler
-
 
7894
 db 'cmpunordps',3
-
 
7895
 dw cmp_ps_instruction-assembler
-
 
7896
 db 'cmpunordsd',3
-
 
7897
 dw cmp_sd_instruction-assembler
-
 
7898
 db 'cmpunordss',3
-
 
7899
 dw cmp_ss_instruction-assembler
-
 
7900
 db 'cmpxchg16b',16
-
 
7901
 dw cmpxchgx_instruction-assembler
-
 
7902
 db 'loadall286',5
-
 
7903
 dw simple_extended_instruction-assembler
-
 
7904
 db 'loadall386',7
-
 
7905
 dw simple_extended_instruction-assembler
-
 
7906
 db 'maskmovdqu',0
-
 
7907
 dw maskmovdqu_instruction-assembler
-
 
7908
 db 'prefetcht0',1
-
 
7909
 dw prefetch_instruction-assembler
-
 
7910
 db 'prefetcht1',2
-
 
7911
 dw prefetch_instruction-assembler
-
 
7912
 db 'prefetcht2',3
-
 
7913
 dw prefetch_instruction-assembler
-
 
7914
 db 'punpckhqdq',6Dh
-
 
7915
 dw sse_pd_instruction-assembler
-
 
7916
 db 'punpcklqdq',6Ch
-
 
7917
 dw sse_pd_instruction-assembler
-
 
7918
 db 0
-
 
7919
instructions_11:
-
 
7920
 db 'prefetchnta',0
-
 
7921
 dw prefetch_instruction-assembler
-
 
7922
 db 0
-
 
7923
-