在汇编中,如何将一个16位的数拆分成两个8位的数,分别存放在两个寄存器中?
在汇编中,如何将一个16位的数拆分成两个8位的数,分别存放在两个寄存器中?本人,新入门,望大家多指教!...
在汇编中,如何将一个16位的数拆分成两个8位的数,分别存放在两个寄存器中?本人,新入门,望大家多指教!
展开
2013-08-06
展开全部
使用DX存放,DH放高8位,DL放低8位,主要的难点在于提取方法:先将你71H里的数据备份,然后让它右移8位,再与0000000011111111(00FF)进行与运算,得出的就是高八位;低八位比较简单,直接让原数据与00FF进行与运算就可以了但愿能办到你,我这没工具,没法操作了,但算法应该没错
2013-08-06
展开全部
Intel机型:mov ax,word ptr [71H]ah里是高位[72H],al是低位[71H]
或是低位:mov al,byte ptr [71H]高位:mov ah,byte ptr [72H]
或是低位:mov al,byte ptr [71H]高位:mov ah,byte ptr [72H]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-08-20 · 知道合伙人互联网行家
关注
展开全部
Word2Byte(unsigned short n)
{
printf("%u: Low byte=0x%02X, high byte=0x%02X.\n", n, n>>8, n&255);
}
或:
Word2Byte(unsigned short n)
{
unsigned byte num_l, num_h;
num_l = n & 255;
num_h = n >> 8;
printf("%u: Low byte=0x%02X, high byte=0x%02X.\n", n, num_h, num_h);
}
{
printf("%u: Low byte=0x%02X, high byte=0x%02X.\n", n, n>>8, n&255);
}
或:
Word2Byte(unsigned short n)
{
unsigned byte num_l, num_h;
num_l = n & 255;
num_h = n >> 8;
printf("%u: Low byte=0x%02X, high byte=0x%02X.\n", n, num_h, num_h);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询