社区
汇编语言
帖子详情
32位汇编用移位做乘法
misaki_526
2014-06-12 04:47:41
把这个溢出了的数值弄到edx
...全文
416
4
打赏
收藏
32位汇编用移位做乘法
把这个溢出了的数值弄到edx
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
单片机
移位
实现
乘法
运算(
汇编
语言)
### 单片机
汇编
语言中利用
移位
方式实现
乘法
运算 #### 一、引言 在现代计算系统中,
乘法
运算是一项基础且重要的运算。不同的处理器架构可能采用不同的方式来执行
乘法
,有些处理器内置了专门的硬件
乘法
器来提高效率,...
移位
相加实现
乘法
这种方法基于二进制数的性质,通过位移(
移位
)和加法操作来完成两个数的
乘法
计算,不仅简化了硬件设计,也提高了运算速度。下面将详细探讨这一知识点。 ###
移位
相加实现
乘法
的基本原理 在二进制数学中,任何整数...
汇编
语言程序设计
乘法
运算
这条指令将AL中的数值与BL相乘,结果存储在AX(对于16位
乘法
)或EAX(对于
32位
乘法
)寄存器中,其中高位在AH或EH,低位在AL或AX。如果乘积超过了AL或EAX的范围,OF标志会被设置,表示溢出。 对于带符号整数
乘法
,...
32位
无符号
乘法
/递归调用程序
根据给定的信息,我们可以分析出该段代码是一个用于实现
32位
无符号
乘法
运算的
汇编
语言程序。下面将详细解析此程序的功能、结构及其关键实现细节。 ### 程序功能概述 该程序主要实现了两个
32位
无符号整数的
乘法
运算...
八位机
汇编
语言 二位
乘法
总的来说,这段八位机的
汇编
代码展示了如何利用基本的寄存器操作和控制流程指令实现二位数的
乘法
运算。由于
汇编
语言的低级特性,这样的算法往往需要对计算机内部工作原理有深入理解。在没有注释的情况下,理解和分析...
汇编语言
21,497
社区成员
41,616
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章