欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

汇编语言——16位寄存器实现32位二进制数左移4位。

程序员文章站 2022-03-10 09:47:31
...

问题描述

 16位寄存器实现32位二进制数左移4位、

源代码 

MOV      CL, 04
SHL      DX, CL
MOV      BL, AH
SHL      AX, CL
SHR      BL, CL
OR       DL, BL

说明: 

MOV CL,04
SHL DX,CL ;以上两行指令是把dx左移4位,这样dx的最低4位为0
MOV BL,AH ;把ax的最高四位放在bl的高四位上暂存(以免ax左移四位时高四位丢失)
SHL AX,CL ;实现ax左移四位
SHR BL,CL ;把bl(存放的是ax原来的高16位)右移4位,这样ax原来的最高4位就放到bl的低4位了
OR  DL,BL ;将bl和dl相或,也就是把ax原来的最高四位写入到dx的最低四位 

参考文章

https://zhidao.baidu.com/question/576758390.html?qq-pf-to=pcqq.c2c