汇编语言cx指令(【一些常用的汇编语言指令】汇编语言cli指令)

:暂无数据 2026-10-09 12:50:09 :2

汇编语言cx指令(【一些常用的汇编语言指令】汇编语言cli指令)

“汇编语言cx指令”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看汇编语言cx指令(【一些常用的汇编语言指令】汇编语言cli指令)!

本文目录

【一些常用的汇编语言指令】汇编语言cli指令

汇编语言常用指令

大家在做免杀或者破解软件的时候经常要用到汇编指令,本人整理出了常用的 希望对大家有帮助!

数据传送指令

MOV :寄存器之间传送注意,源和目的不能同时是段寄存器;代码段寄存器CS 不能作为目的;指令指针IP 不能作为源和目的。立即数不能直接传送段寄存器。源和目的操作数类型要一致;除了串操作指令外,源和目的不能同时是存储器操作数。

XCHG 交换指令:操作数可以是通用寄存器和存储单元,但不包括段寄存器,也不能同时是存储单元,还不能有立即数。

LEA 16位寄存器 存储器操作数 传送有效地址指令:必须是一个16位寄存器和存储器操作数。

LDS 16位寄存器 存储器操作数 传送存储器操作数32位地址,它的16位偏移地址送16位寄存器,16位段基值送入DS 中。

LES :同上,只是16位段基址送ES 中。

堆栈操作指令

PUSH 操作数,操作数不能使用立即数,

POP 操作数, 操作数不能是CS 和立即数

标志操作指令

LAHF :把标志寄存器低8位,符号SF ,零ZF ,辅助进位AF ,奇偶PF ,进位CF 传送到AH 指定的位。不影响标志位。

SAHF :与上相反,把AH 中的标志位传送回标志寄存器。

PUSHF :把标志寄存器内容压入栈顶。

POPF :把栈顶的一个字节传送到标志寄存器中。

CLC :进位位清零。

STC :进位位为1。

CMC :进位位取反。

CLD :使方向标志DF 为零,在执行串操作中,使地址按递增方式变化。

STD :DF 为1。

CLI :清中断允许标志IF 。Cpu 不相应来自外部装置的可屏蔽中断。

STI :IF 为1。

加减运算指令

注意: 对于此类运算只有通用寄存器和存储单元可以存放运算结果。如果参与运算的操作数有两个,最多只能有一个存储器操作数并且它们的类型必须一致。

ADD 。

ADC :把进位CF 中的数值加上去。

INC :加1指令

SUB 。

SBB :把进位CF 中数值减去。

DEC :减1指令。

NEG 操作数:取补指令,即用0减去操作数再送回操作数。

CMP :比较指令,完成操作数1减去操作数2,结果不送操作数1,但影响标志位。可根据ZF (零)是否被置1判断相等;如果两者是无符号数,可根据CF 判断大小;如果两者是有符号数,要根据SF 和OF 判断大小。

乘除运算指令

MUL 操作数 :无符号数乘法指令。操作数不能是立即数。操作数是字节与AL 中的无符号数相乘,16位结果送AX 中。若字节,则与AX 乘,结果高16送DX ,低16送AX 。如乘积高半部分不为零,则CF 、OF 为1,否则为0。所以CF 和OF 表示AH 或DX 中含有结果的有效数。 IMUL 操作数 :有符号数乘法指令。基本与MUL 相同。

DIV 操作数 :被除数是在AX (除数8位)或者DX 和AX (除数16位),操作数不能是立即数。如果除数是0,或者在8(16)位除数时商超过8(16)位,则认为是溢出,引起0号中断。IDIV :有符号除法指令,当除数为0,活着商太大,太小(字节超过127,-127字超过32767,-32767)时,引起0号中断。

符号扩展指令

CBW ,CWD : 把AL 中的符号扩展到寄存器AH 中,不影响各标志位。CWD 则把AX 中的符号扩展到DX ,同样不影响标志位。注意:在无符号数除之前,不宜用这两条指令,一般采用XOR 清高8位或高16位。

逻辑运算指令与位移指令

注意:只能有一个存储器操作数;只有通用寄存器或存储器操作数可作为目的操作数,用于存放结果;操作数的类型必须一致。

NOT :取反,不影响标志位。

AND 操作数1 操作数2:操作结果送错作数1,标志CF (进位)、OF (溢出)清0,PF (奇偶)ZF (0标志) SF(符号)反映运算结果,AF (辅助进位)未定义。自己与自己AND 值不变,她主要用于将操作数中与1相与的位保持不变,与0相与清0。(都为1时为1) OR 操作数1 操作数2:自己与自己OR 值不变,CF (进位)、OF (溢出)清0,PF (奇偶)ZF (0标志)SF (符号)反映运算结果,AF (辅助进位)未定义。她使用于将若干位置1:

与1相或为1,保持不变的位与0相或。(都为0时为0)

XOR 操作数1 操作数2:自己与自己异或结果为0,标志CF (进位)、OF (溢出)清0,PF (奇偶)ZF (0)SF (符号)反映运算结果,AF (辅助进位)未定义。主要用于将若干位取反的操作:与1异或取反,与0异或保持不变。(相同为0,不同为1)

TEST 操作数1 操作数2:测试指令,和AND 相同,但结果不送操作数1,各标志位同AND 操作。

位移指令

SAL/SHL 操作数 1或CL :算术左移与逻辑左移进行相同的动作,操作数是通用寄存器或者存储器操作数,位移数为1或为CL ;最高位移CF (进位),右边用0补位。左移一次相当源操作数乘2。

SAR 操作数 1或CL :算术右移,位移数为1或为CL ;操作数是通用寄存器或者存储器操作数,左符号位保持不变,移出最低位进CF (进位)。相当源操作数除2。

SHR 操作数 1或CL :逻辑右移,操作数是通用寄存器或者存储器操作数,位移数为1或为CL ;左边用0补足,移出的最低位进CF (进位)对于无符号数,右移一位相当于除2。 ROL/ROR 操作数 1或CL : 不带进位左移/右移,操作数是通用寄存器或者存储器操作数,位移数为1或为CL 。

RCL/RCR 操作数 1或CL : 带进位左移/右移,CF (进位)参与循环。操作数是通用寄存器或者存储器操作数,位移数为1或为CL 。

转移指令

注意:由于代码段可分为多个段,所以根据转移时是否重置代码段寄存器CS 内容,可分为段内转移和段间转移。段内转移仅重置IP 的转移,转移后指令仍在同一代码段中。段间转移重置CS ,所以转移后继续执行的指令在另一个段中。

JMP 标号 :无条件跳转到标号位置执行,段内直接转移指令。地址差用一个字节表示为短转移,用一个字表示为近转移。

JMP 通用寄存器/存储单元:无条件段间间接转移指令,操作数给定的是目标地址处。 JMP FAR PTR 标号:无条件段间直接转移指令,她的具体动作是把指令中包含的目标地址的段值和偏移分别置茹CS 和IP 。

JMP 操作数:无条件段间间接转移指令,操作数是双字存储单元,给定目标地址,低字节送IP ,高字节送CS 。

条件转移指令:所有的条件转移指令都是段内转移。她是由J 加上相应的含义字母组合成。有符号数关系G (大于),E (等于),L (小于);无符号数关系A (高于)、E (等于)和B (低于);字母N 表示“不”:NB (不小于),NE (不等于)。

循环指令

LOOP 标号:她使寄存器CX 减1,若结果不等于0则转到标号,否则顺序执行LOOP 指令后的指令。最多循环65536次。

LOOPE/LOOPZ 标号:等于/全零循环指令。CX 的值减1,如果结果不等于0,并且ZF (0标志)等于1,则转移到标号。

LOOPNE/LOOPNZ 标号:不等于/非零循环指令,CX 的值减1,如果结果不等于0,并且ZF (0标志)等于0,则跳转到标号。

JCXZ 标号: 该指令实现当寄存器CX 的值等于0转移到标号,否则顺序执行。通常该指令用在循环开始前,以便在循环次数位0时,跳过循环体。

汇编语言的 ax bx cx dx都有什么区别

AX称为累加器(Accumulator),是CPU中使用最多,功能最强,执行效率的寄存器.
BX称为基地址寄存器(Base Register).
CX称为计数寄存器(Count Register).
DX称为数据寄存器(Data Register).
没有本质上的区别,都是通用16位寄存器.
相应的通用32位寄存器是EAX,EBX,ECX,EDX.
至于怎么用库文件里的指令都有定义,只需了解指令格式即可.

汇编 LOOP嵌套时,cx怎么设置先给外循环用,在内循环中CX又会改变了

关于这个问题,我在学习王爽老师的《汇编语言》P455时也发现了这个问题。这个问题在于cx的使用,我们进行两重循环,却只用了一个循环计数器,造成在进行内循环的时候,覆盖了外层循环的计数值,而loop只默认cx计数器。所以就必须先将cx中的值保存起来,搂主的两个方法都是可行的。但更好的就是用栈(内存)来做中转,因为在一个很庞大的循环中,dx,di, es,ss,sp,bp都可能被使用。

请教汇编语言高手——CX寄存器基础问题

分类: 电脑/网络 》》 互联网
问题描述:

MOV AX,

我看一个视频教程上说这条指令错了,我纳闷的很,教程上讲的是CX寄存器不能做为寄存器间接寻址

请高手帮忙证实一下!到底能不能做?我现在还不会用MASM,所以不知道该怎么证实!如果真的是CX不能做寄存器间接寻址,希望能解释一下为什么不能做!

还有一个就是 $ 这个符号怎么读?请打中文!谢谢帮忙
解析:

看看你教材上关于寄存器间接寻址是怎么规定的!

书上不可能不写这些东西的,看看到底有没有CX

$ 我们都读 美元符号 (!-_-事实也是如此!)

汇编语言中,指令XOR CX,CX表示什么意思

这是一条8086CPU的异或运算指令。

xor 表示异或操作

1 xor 1 = 0

0 xor 0 = 0

1 xor 0 = 1

0 xor 1 = 1

所以xor,cx,cx就相当于把cx各位置0。

用mov

cx,0

可实现相同的功能,但是自身异或运算效率更高,所以经常看到类似的指令。如:

XOR

AX,AX

XOR

BX,BX

异或运算有一个特性是:用同一个数x对另一个数y进行两次异或后将还原为y。用这个特性可以进行加密解密。

扩展资料:

以MOV指令作为例子,MOV指令的格式为:MOV dst,src。其中:MOV为指令助记符,表示传送,dst为目标操作数,src表示源操作数,该指令的功能是将源操作数传送到目标单元。例如:

MOV......AL,20H;将8位立即数20H传送到AL中。

MOV......AX,1234H;将16位立即数1234H传送到AX中。

MOV......EAX,34568020H;将32位立即数34568020H传送到EAX中。

汇编语言寄存器cx做loop循环计数的问题

DEBUG 软件装载我们的程序时,会把程序的长度,写入 BX:CX。
CX 是程序长度,仅仅是开始状态。
以后,执行程序时,CX 是什么,都有可能。
----
填写了 17H,就是循环 23 次。
为什么是 17H ?
用 DEBUG 看看你的程序的机器码,单步跟踪一下,就明白了。

汇编语言中指令XOR CX、CX表示什么意思

xor 表示异或操作
1 xor 1 = 0
0 xor 0 = 0
1 xor 0 = 1
0 xor 1 = 1
所以xor cx, cx就相当于把cx各位置0

汇编语言 MOV [BX],CX什么意思

先说 MOV:
传送指令MOV(Move)把一个字节、字或双字的操作数从源位置传送到目的位置,源操作数的内容不变。可以实现立即数到通用寄存器或主存的传送,通用寄存器与通用寄存器、主存或段寄存器之间的传送,主存与段寄存器之间的传送。该操作属于复制性质,不属于搬家性质。
  例如:
  MOV EAX,050ah ;将十六进制数050a 传送到通用寄存器eax中
  应该注意的是:
  1.目的操作数要与源操作数类型要一致
  2.目的操作数要和源操作数类型之一必须要有明确的类型
  说明:
  1. OPRD1 为目的操作数,可以是寄存器、存储器、累加器.
  OPRD2 为源操作数,可以是寄存器、存储器、累加器和立即数.
  2. MOV 指令分为以下四种情况:
  《1》 寄存器与寄存器之间的数据传送指令
  《2》 立即数到通用寄存器数据传送指令
  《3》 寄存器与存储器之间的数据传送指令
  《4》 立即数到存储器的数据传送
  3. 本指令不影响状态标志位
  汇编还提供许多mov变体,如movzx, movsx等等
BX:
BX指令是ARM指令系统中的带状态切换跳转指令。
BX指令跳转到指令中所指定的目标地址,若目标地址的bit为1,则跳转时自动将CPRS中的标志位T置位,即把目标地址的代码解释为Thumb代码。
我想你想要的答案是这样吧:
MOVC A,@A+DPTR 代码字节传送到累加器
MOVX A,@Ri 外部RAM(8 地址)传送到累加器
MOV CX,A 累加器传送到寄存器

关于汇编语言cx指令到此分享完毕,希望能帮助到您。

汇编语言cx指令(【一些常用的汇编语言指令】汇编语言cli指令)

本文编辑:admin

更多文章:


csvwrite函数(matlab保存csv遇到的问题)

csvwrite函数(matlab保存csv遇到的问题)

“csvwrite函数”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看csvwrite函数(matlab保存csv遇到的问题)!

2026年10月23日 04:30

jquery动态添加表格行(如何通过jquery动态给表格添加一行)

jquery动态添加表格行(如何通过jquery动态给表格添加一行)

其实jquery动态添加表格行的问题并不复杂,但是又很多的朋友都不太了解如何通过jquery动态给表格添加一行,因此呢,今天小编就来为大家分享jquery动态添加表格行的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月23日 00:30

cmake命令行参数(CMake (三)cmake 在工程中的用法)

cmake命令行参数(CMake (三)cmake 在工程中的用法)

本篇文章给大家谈谈cmake命令行参数,以及CMake (三)cmake 在工程中的用法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月23日 00:00

游戏代码翻译器下载(求游戏实时翻译软件)

游戏代码翻译器下载(求游戏实时翻译软件)

“游戏代码翻译器下载”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看游戏代码翻译器下载(求游戏实时翻译软件)!

2026年10月22日 23:50

linux数据备份命令(Linux系统下常用的数据备份方法有哪些)

linux数据备份命令(Linux系统下常用的数据备份方法有哪些)

大家好,今天小编来为大家解答以下的问题,关于linux数据备份命令,Linux系统下常用的数据备份方法有哪些这个很多人还不知道,现在让我们一起来看看吧!

2026年10月22日 23:20

小程序开发平台开源(有哪些快速开发平台或者零代码开发平台)

小程序开发平台开源(有哪些快速开发平台或者零代码开发平台)

大家好,如果您还对小程序开发平台开源不太了解,没有关系,今天就由本站为大家分享小程序开发平台开源的知识,包括有哪些快速开发平台或者零代码开发平台的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月22日 23:10

executequery返回值(ExecuteQuery(sql)的返回值)

executequery返回值(ExecuteQuery(sql)的返回值)

大家好,executequery返回值相信很多的网友都不是很明白,包括ExecuteQuery(sql)的返回值也是一样,不过没有关系,接下来就来为大家分享关于executequery返回值和ExecuteQuery(sql)的返回值的一些

2026年10月22日 23:00

web个性布局模板(FrontPage简明教程:网页布局)

web个性布局模板(FrontPage简明教程:网页布局)

各位老铁们,大家好,今天由我来为大家分享web个性布局模板,以及FrontPage简明教程:网页布局的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年10月22日 22:50

舍曲林吃了一周越来越严重(我母亲77岁,服用舍曲林一周,开始半片,4天后改为1片,第三天开始失眠,第四天出现乏力、食欲下降,)

舍曲林吃了一周越来越严重(我母亲77岁,服用舍曲林一周,开始半片,4天后改为1片,第三天开始失眠,第四天出现乏力、食欲下降,)

本篇文章给大家谈谈舍曲林吃了一周越来越严重,以及我母亲77岁,服用舍曲林一周,开始半片,4天后改为1片,第三天开始失眠,第四天出现乏力、食欲下降,对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所

2026年10月22日 21:00

flash player电脑版下载(FLASH PLAYER在哪下能安全的下载呢)

flash player电脑版下载(FLASH PLAYER在哪下能安全的下载呢)

这篇文章给大家聊聊关于flash player电脑版下载,以及FLASH PLAYER在哪下能安全的下载呢对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月22日 19:20

最近更新

网站优化 刷 新手如何快速提升排名
2026-10-23 04:53:16 浏览:0
自贡抖音seo优化推广新手如何入门
2026-10-23 04:52:23 浏览:0
福州seo自然排名网站建设怎么选?
2026-10-23 04:50:18 浏览:0
热门文章

wait for you杨和苏(大家听下(wait for you)这首英文歌的开头那段音乐)
2026-06-13 16:20:04 浏览:26
刷关键字排名怎么操作最有效?
2026-09-14 20:02:13 浏览:20
标签列表