|
主题 : : 请教一下!! [已解决] |
回复[ 6次 ]
点击[ 494次 ] | |
|
|
|
|
[帖 主]
[ 发表时间: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是错误的但是训练题只能单选啊!!! | | |
|
|
|
|
[第1楼]
[ 回复时间:2011-03-07 21:30 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-05 17:09 |
|
|
|
|
|
[第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位了吧,是错的吧. | | |
|
|
|
|
[第3楼]
[ 回复时间:2011-03-08 07:50 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-05 17:09 |
|
|
|
|
|
[第4楼]
[ 回复时间:2011-03-08 08:21 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-05 17:09 |
还想问一下 为什么我用debug a 命令写 add al,0f5 提示错误啊? | | |
|
|
|
|
[第5楼]
[ 回复时间:2011-03-08 09:28 ]
[引用]
[回复]
[ top ] | |
荣誉值:93
信誉值:0
注册日期:2010-11-29 14:28 |
DEBUG下不需要加0,因为DEBUG下都是16进制,不需要加h,所以不会产生误解.书上应该都有的,仔细点,多看几遍 | | |
|
|
|
|
[第6楼]
[ 回复时间:2011-03-08 14:43 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-03-05 17:09 |
此贴由 贴主 于 [ 2011-03-08 14:43 ] 结贴。 结贴原因:问题已解决 | | |