8086汇编语言问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 00:52:33
输入一个16进制的数,把它换成ASCII码
加下注解!谢谢

随便问下
mov al,4
or al,30h

这个OR指令 不明白怎么运行后al就=34H了

我主要问的是上面这个

你们怎么回答下面这个啊

***********************
更新的说明在后面
***********************
你的问题很含糊
1. 输入一个16进制数
如何输入?从键盘吗?如果是,那本身就已经是ASCII编码了
如果不是,那就不应该叫输入,而应说成是给定一个数
2. 16进制数
那是什么含意?在计算机的存储器中存入的都是二进制数,
而我们人不习惯二进制,于是就已10或16进制给出他们或者让计算机把它们表示出来。
如我们要在某些内存单元存储一些数据:包括二进制的10010110,十进制的96,十六进制的96(即95H=十进制的142),那么它们在内存里面对应的是什么样子呢?
如果只允许存放在一个存储单元内,即一个字节,那么,
1. 二进制数只能直接存入,即该存储单元8个二进制位分别为10010110;
2. 对于十进制的96,则可以有两种形式:压缩BCD和二进制,该存储单元8个二进制位分别对应1001(9)0110(6) 和 01100000 = 2的6次方 + 2的5次方 =64 + 32 = 96 ;
3. 对于十六进制的96(即96H=十进制的142, 实际上也就是二进制的10010110),和二进制完全一样存储
如果允许存放在多个存储单元内,即多个字节,那么,
1. 二进制数可以一个位存放在一个单元,共需要8个字节即8个单元,如果直接把每一位的值存入该单元,则每个单元仅用了其中的一位(其余各位为0),如果存入的值每一位值的ASCII码,则每个单元分别存放的是字符 '1' '0' '0' '1' '0' '1' '1' '0' ;
2. 对于十进制的96,则可以1).非压缩BCD,一个字节存入9,一个字节存入6,即00001001 和 00000110;2). 字符串,分别存入字符‘9’和字符‘6’,分别是00111001和00110110
3. 对于十六进制的96,此处同十进制。
<