汇编语言——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