⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 指令集.htm

📁 ARM指令集
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0053)http://www.linuxforum.net/books/mhss/arm/qfinder.html -->
<HTML><HEAD><TITLE>Instruction set quick finder</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META http-equiv=Content-Language content=zh-cn>
<META content="MSHTML 6.00.2600.0" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId></HEAD>
<BODY text=#000000 vLink=#002288 link=#0022dd bgColor=#f0f0f0>
<TABLE width="100%" border=0>
  <TBODY>
  <TR>
    <TD align=middle width=100></TD>
    <TD>
      <H1 align=center><FONT color=#800080>指令集</FONT></H1>
      <H3 align=center><FONT color=#800080>(快速查找)</FONT></H3></TD>
    <TD align=middle width=100></TD></TR></TBODY></TABLE>
<P>在本文档的汇编语法中,用 # 前缀表示立即值,用 &amp; 表示十六进制值,用 % 表示二进制值,用 {花括号} 
表示指令中可选的设置字段或位。下面表格中<B>粗体</B>的指令是核心 ARM 
指令,其他的是值得包含的位和片段、移位选项和汇编器助记码(mnemonic)... 还列出了协处理器指令。但是用于 RISC OS 机器的 ARM 
处理器不支持协处理器,只在一个可访问的芯片中提供了实际上的协处理器功能。其中包括设置 ARM、cache、MMU 的设施,等... 
<P>  
<TABLE width="100%" border=0>
  <TBODY>
  <TR>
    <TD><B><U>指令</U></B> 
    <TD><B><U>意义</U></B> 
    <TD><B><U>最早的 CPU / 注释</U></B> 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mov.html#adc"><B>ADC</B></A> 

    <TD>带进位的加法 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mov.html#add"><B>ADD</B></A> 

    <TD>加法 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mov.html#and"><B>AND</B></A> 

    <TD>逻辑与 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/shift.html#asl">ASL</A> 
    <TD>算术左移 
    <TD>这是一个选项,不是指令&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/shift.html#asr">ASR</A> 
    <TD>算术右移 
    <TD>这是一个选项,不是指令&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/bl.html#b"><B>B</B></A> 
    <TD>分支 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mov.html#bic"><B>BIC</B></A> 

    <TD>位清除 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/bl.html#bl"><B>BL</B></A> 
    <TD>带连接的分支 
    <TD>-&nbsp; 
  <TR>
    <TD>BX 
    <TD>分支到 Thumb 代码 
    <TD>StrongARM SA1110&nbsp;? 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/ARMinstrs.html#CoproOp">CDP</A> 

    <TD>协处理器数据操作 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/cmp.html#cmn"><B>CMN</B></A> 

    <TD>比较取负的值 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/cmp.html#cmp"><B>CMP</B></A> 

    <TD>比较值 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mov.html#eor"><B>EOR</B></A> 

    <TD>异或两个值 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/ARMinstrs.html#CoproTrans">LDC</A> 

    <TD>装载内存到协处理器 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/str.html#ldm"><B>LDM</B></A> 

    <TD>装载多个寄存器 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/str.html#ldr"><B>LDR</B></A> 

    <TD>装载寄存器 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/str.html#ldr"><B>LDRB</B></A> 

    <TD>装载字节到寄存器 
    <TD>-&nbsp; 
  <TR>
    <TD><B>LDRH</B> 
    <TD>装载半字到寄存器 
    <TD>StrongARM 
  <TR>
    <TD><B>LDRSB</B> 
    <TD>装载有符号字节到寄存器 
    <TD>StrongARM&nbsp; 
  <TR>
    <TD><B>LDRSH</B> 
    <TD>装载有符号半字到寄存器 
    <TD>StrongARM &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/shift.html#lsl">LSL</A> 
    <TD>逻辑左移 
    <TD>这是一个选项,不是指令 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/shift.html#lsr">LSR</A> 
    <TD>逻辑右移 
    <TD>这是一个选项,不是指令 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/ARMinstrs.html#CoproTrans">MCR</A> 

    <TD>协处理器寄存器传送 
    <TD>- 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mul.html#mla"><B>MLA</B></A> 

    <TD>带累加的乘法 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mov.html#mov"><B>MOV</B></A> 

    <TD>传送值/寄存器到一个寄存器 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/ARMinstrs.html#CoproTrans">MRC</A> 

    <TD>协处理器寄存器传送 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/psr.html#mrs"><B>MRS</B></A> 

    <TD>传送状态标志到一个寄存器 
    <TD>ARM 6&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/psr.html#msr"><B>MSR</B></A> 

    <TD>传送一个寄存器的内容到状态标志 
    <TD>ARM 6&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mul.html#binop"><B>MUL</B></A> 

    <TD>乘法 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mov.html#mvn"><B>MVN</B></A> 

    <TD>传送取负的(值) 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mov.html#orr"><B>ORR</B></A> 

    <TD>逻辑或 
    <TD>-&nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/shift.html#ror">ROR</A> 
    <TD>循环右移 
    <TD>这是一个选项,不是指令 &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/shift.html#rrx">RRX</A> 
    <TD>带扩展的循环右移 
    <TD>这是一个选项,不是指令 &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mov.html#rsb"><B>RSB</B></A> 

    <TD>反向减法 
    <TD>- &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mov.html#rsc"><B>RSC</B></A> 

    <TD>带借位的反向减法 
    <TD>- &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mov.html#sbc"><B>SBC</B></A> 

    <TD>带借位的减法 
    <TD>- &nbsp; 
  <TR>
    <TD><B><A 
      href="http://www.linuxforum.net/books/mhss/arm/ARMinstrs.html#Long">SMLAL</A></B> 

    <TD>带累加的有符号长(64 位)乘法 
    <TD>StrongARM &nbsp; 
  <TR>
    <TD><B><A 
      href="http://www.linuxforum.net/books/mhss/arm/ARMinstrs.html#Long">SMULL</A></B> 

    <TD>有符号长(64 位)乘法 
    <TD>StrongARM &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/ARMinstrs.html#CoproTrans">STC</A> 

    <TD>协处理器数据传送 
    <TD>- &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/str.html#stm"><B>STM</B></A> 

    <TD>存储多个寄存器 
    <TD>- &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/str.html#str"><B>STR</B></A> 

    <TD>存储一个寄存器 
    <TD>- &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/str.html#str"><B>STRB</B></A> 

    <TD>存储一个字节(从一个寄存器) 
    <TD>- &nbsp; 
  <TR>
    <TD><B>STRH</B> 
    <TD>存储一个半字(从一个寄存器) 
    <TD>StrongARM &nbsp; 
  <TR>
    <TD><B>STRSB</B> 
    <TD>存储一个有符号字节(从一个寄存器) 
    <TD>StrongARM &nbsp; 
  <TR>
    <TD><B>STRSH</B> 
    <TD>存储一个有符号半字(从一个寄存器) 
    <TD>StrongARM &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/mov.html#sub"><B>SUB</B></A> 

    <TD>减法 
    <TD>- &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/swi.html#swi"><B>SWI</B></A> 

    <TD>导致一个软件中断 
    <TD>- &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/str.html#swp"><B>SWP</B></A> 

    <TD>交换寄存器与内存 
    <TD>ARM 3 &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/cmp.html#teq"><B>TEQ</B></A> 

    <TD>测试等价(概念上的 EOR) 
    <TD>- &nbsp; 
  <TR>
    <TD><A 
      href="http://www.linuxforum.net/books/mhss/arm/cmp.html#tst"><B>TST</B></A> 

    <TD>测试并屏蔽(概念上的 AND) 
    <TD>- &nbsp; 
  <TR>
    <TD><B><A 
      href="http://www.linuxforum.net/books/mhss/arm/ARMinstrs.html#Long">UMLAL</A></B> 

    <TD>带累加的无符号长(64 位)乘法 
    <TD>StrongARM &nbsp; 
  <TR>
    <TD><B><A 
      href="http://www.linuxforum.net/books/mhss/arm/ARMinstrs.html#Long">UMULL</A></B> 

    <TD>无符号长(64 位)乘法 
    <TD>StrongARM &nbsp; </TR></TBODY></TABLE>
<H3>RISC OS 的 BASIC 汇编器的伪指令</H3>
<TABLE width=507 border=0>
  <TBODY>
  <TR>
    <TD width=70><A 
      href="http://www.linuxforum.net/books/mhss/arm/pseudo.html#adr">ADR</A> 
    <TD width=423>得到目标的地址(4K 之内) 
  <TR>
    <TD width=70><A 
      href="http://www.linuxforum.net/books/mhss/arm/pseudo.html#adrl">ADRL</A> 
    <TD width=423>得到目标的地址(超过 4K) 
  <TR>
    <TD width=70><A 
      href="http://www.linuxforum.net/books/mhss/arm/pseudo.html#align">ALIGN</A> 

    <TD width=423>把程序计数器设置到下个字的边界 
  <TR>
    <TD width=70><A href="file:///C:/mhss/ARM/pseudo.html#dcx">DCx</A> 
    <TD width=423>定义字节(B)、半字(W)、字(D)、字符串(S)、或浮点(F)值 
  <TR>
    <TD width=70><A 
      href="http://www.linuxforum.net/books/mhss/arm/pseudo.html#equx">EQUx</A> 
    <TD width=423>定义字节(B)、半字(W)、字(D)、字符串(S)、或浮点(F)值 
  <TR>
    <TD width=70><A 
      href="http://www.linuxforum.net/books/mhss/arm/pseudo.html#opt">OPT</A> 
    <TD width=423>选择汇编选项 </TR></TBODY></TABLE>
<H3><A href="http://www.linuxforum.net/books/mhss/arm/fpops.html">IEEE 
浮点指令</A></H3>
<P>  
<HR SIZE=3>
<A href="http://www.linuxforum.net/books/mhss/arm/index.html">Return to 
index</A> 
<HR SIZE=3>

<ADDRESS>Copyright &copy; 2001 Richard Murray </ADDRESS></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -