怎样用汇编语言实现将(DX)(AX)中的双字逻辑左移一位

[复制链接]
查看11 | 回复3 | 2011-3-11 01:08:13 | 显示全部楼层 |阅读模式
shl ax,1 ;将ax左移1位,这时候最高位移到CF中rcl dx,1 ;将dx带进位循环左移一位,将CF(存放的是刚才ax的最高位)移到dx最低位上,同时dx所有位左移1位,dx最高位移到CF中。rcl是把操作数的最高位移入CF,而CF中原有内容移入操作数的最低位...
回复

使用道具 举报

千问 | 2011-3-11 01:08:13 | 显示全部楼层
向左移位,也可以乘以2、乘以4。。。七条移位指令,花样较多,理解起来,远远不如加法指令简单。左移一位,使用加法指令,实现乘以2,就是最简单的。ADDAX,AXADCDX,DX完。...
回复

使用道具 举报

千问 | 2011-3-11 01:08:13 | 显示全部楼层
程序通过编译,运行正确CodeSegment Assume CS:Code,DS:Code,ES:Code; 把32位逻数 3F65C9232H 逻辑左移2位 结果存在DX;AX中Start: movdx,3F65h movax,C923h shlax,1 rcldx,1 shl...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行