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

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啊??为什么?



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

...全文
85 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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位.

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧