社区
汇编语言
帖子详情
32位汇编用移位做乘法
misaki_526
2014-06-12 04:47:41
把这个溢出了的数值弄到edx
...全文
473
4
打赏
收藏
32位汇编用移位做乘法
把这个溢出了的数值弄到edx
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2014-06-30
打赏
举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
大熊猫侯佩
2014-06-12
打赏
举报
回复
请参考我置顶的帖子: [置顶] [原创]初学者问题集以及一些编程思路 [推荐]
misaki_526
2014-06-12
打赏
举报
回复
为什么输出结果有些正确,有些错误
misaki_526
2014-06-12
打赏
举报
回复
以下是我的代码 include irvine32.inc .data input1 byte '请输入第一个数:', 0 input2 byte '请输入第二个数:', 0 array db 32 dup(0) array_sum dd 64 dup(0) .code main proc mov edx, offset input1 call writestring call readint mov ebx, eax ;ebx为乘数 mov edx, offset input2 call writestring call readint ;eax为被乘数 mov ecx, 32 xor edi, edi ;初始化开关数组的指针,CF清零 rcl ebx, 1 ;循环左移,调整 MOVE: rcr ebx, 1 mov edx, ebx and edx, 1;0fffeh mov array[edi], dl inc edi loop MOVE XOR EDI,EDI MOV ECX,32 L2: MOV EDX,OFFSET array MOV EBX,OFFSET array_sum CALL MoveMul INC EDI LOOP L2 MOV ECX,32 XOR EDI,EDI XOR EAX,EAX XOR EDX,EDX SUM: ADD EAX,array_sum[EDI] ADC EDX,array_sum[EDI+4] ADD EDI,8 LOOP SUM call writedec exit MoveMul PROC ;NEAR push ecx test byte ptr [edx][edi],1 ;测试移动开关是否打开 jz OFF ON: xor ecx,ecx ;清除进位标志 mov ecx,edi ;移位次数 cmp ecx, 0 je L2 L1: shl eax,1 ;被乘数eax左移1位 shl edx,1 ;移入edx loop L1 L2: mov [ebx][edi*8],eax ;保存移位后的结果eax mov [ebx][edi*8+4],edx ;保存移位后的结果edx OFF: pop ecx ret MoveMul ENDP main endp end main
32位
汇编
:实验6位运算类指令使用
本文总结了计算机中逻辑运算和
移位
运算的核心知识点。逻辑运算部分介绍了与(AND)、或(OR)、非(NOT)、异或(XOR)四种基本运算的规则、
汇编
语法及标志位影响,并说明了其在位掩码、条件判断、数据加密等场景的应用。
移位
运算部分详细分类了逻辑/算术左右移、循环
移位
等操作,解释了其运算规则、标志位影响以及在乘除法优化、数据压缩等领域的实用价值。实验验证展示了如何通过逻辑运算实现位操作、利用
移位
运算替代
乘法
运算、以及ASCII转BCD码等典型应用场景。这些运算在底层编程中具有重要作用,是计算机基础运算的重要组成
DSP
汇编
实战:
32位
有符号
乘法
优化与64位结果处理
本文深入探讨DSP
汇编
语言中
32位
有符号
乘法
的优化策略与64位结果处理技巧。通过解析DSP
乘法
指令、符号处理与绝对值转换、高效累加策略及内存布局优化,帮助开发者显著提升嵌入式系统性能,避免常见实现陷阱。
python语言写
汇编
器_
汇编
语言程序作业代写代
做
、代
做
汇编
语言作业、代
做
留学生
汇编
作业代写Python编程|代
做
留学生Processing...
(CSCI 365) Project Seven Bitwise MultiplicationObjectives:1.Implement Bitwise Multiplication algorithm2.Apply loop3.Write user defined procedure4.Use user defined procedure5.Apply Irvine32.inc library...
【ARM系列】ARM常用
汇编
指令
在调试芯片启动代码或者分析ARM core运行流程的过程中,尝尝需要对照软件代码的反
汇编
文件进行分析,因此有必要掌握一些常用的arm
汇编
指令。
[Linux C] 深入解析do_div():内核高效64位除法的实现与优化
本文深入解析了Linux内核中do_div()宏的实现原理与优化策略。该函数是内核进行64位除以
32位
整数运算的核心工具,通过内联
汇编
或编译器内置函数实现跨平台高性能除法,避免了对外部库的依赖。文章详细探讨了其在不同架构(如ARM/x86)下的实现差异、除数为常数时的性能优化技巧,并对比了用户态除法的区别,为内核开发者提供了高效可靠的最佳实践。
汇编语言
21,500
社区成员
41,619
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章