ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAH
1
Test Order
Opcode (times 1000)
IBM 5150Tandy 1000
Tandy 1000hx 4.77
Tandy 1000hx 7.16PCjr A <128kbPCjr A >128kbPCjr B <128kbPCjr B >128kbBytesCycles
2
1nop904972111711172234859223489313
3
2aaa1884188218841254223618852236188318
4
3aad127791277912780851912778127801277812779260
5
4aam1613316132161331075516132161321613216134283
6
5mov al,al1809194722352234446917214469178722
7
6mov dx,02714291933523352670325806703268134
8
7mov dl,01809194722352235446917214470178724
9
8sub al,al1809194722352235447017214470178723
10
9sub al,01809194722352235447017214470178734
11
10sub ax,02714291933523352670525806705268144
12
11xchg cx,dx1809194722352235447017214470178724
13
12xchg ax,dx904972111711172236859223689313
14
13inc al1809194722352235447017214470178723
15
14inc ax904972111711172236859223689313
16
15cwd1045104511171117223410452234104515
17
16in al,0x6033503571391133525586335255863354210/14
18
17in al,dx (dx=garbage)2011215322351677335121063351223518/12
19
18push dx31403209391033526705297967053093111/15
20
19pop dx2715294533533352670525796705268118
21
20mov ax,[0000]452548405587558711174430011174446838+EA
22
21mov al,[0000]3619385144694469894034368940357538+EA
23
22out dx,al (dx=0)2031215322351677335321043351223418/12
24
23mul al146651466514665977714665146661466514665270/77
25
24mul ax24724247232472416482247242472424724247232113/118
26
25div bl1738817388173891159217389173881738917389280/90
27
26div bx30799307973079920532307993079930799308002144/162
28
27xlat27402583279322354469255244702679111
29
28rep movsb (cx=1000)377333704193335455923579559236581 + 12 + 18
30
29rep movsw (cx=1000)54865658670555891006353661006353641 + 12 + 18
31
30shl al,11809194522352234447017174470178622
32
31shl al,cl (cl=4)5027502550273350502750285027502628+4n
33
32loop (cx=1000)377037685026390978173829781939072
34
35
36
Results are in microsenconds. The smaller, the better
37
All machines using Intel 8088 at 4.77Mhz except the Tandy 1000hx running an Intel 8088 running at 7.16Mhz
38
39
Test source code:
perf.asm
40
Test binary:perf.exe
41
42
Opcodes sizes + cycles:
http://zsmith.co/intel.html
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100