紧急求助求助一个汇编问题
时间:2011-01-06
来源:互联网
下面的程序的功能是把(DX,AX)的32位二进制数——??
MOV CX,4
LP:SHL AX,1
RCL DX,1
LOOP LP
作者: yuanyingfeiyu 发布时间: 2011-01-06
作者: z307450494 发布时间: 2011-01-06
作者: yuanyingfeiyu 发布时间: 2011-01-06
作者: yuanyingfeiyu 发布时间: 2011-01-06
但是为什么代码要这么写
要是使用32位的cpu,就直接乘以16了。
32位操作数, 需要两个16位寄存器保存,所以在16位环境,就得这么写。
作者: masmaster 发布时间: 2011-01-06
作者: yuanyingfeiyu 发布时间: 2011-01-06
为什么是CX是逻辑左移,DX是带进位的循环右移,还有要怎么验证结果,大哥谢谢了!
RCL是带进位循环左移指令
作者: masmaster 发布时间: 2011-01-06
作者: yuanyingfeiyu 发布时间: 2011-01-06
d:\MASM>debug
-a
1472:0100 mov dx,0123
1472:0103 mov ax,4567
1472:0106 mov cl,4
1472:0108 shl ax,1
1472:010A rcl dx,1
1472:010C loop 108
1472:010E
-r
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1472 ES=1472 SS=1472 CS=1472 IP=0100 NV UP EI PL NZ NA PO NC
1472:0100 BA2301 MOV DX,0123
-t
AX=0000 BX=0000 CX=0000 DX=0123 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1472 ES=1472 SS=1472 CS=1472 IP=0103 NV UP EI PL NZ NA PO NC
1472:0103 B86745 MOV AX,4567
-t
AX=4567 BX=0000 CX=0000 DX=0123 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1472 ES=1472 SS=1472 CS=1472 IP=0106 NV UP EI PL NZ NA PO NC
1472:0106 B104 MOV CL,04
-g=100 10e
AX=5670 BX=0000 CX=0000 DX=1234 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1472 ES=1472 SS=1472 CS=1472 IP=010E NV UP EI PL NZ AC PO NC
1472:010E FA CLI
-q
d:\MASM>
作者: masmaster 发布时间: 2011-01-06
作者: yuanyingfeiyu 发布时间: 2011-01-06
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28