|
主题 : : 貌似很白痴的问题...监测点2.1 [待解决] |
回复[ 5次 ]
点击[ 523次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2011-05-05 22:41 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-05-05 22:19 |
书上写 ax=826c bx=826c
add ax,bx ax=04d8
如果 ax=82dc bx=82dc
add ax,bx ax=? 应该是05b8吧? 还是04b8?
另外大家编程时写数字是用键盘上面的数字键 还是小键盘上的数字键? | | |
|
|
|
|
[第1楼]
[ 回复时间:2011-05-05 22:45 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-05-05 22:19 |
补充一下, 一开始给了ah 个31, al个23.这个会不会决定了ax是个2个8位的数据?从而al溢出的时候不进位?我蒙了,好像还说不太明白.... | | |
|
|
|
|
[第2楼]
[ 回复时间:2011-05-12 19:10 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-04-28 20:42 |
我来回答你的问题吧,希望你不要放弃。
add ax,bx ax=05b8. 编程的时候应该是用键盘上的数字键更快捷,特别是对于汇编这种常用16进制的语言来说。
ax ah al 的关系是看语句,如果是单独对al操作,那么不管ah的是,保持ah不变。
不管怎么样进位的时候汇编不会自动进位( 除非带进位的加法adc),会进位到标志位cf位。这个后面会学到,多看看语句例题。
我也是初学,只是从杨季文版跳到王爽的版本来看的!
王爽的要简单好多,一起努力吧! | | |
|
|
|
|
[第3楼]
[ 回复时间:2011-05-17 23:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-05-16 19:37 |
2楼说的在理,我也刚买了本王爽的,感觉我们开的汇编课程(微型计算机原理及应用技术第二版 ,机械工业)的书太深了 ,都是知识,就是看不懂。。刚刚下王爽的pdf,看了看,挺有方法的,哈哈,大家别灰心,一起进步啊。 | | |
|
|
|
|
[第4楼]
[ 回复时间:2011-05-23 19:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:8
信誉值:0
注册日期:2010-11-07 17:01 |
如果 ax=82dc bx=82dc
add ax,bx
结果是ax=05b8
如果 ax=82dc bx=82dc
add al,bl
add ah,bh
结果是 ax = 04b8
这个结果上机实践一下即可得到,关键想清楚为什么是这个结果,下面解释一下:
add ax,bx 这个是把ax与bx当整体处理的,不会分为al、ah、bl、bh,而al与bl之间的运算是会自动进位的;但是只有这么写时add al,bl add ah,bh,才会导致al与bl的进位丢失,产生不一样的结果。 | | |
|
|
|
|
[第5楼]
[ 回复时间:2011-07-19 17:35 ]
[引用]
[回复]
[ top ] | |
荣誉值:3
信誉值:0
注册日期:2011-07-19 17:31 |
补充一下, 一开始给了ah 个31, al个23.这个会不会决定了ax是个2个8位的数据?从而al溢出的时候不进位?我蒙了,好像还说不太明白....
------------------
回复:不会决定ax是2个8位的数据。语句是一句句独立的,看的时候以当前的为准。 | | |