8086汇编之乘法指令MUL
2023年4月22日,周六晚上。
今天写汇编作业的时候,碰到了MUL指令,于是把学习到的MUL指令知识记录下来,也可以通过写这篇博客彻底理清MUL指令。
当被乘数和乘数都是8位时:
怎么判断被乘数和乘数是不是8位的?
8位二进制能表示的无符号10进制数的范围:0到255
8位二进制能表示的有符号10进制数的范围:-128到127
8位二进制能表示的无符号16进制数的范围:0x00到0xFF
8位二进制能表示的有符号16进制数的范围:-0x80到0x7F
只要不超过这个范围,那就是8位的。
怎么用MUL指令来完成8位的乘法?
被乘数要放在寄存器AL中,
MOV AL,66 ;AL存放被乘数,66是16进制数
乘数要保存在8位寄存器或者内存中,
MOV BL,9 ;BL存放乘数,9是16进制数
然后,通过MUL指令,让乘数和被乘数相乘
MUL BL ;因为被乘数默认放在AL,所以只需要一个操作数来告诉CPU乘数是多少
最后,结果存放在AX中
注:下图中所有的数都是16进制的!
当被乘数和乘数都是16位时:
怎么判断被乘数和乘数是不是16位的?
16位二进制能表示的有符号16进制数的范围:0x8000到0x7FFF
16位二进制能表示的无符号16进制数的范围:0x0000到0xFFFF
16位二进制能表示的有符号10进制数的范围:-32768到32767
16位二进制能表示的无符号10进制数的范围:0到65535
怎么用MUL指令来完成16位的乘法?
被乘数要放在寄存器AX中,
MOV AX,120 ;AX存放被乘数,120是16进制数,超过了8位的范围
乘数要保存在16位寄存器或者内存中,
MOV BX,120 ;BX存放乘数,120是十六进制数,超过了8位的范围
然后,通过MUL指令,让乘数和被乘数相乘
MUL BX ;因为被乘数默认放在AX,所以只需要一个操作数来告诉CPU乘数是多少
最后,结果保存在AX和DX中,DX保存结果的高16位,AX保存结果的低16位
注:下图中所有的数都是16进制的!
8086汇编之乘法指令MUL相关推荐
- 8086汇编寄存器及指令汇总
1 寄存器的分类 通用寄存器: ax,bx,cx,dx,(ah,al,bh,bl,ch,cl,dh,dl): sp,bp,si,di 指令寄存器: ip 标志寄存器: FR 段寄存器: cs,ds ...
- 8086汇编-实验8-jmp指令的理解
offset 标号:取标号处的地址 mov 16位 offset 标号:取标号偏移地址 mov 32位 offset 标号:取标号段地址:偏移地址 assume cs:code code segmen ...
- 学 Win32 汇编[27] - 乘除指令: MUL、IMUL、DIV、IDIV
MUL: 无符号乘 ;影响 OF.CF 标志位 ;指令格式: ;MUL r/m ;参数是乘数;如果参数是 r8/m8, 将把 AL 做乘数, 结果放在 AX ;如果参数是 r16/m16, 将把 AX ...
- 8086汇编_除法指令
文章目录 语法 规则 16位除法 32位除法 语法 div m 规则 16位除法 除数m为8位时 默认ax存储被除数 商保存在al中 余保存在ah中 32位除法 除数m为16位时 默认ax存储被除数低 ...
- 【8086汇编】cmp指令和条件转移指令jxxx
1.定义 2.无符号比较影响标志位 3.有符号比较影响标志位 4.各种条件转移指令 5.cmp配合条件转移的使用
- Win32ASM学习[16] :乘除指令: MUL、IMUL、DIV、IDIV
---------------------------------------------------------------------------------------------------- ...
- 无符号有符号乘法_刘帅嵌入式系统-乘法指令
ARM有两类乘法指令:一类为32位的乘法指令,即乘法操作的结果为32位:另一类为64位的乘法指令,即乘法操作的结果为64位.两类指令共有以下6条. MUL:32位乘法指令 MLA:32位带加数的乘法指 ...
- 汇编8086CPU常用指令——详解
数据传送类指令 数据传送是计算机中最基本.最重要的一种操作,数据传送指令的功能是把数据从一个位置传送到另一个位置. 1. 通用数据传送指令 (1) MOV指令 指令格式:MOV dest , src ...
- 十进制转二进制和十六进制 条件码标志和乘法指令
十进制数转16进制数 先以二进制数转十进制数为例: 80 = 2^6 + 2^4 则D6 = 1, D4 = 1, 其余位为0 ,80的二进制代码为 0101 0000 则,10进制转16进制 ...
最新文章
- RDKit | 基于RDKit和化学信息学探索化学空间
- SAP HUM对嵌套HU做WM货物移动时TO单上只显示外层HU
- 四条使用Spring BeanUtils的总结
- navicat导数据速度_华为廊坊云数据中心二期1~3期主楼聚氨脂、聚脲防水隔热总承包工程...
- python深拷贝,浅拷贝,赋值引用
- 强化学习《基于策略 - Policy Grident》
- FILESTREAM data cannot be placed on an empty filegroup 解决办法
- ERROR: cuda requested, but not all dependencies are satisfied: ffnvcodec
- python学习Day6 元组、字典、集合set三类数据用法、深浅拷贝
- delphi7的加密算法与 delphi XE+加解密算法
- VBScript: 正则表达式(RegExp对象)
- 机器翻译的概述(冰山一角)
- SQL 筛选某一时间大于某一个值的数据及数量
- pre-trained模型的使用
- OpenCV 常见问题解决方案
- 初涉莫比乌斯反演(附带例题)
- git extensions 设置成中文
- [导入]网页制作万花筒
- 计算机学stata,Stata教程(免费)
- 【Python】turtle小海龟画兔子
热门文章
- 基于JAVA学生健康管理系统计算机毕业设计源码+系统+数据库+lw文档+部署
- cmake编译参数重写(正在重写‘/MTd‘用‘/MDd‘)问题
- 软件工程学习笔记(三)软件需求工程
- 【面经】长鑫存储-产品可靠性-合肥-提前批校招面经-已gg
- win10 屏幕文字显示不清楚 解决方案
- 解决git clone速度太慢的问题(SS socks5代理)
- Java集合体系总结
- 电视上设置禁止安装不是从Android,海信电视禁止安装第三方软件怎么办?当贝市场教你解决方法!...
- 魅族再次助推陌陌商业化,不遗余力为其洗白
- Mac OS 下的解压缩软件——The Unarchiver