Home | History | Annotate | Download | only in perlasm

Lines Matching full:opcode

104 { package opcode;	# pick up opcodes
228 die if (opcode->mnemonic() ne "mov");
229 opcode->mnemonic("lea");
275 $sz="q" if ($self->{asterisk} || opcode->mnemonic() eq "movq");
276 $sz="l" if (opcode->mnemonic() eq "movd");
416 if ($nasm && opcode->mnemonic()=~m/^j/) {
429 my %opcode = # lea 2f-1f(%rip),%dst; 1: nop; 2:
448 $line=sprintf "0x%x,0x90000000",$opcode{$1};
654 local *opcode=shift;
659 push @opcode,($rex|0x40) if ($rex);
668 my @opcode=(0x66);
672 rex(\@opcode,$src,$dst,0x8);
673 push @opcode,0x0f,0x7e;
674 push @opcode,0xc0|(($src&7)<<3)|($dst&7); # ModR/M
675 @opcode;
679 rex(\@opcode,$src,$dst,0x8);
680 push @opcode,0x0f,0x6e;
681 push @opcode,0xc0|(($src&7)<<3)|($dst&7); # ModR/M
682 @opcode;
690 my @opcode=(0x66);
696 rex(\@opcode,$src,$dst);
697 push @opcode,0x0f,0x3a,0x16;
698 push @opcode,0xc0|(($src&7)<<3)|($dst&7); # ModR/M
699 push @opcode,$imm;
700 @opcode;
708 my @opcode=(0x66);
714 rex(\@opcode,$dst,$src);
715 push @opcode,0x0f,0x3a,0x22;
716 push @opcode,0xc0|(($dst&7)<<3)|($src&7); # ModR/M
717 push @opcode,$imm;
718 @opcode;
726 my @opcode=(0x66);
727 rex(\@opcode,$2,$1);
728 push @opcode,0x0f,0x38,0x00;
729 push @opcode,0xc0|($1&7)|(($2&7)<<3); # ModR/M
730 @opcode;
738 my @opcode=(0x66);
739 rex(\@opcode,$3,$2);
740 push @opcode,0x0f,0x3a,0x0f;
741 push @opcode,0xc0|($2&7)|(($3&7)<<3); # ModR/M
742 push @opcode,$1;
743 @opcode;
751 my @opcode=(0x66);
752 rex(\@opcode,$3,$2);
753 push @opcode,0x0f,0x3a,0x44;
754 push @opcode,0xc0|($2&7)|(($3&7)<<3); # ModR/M
756 push @opcode,$c=~/^0/?oct($c):$c;
757 @opcode;
765 my @opcode=();
768 rex(\@opcode,0,$1,8);
769 push @opcode,0x0f,0xc7,0xf0|($dst&7);
770 @opcode;
795 undef $opcode;
802 } elsif ($opcode=opcode->re(\$line)) {
803 my $asm = eval("\$".$opcode->mnemonic());
814 if ($arg=register->re(\$line)) { opcode->size($arg->size()); }
829 my $sz=opcode->size();
832 $insn = $opcode->out($#args>=1?$args[$#args]->size():$sz);
836 $insn = $opcode->out();
844 undef $sz if ($nasm && $opcode->mnemonic() eq "lea");
848 printf "\t%s",$opcode->out();