
汇编
lyh_lcz
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
汇编学习(1)
1.输入两个数,分别作为有符号和无符号数比较大小,输出较大值,并分别输出差值的绝对值。 int a; int b; int max_signed; unsigned int max_unsigned; int differ_signed_abs; unsigned int differ_unsigned_abs; printf("a = &amp原创 2018-09-22 15:31:35 · 366 阅读 · 0 评论 -
汇编学习(2)
1.输入一个无符号数,统计‘0’的个数原创 2018-09-22 15:54:57 · 708 阅读 · 0 评论 -
汇编学习(3)
字符串处理指令:lods: 从[esi]传给累加器,根据df和操作字长调整esistos: 从累加器传给[edi],根据df和操作字长调整edimovs: 直接从[esi]传到[edi],,根据df和操作字长调整esi和ediscas: 累加器与[edi]相减比较,不影响操作数,影响标志位cmps: [esi]与[edi]相减比较,不影响操作数,影响标志位重复前缀:rep: 若...原创 2018-09-30 01:34:09 · 755 阅读 · 0 评论 -
汇编学习(4)
子程序参数调用约定:寄存器传参:使用方便,但可分配参数少堆栈传参:较为复杂,但可安排足够多的局部变量。需注意进出栈的平衡子程序设计过程中应使子程序和主程序保持某种默契,采用某一种约定。例:在C函数目标代码中, 不保护eax、ecx和edx,保护ebx、esi、edi和ebp。在使用乘除指令时,应看情况是否需要对edx进行处理,否则指令会出错。在内联汇编程序过程中也应当注意寄...原创 2018-10-09 21:11:29 · 673 阅读 · 0 评论 -
汇编学习(5)
1.统计字符串长度,将结果按十六进制字符串格式输出要求:使用重复前缀和条件设置指令 char s_23[81]; char len[81]; printf("s = "); scanf("%s", s_23); _asm{ lea ecx, s_23 //获取字符串存储地址 call s_len mov ebx, eax //将长度值存入ebx原创 2018-10-10 16:45:35 · 471 阅读 · 0 评论 -
汇编学习(6)
本次编写环境为emu8086,为16位环境。1.输出26个英文字母,重复9行 mov cx, 9 ;设置计数器为9 lea dx, str ;获取字符串str的开始位置line: mov ah, 9 int 21h ;显示一次str开始的字符串 loop line ...原创 2018-10-25 15:34:30 · 883 阅读 · 0 评论 -
汇编学习(7)——指令汇总
文章目录指令汇总简单传送指令mov 传送xchg 交换加减指令add 简单加法sub 简单减法adc 带进位加法sbb 带进位减法inc 自增dec 自减neg 取反乘除指令mul 无符号乘法imul 有符号乘法div 无符号除法idiv 有符号除法符号扩展指令cbw 字节扩展为字cwd 字扩展为双字cdq 双字扩展为四字cwde 另一条字转换为双字指令扩展传送指令movsx 符号扩展传送movz...原创 2018-11-17 14:44:36 · 2291 阅读 · 0 评论