汇编指令的英文全称(中英文对照)
汇编指令的英文全称
如果你想写系统软件,两本入门书籍--谭浩强的《C语言程序设计》和王爽的《汇编语言》是必看的。谭老的C语言已相当成熟,王老师的汇编倒有个小缺陷—指令没有英文全称,或许他认为现在学编程的朋友都不记单词,如同新生代作家看不懂英文原著一般。不过我觉得记住指令的英文全称,就不容易搞混,印象会更深刻,所以我把王爽书中出现的英文缩写的全称罗列出来,以便入门的朋友更好地记住它们。
8086CPU提供以下几大类指令。
一、数据传送指令
比如,mov(move)、push、pop、pushf(push flags)、popf(pop flags)、xchg(exchange)等都是数据传送指令,这些指令实现寄存器和内存、寄存器和寄存器之间的单个数据传送。
二、算术运算指令
比如,add、sub(substract)、adc(add with carry)、sbb(substract with borrow)、inc(increase)、dec(decrease)、cmp(compare)、imul(integer multiplication)、idiv(integer divide)、aaa(ASCII add with adjust)等都是算术运算指令,这些指令实现寄存器和内存中的数据运算。它们的执行结果影响标志寄存器的sf、zf、of、cf、pf、af位。
三、逻辑指令
比如,and、or、not、xor(exclusive or)、test、shl(shift logic left)、shr(shift logic right)、sal(shift arithmetic left)、sar(shift arithmetic right)、rol(rotate left)、ror(rotate right)、rcl(rotate left through carry)、rcr(rotate right through carry)等都是逻辑指令。除了not指令外,它们的执行结果都影响标志寄存器的相关标志位。
四、转移指令
可以修改IP,或同时修改CS和IP的指令统称为转移指令。转移指令分为一下几类。
(1) 无条件转移指令,比如,jmp(jump);
(2) 条件转移指令,比如,jcxz(jump if CX is zero)、je(jump if equal)、jb(jump if below)、ja(jump if above)、jnb(jump if not below)、jna(jump if not above)等;
(3) 循环指令,比如,loop;
(4) 过程,比如,call、ret(return)、retf(return far);
(5) 中断,比如,int(interrupt)、iret(interrupt return)。
五、处理机控制指令
这些指令对标志寄存器或其他处理机状态进行设置,比如,cld(clear direction)、std(set direction)、cli(clear interrupt)、sti(set interrupt)、nop(no operation)、clc(clear carry)、cmc(carry make change)、stc(set carry)、hlt(halt)、wait、esc(escape)、lock等都是处理机控制指令。
六、串处理指令
这些指令对内存中的批量数据进行处理,比如,movsb(move string byte)、movsw(move string word)、cmps(compare string)、scas(scan string)、lods(load string)、stos(store string)等。若要使用这些指令方便地进行批量数据处理,则需要和rep(repeat)、repe(repeat if equal)、repne(repeat if not equal)等前缀指令配合使用。
附:8086CPU寄存器英文全称
1、通用寄存器
EAX(accumulator)、EBX(base)、ECX(count)、EDX(data)这些寄存器可以双字(32位)字(16位)或字节(8位)单位形式访问;
AX( accumulator 累加器) AH( accumulator high) AL(accumulator low) register (寄存器)
BX(base 基础的,基址)通用寄存器
CX(count 计数) 计数器
DX(data 数据) 数据寄存器
SP(stackpointer)、BP(base pointer)、SI(source index)、DI(destination index),这些寄存器只能以字(16位)单位形式访问。
stack 堆栈 pointer 指针 inter 埋;葬 source 源 index 索引 destination 目的
AH&AL=AX(accumulator):累加寄存器
BH&BL=BX(base):基址寄存器
CH&CL=CX(count):计数寄存器
DH&DL=DX(data):数据寄存器
SP(Stack Pointer):堆栈指针寄存器
BP(Base Pointer):基址指针寄存器
SI(Source Index):源变址寄存器
DI(Destination Index):目的变址寄存器
2、专用寄存器
IP(instruction pointer)、SP(stack pointer);
instruction 指令
IP(InstructionPointer):指令指针寄存器
SP(Stack Pointer):堆栈指针寄存器
FLAGS又称PSW(program status word)分为:
① 条件码
OF(overflow)、SF(sign)、ZF(zero)、CF(carry)、AF(auxiliary)、PF(parity)
② 控制标志
DF(direction)
③ 系统标志位
TF(trap)、IF(interrupt)、IOPL(I/O privilege level)
OF overflow flag 溢出标志操作数超出机器能表示的范围表示溢出,溢出时为1.overflow 溢出 over 结束 flow 流动,淹没
SF sign Flag 符号标志记录运算结果的符号,结果负时为1. sign 符号 flag 标记
ZF zero flag 零标志运算结果等于0时为1,否则为0. zero 0
CF carry flag 进位标志最高有效位产生进位时为1,否则为0. carry 拿,达到,进位; crazy 疯狂的
AF auxiliary carry flag 辅助进位标志运算时,第3位向第4位产生进位时为1,否则为0.auxiliary 辅助的
PF parity flag 奇偶标志运算结果操作数位为1的个数为偶数个时为1,否则为0. parity 平价,相等,同等,奇偶性
DF direcion flag 方向标志用于串处理.DF=1时,每次操作后使SI和DI减小.DF=0时则增大.direction 方向,趋势
IF interrupt flag 中断标志 IF=1时,允许CPU响应可屏蔽中断,否则关闭中断. interrupt 中断
TF trap flag 陷阱标志用于调试单步操作. trap 诱捕陷阱
3、段寄存器
CS(code)、DS(data)、SS(stack)、ES(extra)
CS(Code Segment)代码段寄存器 code 代码
DS(Data Segment):数据段寄存器 segment 分割段部分
SS(Stack Segment):堆栈段寄存器
ES(Extra Segment):附加段寄存器 extra 特别的,另外的
汇编指令的英文全称
一、数据传送指令
1.通用数据传送指令.
MOV----> move move 移动
MOVSX---->extended move with signdata extended 延伸的扩充的
MOVZX---->extended move with zero data wtih 用,随着,支持,和。。。一起
PUSH---->push push 推,增加
POP---->pop pop 取出,流行,突然
PUSHA---->push all all 全部
POPA---->pop all
PUSHAD---->push all data
POPAD---->pop all data
BSWAP---->byte swap swap 交换 byte字节
XCHG---->exchange cheange 改变 exchange 交换
CMPXCHG---->compare and change compare 比较
XADD---->exchange and add
XLAT---->translate
swap
n.交换;交换之物
vt.以...作交换;与...交换
vi.交易;交换
change
n.变化,零钱
v.改变
exchange
n.交换;兑换;交易所;交流
vt.交换;交易;兑换
vi.交换;交易;兑换
这三个字多数时候可以替换使用,如交换物品、交换意见、角色交换等.只是某些特定方面可能用其中一个更常见一些,如交换币种,感觉好象多半是用exchange,这多半是习惯而已.主要差别似乎是:swap没exchange用得那么普遍,于是显得稍微有些正式.
2.输入输出端口传送指令.
IN---->input input 输入
OUT---->output output 输出
3.目的地址传送指令.
LEA---->load effective address effective 有效的,实际的,实在的
LDS---->load DS
LES---->load ES
LFS---->load FS
LGS---->load GS
LSS---->load SS
4.标志传送指令.
LAHF---->load AH from flag
SAHF---->save AH to flag
PUSHF---->push flag
POPF---->pop flag
PUSHD---->push dflag
POPD---->pop dflag
二、算术运算指令
ADD---->add
ADC---->add with carry
INC---->increase 1
AAA---->ascii add with adjust adjust 调整
DAA---->decimal add with adjust decimal 小数的
SUB---->substract substract 减去
SBB---->substract with borrow borrow 借用
DEC---->decrease 1 decrease 减少
NEC---->negative negative 负的
CMP---->compare compare 比较
AAS---->ascii adjust on substract
DAS---->decimal adjust on substract
MUL---->multiplication multiplication乘法
IMUL---->integer multiplication integer 整数
AAM---->ascii adjust on multiplication
DIV---->divide divide划分
IDIV---->integer divide
AAD---->ascii adjust on divide
CBW---->change byte to word
CWD---->change word to double word
CWDE---->change word to double word with sign to EAX
CDQ---->change double word to quadrate word quadrate 正方形
assume 报错
英 [ə'sjuːm] 美 [ə'sum] 全球发音 跟读 口语练习
ORG (Origin)
DB (Define Byte)
DW (Define Word)
EQU (Equal)
DATA
XDATA (External Data)
BIT
END
汇编指令的英文全称(中英文对照)相关推荐
- ARM汇编指令总结--英文全称及功能描述
一.什么是指令集 在计算机的世界里,CPU只能识别二进制的机器码,对于一个32位ARMv7架构来说,每一个指令由32个0或1的组合组成,CPU的设计者会指定一组固定的组合格式,告诉CPU完成什么动作, ...
- 汇编指令及其英文全称
转自:https://blog.csdn.net/chenlycly/article/details/52240792?utm_source=blogxgwz1 1.通用数据传送指令 MOV----& ...
- linux之常用指令的英文全称 、中文解释
此文章转载于 大佬 vclol Linux常用命令英文全称与中文解释 apt: Advanced Packaging Tool 高级包装工具cp: Copy file 复制文件cat: Concate ...
- 关于ARM指令的英文全称(方便记忆|巧记汇编指令)
有些见名知意的我就不写了. B-----Branch 意义为分支,也就是跳转 BLX-----Branch with Link and exchange 意义为带返回和状态切换的跳转 CMN----- ...
- Linux —— 常见指令及其英文全称
alias:给命令起别名 awk = "Aho Weiberger and Kernighan" ,三个作者的姓的第一个字母 bash:GNU Bourne-Again Shell ...
- linux指令英文含义,Linux —— 常见指令及其英文全称
alias:给命令起别名 awk = "Aho Weiberger and Kernighan" ,三个作者的姓的第一个字母 bash:GNU Bourne-Again Shell ...
- ●有哲理的英文句子◎ -- 中英文对照
1.一个人总要走陌生的路,看陌生的风景,听陌生的歌,然后在某个不经意的瞬间,你会发现,原本是费尽心机想要忘记的事情真的就那么忘记了. One is always on a strange road, ...
- 汇编jnl_汇编语言指令英文全称
汇编语言指令英文全称 汇编指令英文全称 1.通用数据传送指令 MOV----> move MOV dest,src;dest←src MOV指令把一个字节或字的操作数从源地址src传送至目 ...
- C51 汇编指令英文全称
--------------------------------------------- -- 时间:2018-10-29 -- 创建人:Ruo_Xiao -- 邮箱:xclsoftware@163 ...
最新文章
- Google AI 系统 DeepMind无法通过 高中数学
- WAF——针对Web应用发起的攻击,包括但不限于以下攻击类型:SQL注入、XSS跨站、Webshell上传、命令注入、非法HTTP协议请求、非授权文件访问等...
- spring 各个jar包的功能
- 00后确实卷,公司新来的卷王,我们这帮老油条真干不过.....
- 让8只数码管初始显示零,每隔大约1s加一显示,到数码管显示9后,再从一开始显示
- 服务器重启导致无法启动MySQL
- linux几种方式来弹哥shell
- 敏捷开发-srcum
- java制作视频播放器
- [教程]VNR添加游戏以及H特殊码的使用
- Python 用sympy做高数题,不定积分、定积分、极限、求导样样精通!
- win10装linux双系统6,win10如何安装linux双系统
- html怎样使图片自动旋转,css怎么让图片旋转?
- 机场精细化管理_王晓鸿:BIM技术在机场工程精细化管理的应用
- 图像工作回顾之六:视频质量诊断
- DAZ3D STUDIO的保存设置
- 计算机无法启动安装程序,安装Win10系统提示安装程序无法正常启动怎么办
- Kettle【部署 02】Linux环境 Kettle pdi-ce-9.0.0.0-423 安装部署 carte 服务运行及 Java 集群调用实例(安装包1.85G+测试ktr\kjb\源码)
- Android高德地图线优化,Android 接入高德地图SDK模块的优化点点滴滴
- LAMP兄弟连——PHP免费课开班了!(在线)
热门文章
- 生于七十年代的尴尬完全版
- 布兰德 • 斯奈德节拍表
- 前后端语言简析-20220423
- C语言实现一个简单的多功能学生成绩表格管理程序(def c++版 附原码和使用教程)
- php获取网页内容的三种方法
- 2021-01-24-攒车
- (十) Nepxion-Thunder分布式RPC集成框架 - 监控中心
- 2022.05.23 - 2022.05.29
- Spring中七种事务传播行为
- 自己动手写js分享插件 [支持https] (QQ空间,微信,新浪微博。。。)