汇编
文章平均质量分 81
IT笔记
这个作者很懒,什么都没留下…
展开
-
汇编语言---位操作指令(gcc内联汇编测试)
位操作类指令逻辑运算指令: AND OR XOR NOT TEST移位指令: 逻辑、算术移位指令: SHL SHR SAL SAR 循环、带进位循环移位指令: ROL ROR RCL RCR符号解释: &:按位与 |:按位或 ^:按位异或 reg:寄存器 imm:立即数 mem:内存变量注意这些指令对标志位的影响一:逻辑与指令ANDAND reg,imm/reg/mem ;reg←reg & imm/reg/m...原创 2021-12-04 17:21:34 · 2117 阅读 · 0 评论 -
汇编语言---跳转指令
跳转指令分三类:一、无条件跳转: JMP;二、根据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ(ECX 为 0 则跳转);三、根据 EFLAGS 寄存器的标志位跳转, 这个太多了.根据标志位跳转的指令:JE : 等于则跳转JNE:不等于则跳转JZ: 为 0 则跳转JNZ:不为 0 则跳转JS: 为负则跳转JNS:不为负则跳转JC:进位则跳转JNC:不进位则跳转JO:溢出则跳转JNO:不溢出则跳转JA:无符号大..转载 2021-11-28 18:41:27 · 12806 阅读 · 0 评论 -
汇编语言---80386寄存器,GCC内联汇编语法
8个32-bit寄存器:%eax,%ebx,%ecx,%edx,%edi,%esi,%ebp,%esp;8个16-bit寄存器:%ax,%bx,%cx,%dx,%di,%si,%bp,%sp;8个8-bit寄存器:%ah,%al,%bh,%bl,%ch,%cl,%dh,%dl;它们事实是寄存器%ax,%bx,%cx,%dx的高8bit和低8bit6个段寄存器:%cs(code),%ds(data),%ss(stack),%es(extend),%fs, %gs;3个控制寄存器:%cr0,%c原创 2021-11-28 17:41:33 · 1736 阅读 · 0 评论 -
汇编语言---字符串操作指令(之gcc内联汇编应用)
目录一、加载字符串数据指令(Load String Instruction)二、存储字符串数据指令(Store String Instruction)三、字符串传送指令(Move String Instruction)四、输入字符串指令(Input String Instruction)五、字符串输出指令(Output String Instruction)六、字符串比较指令(Compare String Instruction)七、字符串扫描指令(Scan String Ins原创 2021-11-28 17:04:43 · 2639 阅读 · 0 评论 -
gcc内联汇编实现memset和memcpy_asm函数
源码:#include <stdio.h>#include <string.h>void *memset_asm(void *__s, char __c, size_t size){ asm volatile( "cld\n\t" "rep\n\t" "stosb\n\t" ::"a"(__c),"D"(__s),"c"(size) :"memory"); return ...原创 2021-11-24 23:13:28 · 1342 阅读 · 1 评论 -
MCS-51指令系统
数据传送指令一: 内部数据传送指令内部数据传送指令的源操作数和目的操作数都在单片机内部, 一般格式如下:MOV 目的操作数, 源操作数 ;目的操作数<-源操作数,源操作数不变(相当于COPY)1,立即寻址型传送指令(1)MOV A,#data ;(A)<-data(2)MOV Rn,#data ;(Rn)<-data(3)MOV @Ri,#data ;((Ri))<-data(4)MOV dir...原创 2021-11-21 19:18:27 · 3065 阅读 · 0 评论