. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  请教一下!!  [已解决] 回复[ 6次 ]   点击[ 494次 ]  
thestone
[帖 主]   [ 发表时间:2011-03-07 21:29 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-03-05 17:09
下面哪个是错误的指令:
  1.mov ax,bx
  2.add al,0f5H
  3.mov al,bh
  4,add al,100H
  好象2和4是错误的但是训练题只能单选啊!!!
thestone
[第1楼]   [ 回复时间:2011-03-07 21:30 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-03-05 17:09
有点迷惑!
zaixuexi
[第2楼]   [ 回复时间:2011-03-07 23:17 ]   [引用]   [回复]   [ top ] 
荣誉值:93
信誉值:0
注册日期:2010-11-29 14:28
2是对的.
字母前要加0
否则编译器分不清楚
add ah,ah         ;这句的操作数2是表示ah寄存器还是16进制数a,编译器分不清楚
add ah,0ah        ;这么写肯定是表示16进制的a了,所以约定字母(A~F)前加0

4是错的
al是8位的reg,100H = 1 0000 0000(二进制)  ;一看就知道超过8位了吧,是错的吧.
thestone
[第3楼]   [ 回复时间:2011-03-08 07:50 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-03-05 17:09
谢谢指点!!明白了
thestone
[第4楼]   [ 回复时间:2011-03-08 08:21 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-03-05 17:09
还想问一下  为什么我用debug a  命令写 add al,0f5 提示错误啊?
zaixuexi
[第5楼]   [ 回复时间:2011-03-08 09:28 ]   [引用]   [回复]   [ top ] 
荣誉值:93
信誉值:0
注册日期:2010-11-29 14:28
DEBUG下不需要加0,因为DEBUG下都是16进制,不需要加h,所以不会产生误解.书上应该都有的,仔细点,多看几遍
thestone
[第6楼]   [ 回复时间:2011-03-08 14:43 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-03-05 17:09
此贴由 贴主 于 [ 2011-03-08 14:43 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved