• 全部
  • 问答

请教 高手帮忙 跪求 一定要帮啊 我自学的所以问题很菜 谢谢

lhwaizhu 2008-07-10 11:14:32
1,如MOV AL,00000100求其对应的字符,应该用ADD AL,30H啊 为什么很多书上些的是OR AL,30H啊 ??


2,将偶校验位1加到AL的最高位上时,用的是OR AL,80H为什么不用ADD啊??


3,要把正数变为负数直接求补就可以吗?为什么??


4,如 R DB DUP(0)


LEA DI ,R

MOV WORD PTR [DI],OFH ; 此时[DI]中放的是000FH啊还是[DI]为0FH [DI+1]为00H啊??为什么?



谢谢 !!!!!!!!!!!!!!!

...全文
27 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
BAYNPU 2008-07-10
1,如MOV AL,00000100求其对应的字符,应该用ADD AL,30H啊 为什么很多书上些的是OR AL,30H啊 ??
答:转换AL的高4位,用ADD AL,30H就不一样了,AL=34H
回复
cnzdgs 2008-07-10
原来另一帖不是LZ发的,前3问如下:

1,如MOV AL,00000100求其对应的字符,应该用ADD AL,30H啊 为什么很多书上些的是OR AL,30H啊 ??
当al高4位都是0时,加30H和或30H是一样的,两种方法都可以。

2,将偶校验位1加到AL的最高位上时,用的是OR AL,80H为什么不用ADD啊??
用或80H是把最高位置1,无论AL是什么值;如果用加80H,如果AL的最高位已经是1的时候,加80H后最高位就变成0了。

3,要把正数变为负数直接求补就可以吗?为什么??
应该说求补运算就是求一个数的相反数,求补运算就是把一个数各位取反,然后再加1,补码就是这样定义的。
回复
cnzdgs 2008-07-10
前3问我在另一帖中回复过了。

4,如 R DB DUP(0)


LEA DI ,R

MOV WORD PTR [DI],OFH ; 此时[DI]中放的是000FH啊还是[DI]为0FH [DI+1]为00H啊??为什么?

两种说法都对。[DI]表示DS段中,以DI的值为偏移量的内存中的数,如果把它按WORD来看,就是000FH,按字节来看,就是第1字节为0FH、第2字节为00H。越低级的语言对数据类型的限制越少。
回复
jxc25 2008-07-10
1,or,or了两位,add,add了8位.
回复
相关推荐
发帖
汇编语言
创建于2007-08-27

2.0w+

社区成员

汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
申请成为版主
帖子事件
创建了帖子
2008-07-10 11:14
社区公告
暂无公告