NASM汇编_nasm标准

NASM汇编_nasm标准操作指令MOV  dst,src 把src的内容复制到dst中,操作字长由参数字长决定push   把参数入栈pop     从栈顶弹出数据,存入给定参数中PUSHA把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.(在不同模式下面,对应不同的寄存器,如32bit模式,对应32位寄存器)POPA   把DI,SI,BP,SP,BX,DX,C

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

操作指令

MOV   dst, src   把src 的内容 复制到 dst中,操作字长由参数字长决定

push    把参数入栈

pop      从栈顶弹出数据,存入给定参数中

PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.(在不同模式下面,对应不同的寄存器,如32bit模式,对应32位寄存器)

POPA    把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈. (同上)

cmp   arg1, arg2   比较两个参数的大小(arg1 – arg2), 根据结果修改标志位

xchg   arg1, arg2  交换两个参数的内容

算术指令

add   dst,  src      加法,dst = dst + src

sub   arg1, arg2  减法,arg1 = arg1 – arg2

字符串指令

DS:SI 源串段寄存器 :源串变址.
ES:DI 目标串段寄存器:目标串变址

CX 重复次数计数器.
AL/AX 扫描值

SCASB 串扫描.  把AL的内容与目标串作比较(AL –  [ES:DI]),比较结果反映在标志位.

LODS 装入串. 把源串中的元素(字或字节)逐一装入AL或AX,EAX中. ( LODSB 传送字符. LODSW 传送字. LODSD 传送双字. )

STOS 保存串.  LODS的逆过程。把AL或AX或EAX中的数据装入目标串中。(STOSB, STOSW, STOSD)

REP 当CX/ECX<>0时重复

REPE/REPZ 当ZF=1或比较结果相等,且CX/ECX<>0时重复

REPNE/REPNZ 当ZF=0或比较结果不相等,且CX/ECX<>0时重复.

REPC 当CF=1且CX/ECX<>0时重复.

REPNC 当CF=0且CX/ECX<>0时重复

程序转移指令

1. 无条件转移指令

JMP 无条件转移指令

CALL 过程调用

RET/RETF过程返回.

2. 条件转移指令

JA/JNBE 大于时转移.

JAE/JNB 大于或等于转移.

JB/JNAE 小于转移.

JBE/JNA 小于或等于转移.

以上四条,测试无符号整数运算的结果(标志C和Z).

JG/JNLE 大于转移.

JGE/JNL 大于或等于转移.

JL/JNGE 小于转移.

JLE/JNG 小于或等于转移.

以上四条,测试带符号整数运算的结果(标志S,O和Z).

JE/JZ 等于转移.

JNE/JNZ 不等于时转移.

JC 有进位时转移.

JNC 无进位时转移.

JNO 不溢出时转移.

JNP/JPO 奇偶性为奇数时转移.

JNS 符号位为 “0” 时转移.

JO 溢出转移.

JP/JPE 奇偶性为偶数时转移.

JS 符号位为 “1” 时转移.

3. 循环控制指令(短转移)

LOOP CX不为零时循环.

LOOPE/LOOPZ CX不为零且标志Z=1时循环.

LOOPNE/LOOPNZ CX不为零且标志Z=0时循环.

JCXZ CX为零时转移.

JECXZ ECX为零时转移.

4. 中断指令

INT 中断指令

INTO 溢出中断

IRET 中断返回

处理机控制指令

标志处理指令 CLC(进位位置0指令)

CMC(进位位求反指令)

STC(进位位置为1指令)

CLD(方向标志置1指令)

STD(方向标志位置1指令)

CLI(中断标志置0指令)

STI(中断标志置1指令)

NOP(无操作)

HLT(停机)

WAIT(等待)

ESC(换码)

LOCK(封锁)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179251.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月30日 上午8:36
下一篇 2022年8月30日 上午8:36


相关推荐

  • GetTickCount 和getTickCount[通俗易懂]

    GetTickCount 和getTickCount[通俗易懂]GetTickCount:正常读取时间函数getTickCount:不知道是什么鬼东东函数都包含在windows.h中。。运行出的结果天壤之别~~~转载于:https://www.cnblogs.com/Daringoo/p/4503565.html…

    2025年7月10日
    5
  • java fgc_记一次频繁FGC的简单排查

    java fgc_记一次频繁FGC的简单排查简书占小狼转载请注明原创出处,谢谢!如果读完觉得有收获的话,欢迎点赞加关注周末愉快,今天有时间记录一下上周遇到的一个问题,学习的脚步不能放慢,也不敢放慢。存在问题在线上环境进行服务压测,压测完成后,cpu使用率居高不下,很是费解,按理说已经没有压测请求了,这时消耗cpu资源的只有GC线程了,可以通过jstat命令查看一下JVM的GC情况,然后就碰到了诡异的GC问题。jstat命令jstat[…

    2022年6月19日
    30
  • html5人物图片360度立体旋转

    体验效果:http://hovertree.com/texiao/html5/10.htm下载:http://hovertree.com/hvtart/bjae/t16oddyt.htm代码如下:Fu

    2021年12月21日
    47
  • 编程路上必定要知道的数据库语言SPL

    编程路上必定要知道的数据库语言SPL要说清这个目标,先要理解数据库是做什么的。数据库这个软件,名字中有个“库”字,会让人觉得它主要是为了存储的。其实不然,数据库实现的重要功能有两条:计算、事务!也就是我们常说的OLAP和OLTP,数据库的存储都是为这两件事服务的,单纯的存储并不是数据库的目标。我们知道,SQL是目前数据库的主流语言。那么,用SQL做这两件事是不是很方便呢?事务类功能主要解决数据在写入和读出时要保持的一致性,实现这件事的难度并不小,但对于应用程序的接口却非常简单,用于操纵数据库读写的代码也很简单。如果假定目前关系数据库的逻辑存储

    2022年10月6日
    5
  • pycharm 3.2激活码 2022【在线注册码/序列号/破解码】

    pycharm 3.2激活码 2022【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    69
  • 这个, …, 男方也太背了吧, 尽碰上极品女方…

    这个, …, 男方也太背了吧, 尽碰上极品女方…
    发信人:jungleford(風淸揚╬孤城斩菜羊),信区:Joke
    标 题:我生活在上海,我相亲无数次,那些极品女方父母(转载)
    发信站:水木社区(SunAug2220:58:532010),站内

    【以下文字转载自Shanghai讨论区】
    发信人:adi(杨过),信区:Shanghai
    标 题:我生活在上海,我相亲无数次,那些极品女方父母
    发信站:水木

    2022年6月4日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号