在汇编语言MOV CL,04 SHL DX , CL MOV BL, AH SHL AX ,CL SHR BL ,CL OR DL, BL 实现什么功能?

在汇编语言MOV CL,04 SHL DX , CL MOV BL, AH SHL AX ,CL SHR BL ,CL OR DL, BL 实现了什么功能?

dx和ax中联合存放一个32位的二进制数(dx存放高16位),这个程序段把它左移4位。
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的最低四位
温馨提示:内容为网友见解,仅供参考
无其他回答

在汇编语言MOV CL,04 SHL DX , CL MOV BL, AH SHL AX ,CL SHR BL ,C...
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位了 O...

请问各位高手,如何用汇编语言实现十六进制的书转换成二进制后输出_百度...
MOV CL,04 ;转换的时候移位次数 MOV AH,01 MOV DI,4 ;循环4次输入 LP1: SHL BX,CL ;由于最高位也只移3个4位,所以就放在前面。INT 21H SUB AL,30H ;输入的1位数与0的ascii比较 CMP AL,9 JBE DEAL1 ;不小于9的为A,B,C等值 SUB AL,7 ;根据位置关系再减7 DEAL1: ADD BL,AL ;...

试写出四条指令,每条指令都能实现对AX寄存器清零。
1、AND AX,AX,可以对AX清零,还可以清除进位位和影响到SF、ZF、PF标志位。2、mov ax,0 , 此条指令占用3个字节。3、 sub ax,ax , 减法指令, 该条指令只占用2个字节。 4、xor ax,ax

请详细把每句指令的功能解释下!
mov cl,4 由于移动超过1位,需要借助cl shl dx.cl将DX:AX的高16位左移4位,低4位补零,后续填上AX左移出来的高四位 mov bl,Ah 保存DX:AX低16位的高4位 shl ax.cl 将DX:AX的低16位左移,低四位补零 shr bl,cl 右移4位,将原来DX:AX低16位的高四位放与bl低四位中 or dl,bl ...

编写一个程序,使寄存器BL中的高4位与低4位互换
MOV BL,12 MOV AH,BL MOV AL,BL MOV CL,04 SHR AL,CL SHL AH,CL OR AH,AL MOV BL,AH INT 3 注意DEBUG里面所有常数都是16进制,你的汇编程序里面应该用04H,第一行的12H是我增加的测试,最后程序执行以后BL为21H ...

汇编怎样编写将DX,AX中的双字右移4位的指令序列
MOV CL, 4 ;设置循环次数为4 SHR AX, CL ;实现将AX逻辑右移 MOV BL, DL ;将DL的低4位暂存在BL中 SHR DX, CL ;实现将DX逻辑右移 SHL BL, CL ;将BL逻辑左移 OR AH, BL ;将BL或上AH ;也就是使DL的低4位或上AH高4位,从而实现了DX、AX中的双字右移四位。

第二题,请把每句的的功能解释下!
shl dx,cl 右移4位,将原来DX:AX的低16位左移.cl将DX:AX的高16位左移4位.cl 将DX:AX低16位的高4位 shl ax,后续填上AX左移出来的高四位 mov bl,低4位补零,低四位补零 shr bl:AX组成的32位数左移4位 mov cl,4 由于移动超过1位:AX低16位的高四位放与bl低四位中 or dl,bl...

汇编语言程序设计题
MOV CL,04 SHL AX,CL MOV BL,AH OR DL,BL 试问上述程序段运行后, (AX)= (BL)= (DX)= 3、DATA1 DW 1000H DATA2 DW 2000H ┆ PUSH DATA1 PUSH DATA2 POP DATA1 POP DATA2 问:①上述程序段执行后,(DATA1)= ,(DATA2)= . ②设执行前(SP)=200H,执行后(SP)= .4、 BUFF DB 7...

关于通用寄存器中各寄存器含义的问题
如 MOV CL,04 SHL AX,CL 四、串指令 DS:SI 源串段寄存器 :源串变址. ES I 目标串段寄存器:目标串变址. CX 重复次数计数器. AL\/AX 扫描值. D标志 0表示重复操作中SI和DI应自动增量; 1表示应自动减量. Z标志 用来控制扫描或比较操作的结束. MOVS 串传送. ( MOVSB 传送字符. MOVSW 传送字. MOVSD...

汇编:编写一个程序,使寄存器BL中的高四位与低四位互换(详细代码)_百...
我给你debug的代码…mov cx,0 mov cx,bx mov bl,ch mov bh,cl 大概意思就是用通用寄存器CX来储存BX中的数据。然后在BL和BH中 ,高八位和第八位 互调。

相似回答