汇编: mul乘法指令
两个相乘数,要么都是8位,要么都是16位。 8位乘法,16位乘法。
如果是8位,一个数字默认存放在al中,另外一个数字存放在其他8位寄存器中或者字节型内存单元中。
mul 8位寄存器 ;结果存放在ax中
mul byte ptr ds:[0] ;结果存放在ax中
如果是16位,一个数字默认存放在ax中,另外一个数字存放在其他16位寄存器中或者字型内存单元中。
mul 16位寄存器 ;结果存放在dx, ax中
mul word ptr ds:[0] ;结果存放在dx, ax中
结果: 8位乘法,得到一个16位数, 结果存放在ax中
16位乘法,得到一个32位数, 低16位存放在ax中,高16位存放在dx中
assume cs:code, ds:data, ss:stackdata segmentdd 0
data endsstack segment stackdb 128 dup(0)
stack endscode segmentstart: mov ax, stackmov ss, axmov sp, 128mov di, 0call init_regmov bx, 5 ; 参数call get_cube ; 对参数进行处理mov es:[di+0], ax ;call程序的返回值mov es:[di+2], dx mov ax, 4C00Hint 21H
;================================ 切割逻辑
get_cube: push bxmov ax, bxmul bxmul bxpop bxret;=================================
init_reg: mov ax, datamov ds, axmov es, axretcode endsend start
assume cs:code, ds:data, ss:stackdata segmentdw 11,22,33,44,55,66,77,88dd 0,0,0,0,0,0,0,0
data endsstack segment stackdb 128 dup(0)
stack endscode segmentstart: mov ax, stackmov ss, axmov sp, 128call init_regcall number_cube mov ax, 4C00Hint 21H;================================
number_cube:mov cx, 8mov si, 0mov di, 16cube: mov bx, ds:[si]call get_cubemov es:[di], axmov es:[di+2], dxadd si, 2add di, 4loop cuberet
;================================ 切割逻辑
get_cube: push bxmov ax, bxmul bxmul bxpop bxret;=================================
init_reg: mov ax, datamov ds, axmov es, axretcode endsend start
汇编: mul乘法指令相关推荐
- 汇编: mul乘法指令(字乘法结果在dx:ax中,8位乘法:一个乘数默认放在al中)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m0_37564426/article/ ...
- 8086汇编之乘法指令MUL
2023年4月22日,周六晚上. 今天写汇编作业的时候,碰到了MUL指令,于是把学习到的MUL指令知识记录下来,也可以通过写这篇博客彻底理清MUL指令. 当被乘数和乘数都是8位时: 怎么判断被乘数和乘 ...
- 贺利坚老师汇编课程51笔记:MUL乘法指令
指路老师的博客 MUL 寄存器 MUL 内存单元 8位乘法 16位乘法 被乘数(默认) AL AX 乘数 8位寄存器或内存字节单元 16位寄存器或内存字节单元 结果 AX DX(高位)AX(低位) M ...
- ARM学习笔记7——乘法指令
ARM乘法指令完成两个数据的乘法,两个32位二进制数相乘的结果是64位的4积. 其中: 1."RadHi:RdLo"是由RdHi(最高有效32位)和RdLo(最低有效32位)链接形 ...
- 汇编总结:无符号除法,有符号除法,取余,无符号乘法,有符号乘法指令
2019独角兽企业重金招聘Python工程师标准>>> 本文分为3个模块. 示例---该指令的示例 解释---为指令不好理解的地方 练习---为了更熟悉该指令 1.1 有符号除法指令 ...
- c语言中mul的用法,MUL指令(无符号数的乘法指令)
1.MUL指令(无符号数的乘法指令) 指令格式: MUL OPS :OPS可以是reg和mem操作数. 被乘数先放在AX或AL.EAX中,再将乘数给OPS. 字节乘法: (AL)*(OPS8)→AX ...
- 8086汇编寄存器及指令汇总
1 寄存器的分类 通用寄存器: ax,bx,cx,dx,(ah,al,bh,bl,ch,cl,dh,dl): sp,bp,si,di 指令寄存器: ip 标志寄存器: FR 段寄存器: cs,ds ...
- 汇编语言---乘法指令及符号扩展
汇编语言---有符号数乘法指令 介绍 格式及功能介绍 无符号数乘法指令 有符号数乘法指令 符号扩展及符号扩展语句 符号扩展 符号扩展语句 例子 无符号相乘 有符号数相乘 这是本文的重点: 有符号数相乘 ...
- 汇编跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
转自:http://www.cnblogs.com/del/archive/2010/04/16/1713886.html http://pan.baidu.com/s/1gVTSi 跳转指令分三类: ...
最新文章
- 妹子调车为哪般?室外赛道来闯关。
- 【行业报告】信贷场景下全流程数据风控体系——宜信
- rockemq 发送延迟消息_RocketMQ系列(五)广播与延迟消息
- 关于SQL Tuning的知识体系
- Java读取HttpServletRequest的post数据流
- c语言连续非递减子序列,最长非递减子序列的应用
- Unix编程之size_t、ssize_t
- 20190902每日一句
- C# WinForm程序中使用Unity3D控件
- python计算标准差为什么分母要-1_为什么样本方差(sample variance)的分母是 n-1?...
- 信息流广告 html5,做信息流广告怎么找关键词?
- cad剖切线的快捷键_CAD有哪些常用的快捷键?
- MaterialDrawer库的Gradle配置
- java Base64编解码
- 云模型的MATLAB实现
- CCF TALKs 报名 | 今天,技术如何推动社会进步
- 音乐播放器(vip在线听下载等等)~~正常运行
- 今天第一次电面,国信证券金融工程
- 【win10安装Kafka发消息及消费】
- SPSS李克特量表的变量属于顺序变量,为什么可以当作连续变量使用?【SPSS 060期】
热门文章
- 洛谷P3391文艺平衡树(Splay)
- Item 14: 如果函数不会抛出异常就把它们声明为noexcept
- IOS第三天(@property与@synthesize的用法)
- 给GridView删除列添加删除提示
- DedeCms如何调用Discuz论坛主题等数据方法总结
- Javascript综合应用小案例(续)
- Oracle 实例恢复时 前滚(roll forward) 后滚(roll back) 问题
- [转] 全面了解Windows任务管理器
- erlang节点互相ping,一个能ping通,另外一个不行。
- 响应式网站——第二话(技术实现)