一.字符串处理指令 (1) lodsb.lodsw:把DS:SI指向的存储单元中的数据装入AL或AX,然后根据DF标志增减SI (2) stosb.stosw:把AL或AX中的数据装入ES:DI指向的存储单元,然后根据DF标志增减DI (3) movsb.movsw:把DS:SI指向的存储单元中的数据装入ES:DI指向的存储单元中,然后根据DF标志分别增减SI和DI (4) scasb.scasw:把AL或AX中的数据与ES:DI指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减S…
汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址.在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令,普遍地说,特定的汇编语言和特定的机器语言指令集是相互对应的,不同平台之间不可直接移植. 字串操作指令 移动串指令: MOVSB.MOVSW.MOVSD ;…
(11)字符串操作指令 字符串操作指令的实质是对一片连续存储单元进行处理,这片存储单元是由隐含指针DS:SI或ES:DI来指定的.字符串操作指令可对内存单元按字节.字或双字进行处理,并能根据操作对象的字节数使变址寄存器SI(和DI)增减1.2或4.具体规定如下: (1).当DF=0时,变址寄存器SI(和DI)增加1.2或4: (2).当DF=1时,变址寄存器SI(和DI)减少1.2或4. 在后面各指令中,有关变址寄存器都按上述规定进行增减,不再一一说明. 1.取字符串数据指令(Load Stri…
知识点: REPNE/REPNZ 指令 SCASB 指令 一.SCASB 指令 cmp byte ptr [edi],al //对标志位的影响相当于sub指令 //同时还会修改寄存器EDI的值:如果标志DF为0,则 inc EDI:如果DF为1,则 dec EDI. 二.REPNE 指令 REPNE SCAS BYTE PTR ES:[EDI] // 当ECX!=0并且ZF==0时 重复执行后边的指令 每执行一次ECX的值减1 REPNE 和REPNZ 是同一条指令的不同助记符 三.实例运用…
知识点: REPE/REPZ 指令 CMPSB 指令 一.CMPSB //cmp //sub //SCASB//scasw//scasd cmp byte ptr [edi],al //对标志位的影响相当于sub指令 word,dword //同时还会修改寄存器EDI的值:如果标志DF为0,则 inc EDI:如果DF为1,则 dec EDI. //CMPSB cmps byte ptr [edi],byte ptr [esi]//对标志位的影响相当于sub指令 cmps word ptr…
mov指令的作用: mov指令可能是汇编里用的最多的指令了,完成c语言里的赋值. mov指令种类: 1.普通的mov指令 2.做符号扩展的movs 3.做零扩展的movz 1.普通mov的种类有: movb #完成1个字节的复制 movw #完成2个字节的复制 movl #完成4个字节的复制 movq #完成8个字节的复制 2.movs的种类以及为什么要符号扩展指令? 1.为什么要用符号扩展指令 如果要完成下面的c语言代码 char c = -1; int i = c; 如果翻译成下面的汇编代码…
关于EQU汇编指令 EQU是英文单词equal的缩写,因此我们也能对EQU指令有一个初步的认识:做等价替换使用. 在8051汇编语言中,EQU用于定义一个符号常量,其效果不会带来存储空间的占用(这和C语言中定义变量有区别).它仅仅是将一个常量(立即数)用一个符号来表示,即实现常量符号化的效果.汇编编译器在编译时会将这个符号替换为对应的常量.所以,EQU的作用和C语言中的宏常量十分类似. 其格式一般如下: IDATALEN EQU 80H COUNT EQU 在8051的启动代码中我们也可以发现许…
知识点: REPNE/REPNZ 指令 SCASW 指令 SCASD 指令 SCAS 指令 一.SCASW 指令 //SCASB cmp word ptr [edi],al //对标志位的影响相当于sub指令 //同时还会修改寄存器EDI的值:如果标志DF为0,则 inc EDI:如果DF为1,则 dec EDI. 二.SCASD 指令 SCAS BYTE PTR ES:[EDI] // 当ECX!=0并且ZF==0时 重复执行后边的指令 每执行一次EDI的值加 1 SCAS WORD…
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明.2019-09-06,21:59:16.作者By-----溺心与沉浮----博客园 JCC指令决定它跳不跳转跟别的没关系,只跟EFLAG标志寄存器有关系!!! 1.JE, JZ 结果为零则跳转(相等时跳转) ZF=1 2.JNE, JNZ    结果不为零则跳转(不相等时跳转)  ZF=0 3.JS   结果为负则跳转 SF=1 4.JNS    结果为非负则跳转 SF=0 5.JP, JPE 结果中1的个数为偶数则跳转   PF=1…
汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址.在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令,普遍地说,特定的汇编语言和特定的机器语言指令集是相互对应的,不同平台之间不可直接移植. 移位相关指令 每种汇编语言都有进行操作数移位的指令,移位和循环移位…