[067][汇编语言]shl shr 左移指令、右移指令 检测点14.2

检测点14.2:编程,用加法和移位指令计算(ax) = (ax)x 10

  • 提示:(ax)x 10 = (ax) x 2 + (ax) x 8
assume cs:code
code segment
    start:  mov ax,0001H
            mov bx,ax
            mov dx,ax
            
            shl bx,1
            
            mov cl,3
            shl dx,cl
            
            mov ax,bx
            add ax,dx
code ends
end start
检测点14.2.png

左移指令 shl

mov al,01001000B
shl al,1

执行后, 
(al) = 1001000 0 B
CF =  0

二进制下, X左移一位,相当于 X = X*2

右移指令 shr

mov  al,10000000 B
shl al,1

执行后,
(al) = 0 1000000B
CF = 0

二进制下, X右移一位,相当于 X = X÷2

移动多位

移动位数写入 CL
最后移出的一位写入 CF
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容