汇编指令和机器码的对应表
汇编 2010-04-20 21:07:19 阅读259 评论0   字号:大中小 订阅
一、汇编速查 
      MOV  AA,BB        将  BB  放到  AA  里 
      CALL                  调用子程序  (相当于  BASIC  的  GOSUB) 
      RET  与  RETF    返回程序      (相当于  BASIC  的  RETURN) 
      CMP  XX,YY        比较  XX  与  YY 
      JZ                      若相等则转移 
      JNZ                    若不相等则转移 
      JB                      若小于则转移 
      JG                      若大于则转移 
      JMP                    无条件转移 
      J???                  (各种转移指令) 
      LOOP                  循环直到CX为0 
      INT  XX              类似  CALL  的中断涵数 
  PUSH  推入栈(STACK)ESP:PUSH  AX   
  POP  出栈ESP:POP  CX   
  XCHG  交换ESP:XCHG  AX,BX   
  IN、OUT  与PORT有关的IN/OUT   
  XLAT  查表   
  LEA  段内偏移量。ESP:LEA  AX,AREA1=MOV  AX,OFFSET  AREA1   
  LAHF、SAHF与棋标有关的寄存器  AH   
  PUSHF、POPF将棋标入/出栈   
  ADD  ESP  ADD  AX,CX  (AX=AX+CX)   
  ADC  加入棋标C的ADD   
  INC  ESP  INC  AX(AX=AX+1)   
  AAA  加法校正   
  SUB、SBB  减法   
  DEC  ESP:  DEC  AX(AX=AX-1)   
  NEG  去补,   
  MUL、IMUL  乘   
  DIV、IDIV  除   
  SHR、SAR、SHL  算术、逻辑位移R=RIGHT  L=LEFT   
  OR、XOR、AND  逻辑运算  ESP  :XOR  AX,AX(AX=0)     
直接标志转移  汇编判断指令
  指令格式    机器码    测试条件    如...则转移     
    JC            72            C=1                有进位   
    JNS          79            S=0                正号   
    JNC          73            C=0                无进位   
    JO            70            O=1                有溢出   
    JZ/JE      74            Z=1                零/等于 
    JNO          71            O=0                无溢出   
    JNZ/JNE  75            Z=0                不为零/不等于 
    JP/JPE    7A            P=1                奇偶位为偶   
    JS            78            S=1                负号 
    JNP/IPO  7B            P=0                奇偶位为奇   
  间接标志转移 
  指令格式                                机器码                  测试格式                        如...则转移   
  JA/JNBE(比较无符号数)      77                          C或Z=0  >                      高于/不低于或等于   
  JAE/JNB(比较无符号数)      73                          C=0  >=                          高于或等于/不低于   
  JB/JNAE(比较无符号数)      72                          C=1  <                            低于/不高于或等于   
  JBE/JNA(比较无符号数)      76                          C或Z=1  <=                    低于或等于/不高于   
  JG/JNLE(比较带符号数)      7F                          (S异或O)或Z=0  >    大于/不小于或等于   
  JGE/JNL(比较带符号数)      7D                          S异或O=0  >=                大于或等于/不小于   
  JL/JNGE(比较带符号数)      7C                          S异或O=1  <                  小于/不大于或等于   
  JLE/JNG(比较带符号数)      7E                          (S异或O)或Z=1  <=      小于或等于/不大于   
  无条件转移指令JMP 
  指令格式                                      执行操作                              机器码          说明   
  段内直接短转移Jmp  short        (IP)←(IP)+8位位移量      EB                  转移范围-128到+127字节   
  段内直接近转移Jmp  near          (IP)←(IP)+16位位移量    E9                  转移到段内的任一位置   
  段内间接转移Jmp  word              (IP)←(有效地址EA)          FF 
  段间直接(远)转移Jmp  far        (IP)←(偏移地址) 
                                                    (CS)←(段地址)                  EA   
  段间间接转移  Jmp                      dword  (IP)←(EA) 
                                                    (CS)←(EA+2) 
 
********************************************************************************************************************************
dev.csdn/article/2/2300.shtm
汇编指令与机器码的相互转换(转载)
查看上面的网址。
机器语言我们只要重点理解一下几个概念:
1.  机器语言指令有操作码(OP)和地址码两部分组成
|_____________OP_______________|__d__|__w__|
|_____________OP_______________|__s__|__w__|  MOV  AX,1234H  对应的机器码为:B83412 
解法:  判断->  这个是8086汇编16位汇编指令格式,并且是立即寻址方式
查表->  打开opcodes.html文件,到标题为 "Main  Instructions ",单击 "M "字母,然后对应查看  "MOV  Reg,Imm "格式的 "OpCode "项为:1011wrrr
再判断->  由于寄存器是AX,  立即数是1234H,明显是 "对字操作 ",所以w=1
在查看本文章上面的 "表1 ",对应的查到rrr的值为000
组合结果->  w=1
rrr=000
1011wrrr=1011  1000B  -> B8H
根据 "  3.指令格式简介 "  ->  B8H  +  |立即数(低位在前高位在后)|=  B83412H 
PS:  "+ "  符号不为 "加号 " 
好了,已经解完第一题了,机器码为  B83412H 
———————————————————————————————————————
指令4  ->  MOV  AX,BX  对应的机器码为:8BC3
解法:  判断->  这个是8086汇编16位汇编指令格式,并且是寄存器寻址方式
查表->  打开opcodes.html文件,到标题为 "Main  Instructions ",单击 "M

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。