mov ax,1256h 为什么是把12H送入AH,56H送入AL啊,AL不是有8个位置吗,

为什么还要放到AH中啊,,AL不是狗放4个了吗?

是这样的,楼主是在学微机接口吧,你用的emu8086软件编程时,AX表示的是16位存储器,也即AX中能存16位2进制数,而16位2进制数转换为16进制数就变成4位了。例如0001001001010110B这个是16位二进制数,转换成十六进制也就成了1256H了。所以存储1256H时,AL中放的是56H,也就是放01010110B这8位二进制数。而AH放的是12H,换成二进制数也就是8位的00010010B这8位数了。明白了吗楼主?

参考资料:我也在学8086

温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-01-16
LZ把位数搞错了:

Eax:二进制为32位,十六进制为8位;
AX :二进制为16位,十六进制为4位;
AL :二进制为8位,十六进制为2位;
AH :二进制为8位,十六进制为2位;

AL的8位是二进制的,而1256H转化为二进制是16位,放不下的。本回答被提问者采纳
第2个回答  2008-01-17
ah al 是8位,是指8位2进制的
1256H是16进制数,每一位的数字对应四位二进制数
转换过来就是1256h=0001 0010 0101 0110b,高8位的12H=00010010b送AH
第3个回答  2008-01-17
计算机中的信息都是以二进制数的形式来储存的。AX是16位寄存器,AL,AH都是八位,就是说AL,AH能存八位二进制数,而一位十六进制数对应四位二进制数。所以。。。
相似回答