首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

8086 -使用2个寄存器的反向MUL操作

8086是一种16位的微处理器,它是Intel公司推出的一款经典的x86架构处理器。在8086中,MUL指令用于执行无符号数的乘法操作。MUL指令可以使用两个寄存器进行反向操作,即将一个寄存器中的值与另一个寄存器中的值相乘,并将结果存储在两个寄存器中。

具体来说,8086中的MUL指令可以使用AX和BX两个寄存器进行反向操作。例如,如果我们想要将AX寄存器中的值与BX寄存器中的值相乘,并将结果存储在DX和AX寄存器中,可以使用以下指令:

代码语言:txt
复制
MUL BX

执行这条指令后,8086会将AX寄存器中的值乘以BX寄存器中的值,并将结果的低16位存储在AX寄存器中,高16位存储在DX寄存器中。

反向MUL操作在一些特定的场景中非常有用,例如在进行大数乘法运算时。通过使用两个寄存器进行反向MUL操作,可以方便地进行大数的乘法运算,并且可以利用8086处理器的硬件乘法加速功能。

腾讯云提供了丰富的云计算产品和服务,其中与计算相关的产品包括云服务器、容器服务、无服务器云函数等。这些产品可以帮助用户快速搭建和管理计算资源,提供高性能和可靠的计算能力。

  • 腾讯云服务器(ECS):提供弹性的虚拟服务器实例,用户可以根据自己的需求选择不同配置的服务器实例,并灵活扩展和管理计算资源。详情请参考:腾讯云服务器
  • 腾讯云容器服务(TKE):基于Kubernetes的容器管理服务,提供高度可扩展的容器化应用部署和管理平台。用户可以轻松地创建、运行和管理容器集群,并实现应用的弹性伸缩。详情请参考:腾讯云容器服务
  • 腾讯云无服务器云函数(SCF):无服务器计算服务,用户可以编写函数代码并上传到云端,腾讯云会根据触发条件自动运行函数代码,无需关心底层的服务器管理和资源调度。详情请参考:腾讯云无服务器云函数

以上是腾讯云提供的一些与计算相关的产品,可以根据具体需求选择适合的产品来满足计算需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

爱了爱了,这篇寄存器有点意思

8086 CPU 上一代寄存器是 8080 ,它是一类 8 位 CPU,为了保证兼容性,8086 在 8080 上做了很小修改,8086通用寄存器 AX、BX、CX、DX 都可以独立使用两个...8 位寄存器使用。...❞ AX 相比于其他通用寄存器来说,有一点比较特殊,AX 具有一种特殊功能使用,那就是使用 DIV 和 MUL 指令式使用。 ❝DIV 是 8086 CPU 中除法指令。...MUL8086 CPU 中乘法指令。 ❞ BX 寄存器 BX 被称为数据寄存器,即表明其能够暂存一般数据。...DX 寄存器 DX 也是数据寄存器,能够暂存一般性数据。同样为了适应以前 8 位 CPU ,DX 用途其实在前面介绍 AX 寄存器时便已经有所介绍了,那就是支持 MUL 和 DIV 指令。

4.6K31

汇编基础

IP,CS,SS,DS,ES,PSW 所有寄存器16bit,16位CPU,8086上一代8bit AX,BX,CX,DX通用寄存器,可以分为两个独立8位寄存器使用 AX-->AH,AL...,其他还有cs,es等 一段安全空间 在PC中,0:200到0:2ff是安全空间 段前缀使用 在不同段中操作时,一个ds需要多次更改,可能需要多个段寄存器,例如用es替代。...指令要处理数据有多长 8086操作byte,word,在机器指令中需要指明进行操作是字符还是字节 通过寄存器指名要处理数据 mov ax,bx X ptr指明内存长度 mov word ptr...8086CPU转移指令分类 无条件转移指令 例jmp 条件转移指令 循环指令 例loop 过程 中断 操作符offset 由编译器处理符号,取得标号偏移地址吗,就标号所在地址 assume cs:...,就像是高级语言中方法,使用call跳转,ret返回 mul 乘法指令 相乘2位数位数需要相同 8位:AL中和8位寄存器或内存单元 16位:AX中和16位寄存器或内存单元 结果 2个8位:放在ax

1.4K41

微机原理与接口技术 重点详解与章节总结——指令系统和汇编程序设计

第四章指令系统和汇编程序设计 8086 CPU七种寻址方式 8086 CPU寻址方式 •8086中,CS、DS、ES和SS段寄存器在程序运行过程中分别指向当前代码段、数据段、附加段和堆栈段。...而操作数可能存放在代码段中,也可能存放在数据段、附加段、堆栈段中,还可能存放在8086CPU内部寄存器中。...把在指令中指出所使用寄存器(即:寄存器助忆符)寻址方式称为寄存器寻址方式。...eg:MOVE AX,DATAS ​ MOVE DS,AX ​ 注意:DS不能直接赋值 •它使用寄存器来存放要处理操作数,寄存器号由指令指定,如下图所示。...如果指令中使用寄存器是SI、DI和BX,则操作数在数据段中,((DS)×16)再加上存器中有效地址形成20位物理地址;如果指令中使用寄存器是BP(这里用BP代替SP,是为了防止栈内东西被改,起到保护作用

89830

汇编语言全梳理(精简版)

] mov 内存, 寄存器 mov [0], ax mov [bx], ax 内存地址由 段地址:偏移地址 决定,8086 选择 ds 段寄存器作为默认段地址 由于段寄存器也是寄存器...mov 段寄存器, 内存 mov ds, [0] mov 内存, 段寄存器 mov [0], ds 变种 mov ax, ‘a’:处理字符 mov ax, [bx + 1]:可用作数组操作...计算:其中一个乘数放在 al 或 ax 中,另一个看指令 mul reg mul 内存单元 结果:8位相乘结果放在 ax 中,16位相乘结果放在(高位dx 地位ax)中 div div 寄存器 div...call 16位reg:形象解释相当于 push IP;jmp 16位reg call word ptr 内存单元:形象解释相当于 push IP;jmp word ptr 子程序标准模板 子程序中使用寄存器入栈...子程序内容 子程序中使用寄存器出栈 返回(ret、retf) rep movsb 传送源地址:ds:si 传送目的地址:es:di 传输长度:cs 传输方向:cld 为正向 端口读取 in

1.8K21

大学课程 | 《微机原理与接口技术》笔记

寄存器: 作用:用于存放相应逻辑段段基地址 8086/8088内存中逻辑段类型 代码段: 存放指令代码 数据段: 存放操作数据 附加段: 存放附加操作数据 堆栈段: 存放暂时不用但需保存数据...,SI,DI 若使用BX,SI,DI,则操作数在数据段DS中 物理地址=DS×16+{BX/SI/DI} 若使用BP,则操作数在堆栈段SS中 物理地址=SS×16+BP 间接寻址一般格式:[ 间址寄存器...堆栈指针寄存器SP指向栈顶位置 交换指令 格式:XCHG REG,MEM/REG 注:两操作数必须有一个是寄存器操作数;不允许使用寄存器。...5.求补指令NEG NEG OPRD 操作:0-OPRD-->OPRD 乘法指令 乘法指令采用隐含寻址,隐含是存放被乘数累加器AL或AX及存放结果AX,DX; 1.无符号乘法指令MUL MUL...MUL指令相同。

3.2K75

8086 处理器寻址方式

8086 处理器是 16 位结构处理器即 8086 内部寄存器位数为 16 位,如果按照这个数据处理能力 8086 只能发送出 16 位地址,表现出寻址能力只有 64 KB。...8086 处理器寻址方式 8086 处理器有七种基本寻址方式: 寄存器寻址 指令执行时,操作数位于寄存器中,可以直接从寄存器中获取。...mov ax,cx ; 此条指令中目的操作数和源操作使用都是寄存器寻址 add bx,0xf000 ; 此条指令中目的操作使用寄存器寻址,源操作使用是后面要介绍立即寻址 inc...mov ax, [bx] ; 目的操作使用寄存器寻址,源操作使用寄存器间接寻址,地址为:ds:bx mov ax, [es:bx] ; 目的操作使用寄存器寻址,源操作使用寄存器间接寻址...mov ax, [bx+si+0x0030] ; 目的操作使用寄存器寻址,源操作使用是基址变址寻址,地址为:es:bx+si+0x0030 参考 李忠:x86汇编语言-7.7 EXP:8086

1.1K40

未整理计组复习笔记?

) 3.地址码设计: 分为四地址指令(操作码+4个操作数:A1和A2运算,结果存放到A3,A4为下一条指令地址,地址过多,现代计算机一般不采用,而使用pc寄存器操作后自动+1,指向下一条地址)、...也可以使用多种内存寻址,缩短内存od位数 操作数:一般有立即数10,200、寄存器R:AX,BX(使用二进制编号)、内存单元:需要地址、固定位置:标志R、累加R、栈顶 补充:机器字长,操作字长度,寄存器宽度...,计算器位数,总线根数 8086-16位 386-32位 低级语言:机器语言(二进制,CPU直接识别,可执行文件内容,如10010001)、汇编语言(又叫符号语言,使用助记符替代操作码,命名寄存器...8086支持寻址方式: 1.寄存器寻址:指令给出寄存器地址 mov AX,BX(BX传给AX) 2.立即(数)寻址:只支持8/16位,只能出现在原操作数中,不能出现在目的操作数中 3.直接寻址...字变量16位 字节8位 六、8086/8088指令 MOV XCHG(exchange):不能使用段R、立即数 PUSH、POP:只能是宽度16位R或内存单元 (用不多)XLAT:

1.1K20

【汇编语言王爽】学习笔记p54-p79

pushf popf ZF 结果是零的话 寄存器就zf=1; 很多如add sub mul都会影响zf PF parityflag - 记录指令执行后结果所有二进制位中1个数 1个数为偶数个...以此确定比较结果 无符号数 例如 相等:zf=1 ; 不等于 zf=0 ;小于:cf = 0; 条件转移指令 jxxx标号-----套路je:jump equal 结果相等跳转 条件转移指令使用...和cmp配合使用cmp改变标志位 双分支结构实现—对比c语言 统计8数量 DF方向标志位和段传送— 原本方法:mov ax ,【si】 mov【di】,ax add si,2 add di...-查中断向量表 8086cpu中断向量表—找cs:ip 案例 0号中断 中断过程—cpu硬件自动完成,用终端类型码找到中断向量,并用它设置cs:ip80 8086CPU中断过程1.从中断中获取中断类型码...各种芯片都有寄存器,由cpu读写 cpu把各个寄存器当作端口统一编制,某几个地址对应一个设备 端口读写就用in out来操作 端口读写,cpu地址线选中芯片寄存器,cpu发出控制线读命令,然后通过数据线送进

77730

微机原理与接口技术 重点详解与章节总结——8086微处理器系统结构

8086寄存器结构 通用寄存器组 数据寄存器 数据寄存器包括AX、BX、CX、DX等4个16位寄存器,主要用来保存算术、逻辑运算操作数、中间结果和地址。...它们既可以作为16位寄存器使用,也可以将每个寄存器高字节和低字节分开作为两个独立8位寄存器使用。而8位寄存器(AL、BL、CL、DL、AH、BH、CH、DH)只能用于存放数据。...当SI、DI和BP不作指示器和变址寄存器使用时,也可将它们当作一般数据寄存器使用,存放操作数或运算结果。 隐含寻址 8个16位通用寄存器在一般情况下都具有通用性。...主要介绍内部存储器: 内部存储器,也称为内存,是主存储器,位于计算机主机内部,用来存放系统软件和当前正在使用或者经常使用程序和数据,内存容量大小受到地址总线位数限制,例如8086 CPU有20...6、在8086 CPU 寄存器中,哪些可作为8 位/16 位寄存器使用?哪些寄存器不能由程序员操作使用? 7、在8086 CPU 寄存器中,有哪些通用寄存器和专用寄存器?试说明专用寄存器作用?

6.4K20

汇编语言学习

参考书籍《汇编语言》王爽  著/清华大学出版社 一、基础知识 1、汇编指令是机器指令助记符,同机器指令一一对应  2、每一种CPU都有自己汇编指令集    3、CPU可以直接使用信息在存储器中存放...就是说8086有20根线,每根线控制一个0或者1,每次可以同时操作20根线发出一个0或者1电信号, 则有排列组合2^20=1024 * 1024 种可能性,即8086最多可以找到1024 * 1024...通用寄存器又可分定点数和浮点数两类,它们用来保存指令执行过程中临时存放寄存器操作数和中间(或最终)操作结果。 通用寄存器是cpu重要部件之一。...比如8086是16位结构cpu,    8086有14个16位寄存器,每个可以存放2个字节。 ?...: AX、BX、CX、DX这四个通用寄存器都是16位, 但是上一代8086寄存器都是8位,为了保证兼容, 这四个寄存器都可用2个独立8位寄存器使用 H代表高位寄存器 L代表低位寄存器 ?

1.6K30

汇编笔记(四)长文警告

转移指令原理 可以修改IP,或同时修改CS和IP指令通称为转移指令。 8086CPU转义行为有一下几类。 只修改IP时,称为段内转移,比如:jmp ax。...近转移IP修改范围为-32768~32767。 8086CPU转移指令分为以下几类。...因为call指令执行过程中对栈进行了操作,为了分析,可以手动记录栈空间变化,这样易于分析。 call和ret配合使用 先分析一段程序。 ?...mul指令 因下面会用到,这里介绍下mul指令,mul是乘法指令,使用mul做乘法时,需要主要以下几点。 两个相乘数位数需要相同,即8位和8位,16位和16位。...输入 程序处理 输出 寄存器冲突问题 有一个一般化问题:子程序中使用寄存器,很可能在主程序中也要使用,造成了寄存器使用冲突。

70910

汇编语言访问寄存器和内存篇---02

内存当作栈来使用…… 栈操作 push 指令和pop指令执行过程 执行入栈(push)时,栈顶超出栈空间 执行出栈(pop)时,栈顶超出栈空间 栈顶超界问题解决 栈小结 关于“段”总结 综合示例...方案: 通用寄存器均可以分为两个独立 8位寄存器使用 细化: AX可以分为AH和AL BX可以分为BH和BL CX可以分为CH和CL DX可以分为DH和DL ---- “字”在寄存器存储...: 使用Debug程序,可以查看CPU各种寄存器内容、内存情况,并且在机器指令级跟踪程 序运行!...8086CPU提供相关指令,支持用栈方式访问内存空间。 基于8086CPU编程,可以将一段内存当作栈来使用。...8086CPU提供操作机制: 在SS,SP中存放栈顶段地址和偏移地址,入栈和出栈指 令根据SS:SP指示地址,按照栈方式访问内存单元。

69510

16位汇编第六讲汇编指令详解第二讲

第一个框代表了CMP指令所有语法 比如   reg,reg 表示可以比较寄存器 CMP AX,BX ....  下面的则是机器操作码.根据二进制机器码可以反逆向出来汇编指令 比如: ?...,这样说吧,上面我们说了,CMP会和跳转一起使用,但是你知道这样代码吗?...使用一条跳转,可以执行很多条指令.CPU指令周期很长,这里说一下强制跳转JMP 看下JMP ?...  MUL (无符号字节乘法)     指令格式: ax = al * r8/m8     ax(16位寄存器)存放 al * r8(八位寄存器)或者 m8(内存中八位值) 看下inter手册 ?...*16 则放在 DX(数据寄存器)(AX累加寄存器)当中 高16位放到DX当中,低16位放到AX中 其中乘法 操作数都需要我们自己给,比如 MUL bl, 算出bl乘法,默认会和al相乘 乘法指令是利用

1.1K50

《汇编语言》——笔记(一)

8086为了兼容上一代CPU程序,上面的四个通用寄存器都可分为两个独立8为寄存器使用。 AX可分为AH和AL; BX可分为BH和BL; CX可分为CH和CL; DX可分为DH和DL。 ?...mov ax,bx mov ah,al ;不区分大小写,将寄存器BX数据送入寄存器AX ;注意指令两个操作对象应当是一致 物理地址 8086是16为结构CPU,也就是说,能够一次性处理、传输、暂时存储信息最大长度为...Q:退出DEBUG,回到DOS状态 笔者日常操作是这样,使用A 写入某内存单元,使用R修改CS,IP值,使用T执行命令。也可以使用E写入机器码,较为复杂。 ?...使用一个盒子和3本书来描述栈这种操作方式。叠起来三本书依次放入入盒子中,注意此过程中顺序。 现在问题是,一次只允许取一本,我们如何将3本书从盒子中取出来?一本本取出即可。...那么,CPU如何知道内存空间当做栈使用?PUSH、POP操作时栈顶标记会发生改变,CPU如何知道这栈顶标记呢? 回想另一个问题,CPU如何知道当前要执行指令所在位置?

1.1K20

第二章 IBM-PC微机基本功能

1.数据寄存器 它包括AX、BX、CX和DX四个寄存器。 它们中每一个既可以是16位寄存器,也可以分成两个8位寄存器使用。 即可以当作8个独立8位寄存器使用。...数据寄存器既可以用来存放参加运算操作数,也可以存放运算结果。在多数情况下,使用这些寄存器时必须在指令中明确指示。...个别指令对寄存器有特定使用,并且又必须在指令中指明它名字,这类寄存器使用称为特定使用。 例如,移位指令SHLAX,CL CL被固定用作移位次数。...SI—源变址寄存器 DI—目的变址寄存器 同BP寄存器一样,SI和DI也可以用作通用数据寄存器存放操作数和运算结果。 二、段寄存器 8086/8088CPU在使用存储器时,将它划分成若干个段。...下表是各种操作类型所对应逻辑地址来源。 说明: 允许替代来源也叫做段超越,它表示了段基值除使用隐含寄存器外是否可以指定其它段寄存器来提供。

29720

16位汇编指令_汇编语言指令表

变址寄存器,常用于存储器寻址时提供地址,源操作数指针 DI(16位),变址寄存器,常用于存储器寻址时提供地址,目的操作数指针 Flag寄存器 15 14 13 12 11 10 9 8 7 6 5 4...SS(堆栈段),表示堆栈段起始地址 DS(数据段),表示数据段起始地址 ES(附加段),表示附加段起始地址,附加段是数据段,用于数据保存,串操作指令将附加段作为其目的操作存放区域 段前缀CS...: ;使用代码段 段前缀SS: ;使用栈段 段前缀DS: ;使用数据段 段前缀ES: ;使用附加段 默认访问DS,使用BP则访问主存(SS) 1M最多可分64K个段,最少能分16个段 8086有...BSWAP 交换32位寄存器里字节顺序     XCHG  交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数)     CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器...(两操作数作减法,仅修改标志位,不回送结果).     AAS  减法ASCII码调整.     DAS  减法十进制调整.     MUL  无符号乘法.

94530

【汇编】(四)寄存器(内存访问)

传送指令 mov ax,1,mov ds,ax; mov ds,1000H 是不行8086CPU 不支持将数据直接送入段寄存器操作,ds 是一个段寄存器(硬件设计问题),所以 mov ds,1000H...8086CPU 提供相关指令来以栈方式访问内存空间。这意味着,我们在基 于8086CPU 编程时候,可以将一段内存当作栈来使用。...8086CPU入栈和出栈操作都是以字为单位进行。 注意:字型数据用两个单元存放,高地址单元放高 8 位,低地址单元放低8 位。 问:CPU 如何知道一段内存空间被当作栈使用?...当栈满时候再使用 push 指令入栈,栈空时候再使用 pop 指令出栈,都将发生栈顶超界问题。栈顶超界是危险。...8086CPU 不保证对栈操作不会超界。这就是说, 8086CPU 只知道栈顶在何处(由SS:SP指示),而不知道我们安排栈空间有多大。

30420

闭关六个月整理出来微机原理知识点(特别适用河北专接本)

CS 代码段寄存器,代码段是一个存储区域,存放是 CPU 要使用指令代码,CS 存放 代码段段基地址; DS 数据段寄存器,数据段是包含程序使用大部分数据存储区,DS 中存放数据段 段基地址...随机存贮器即 RAM 存贮器中存取操作与存贮单元物理位置顺序无关 在 8086 I/O 指令中,间接端口寄存器是DX。...对可编程接口芯片进行读写操作必要条件时CS=0。 8086转入中断服务程序前,不会自动执行 受影响寄存器内容入栈 操作。 DRAM比SRAM价格低。...所谓指令中数据寻址方式是指寻找操作数地址方式。 什么是中断嵌套?使用中断嵌套有什么好处?对于可屏蔽中断,实现中断嵌套条件是什么?...b. (2)使用中断嵌套好处是能够提高中断响应实时性。对于某些对实时性要求较高操作,必须赋予较高优先级和采取中断嵌套方式,才能保证系统能够及时响应该中断请求。

1.3K41

16位汇编第第四讲常用7种寻址方式

1.操作码,操作数,位移量,立即数概念   8086寻址方式,这个寻址方式是什么意思,是让我们书序8086汇编指令格式, 尤其是其中操作表达方法   操作码: mov add ....等指令...通过 mov 传送指令, 传送给 目标操作数ax 对于操作数而言   1.操作数可以是一个具体值(也就是 立即数,其中立即数是后面翻译过来,叫做(imm缩写))   2.操作数可以是存放数据寄存器...昨天稍微讲了一下,立即数寻址,今天继续讲解寻址方式. 1.操作码,操作数,位移量,立即数概念   8086寻址方式,这个寻址方式是什么意思,是让我们书序8086汇编指令格式, 尤其是其中操作表达方法...操作码 89 操作码和操作数 存储器寻址方式 8086设计了多种存储器寻址方式 1、直接寻址方式 2、寄存器间接寻址方式 3、寄存器相对寻址方式 4、基址变址寻址方式 5、相对基址变址寻址方式 五种寻址方式...BX或变址寄存器SI、DI中 默认段地址在DS段寄存器,可使用段超越前缀改变 MOV AX,[SI] ;AX←DS:[SI] 机器码格式 操作码 寻址方式,目的寄存器 8B 04       04拆分为二进制为

77250
领券