. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  貌似很白痴的问题...监测点2.1  [待解决] 回复[ 5次 ]   点击[ 523次 ]  
h70598
[帖 主]   [ 发表时间: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?

另外大家编程时写数字是用键盘上面的数字键 还是小键盘上的数字键?
h70598
[第1楼]   [ 回复时间:2011-05-05 22:45 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-05-05 22:19
补充一下, 一开始给了ah 个31, al个23.这个会不会决定了ax是个2个8位的数据?从而al溢出的时候不进位?我蒙了,好像还说不太明白....
baimage
[第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位。这个后面会学到,多看看语句例题。
我也是初学,只是从杨季文版跳到王爽的版本来看的!
王爽的要简单好多,一起努力吧!
juhu
[第3楼]   [ 回复时间:2011-05-17 23:25 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-05-16 19:37
2楼说的在理,我也刚买了本王爽的,感觉我们开的汇编课程(微型计算机原理及应用技术第二版 ,机械工业)的书太深了 ,都是知识,就是看不懂。。刚刚下王爽的pdf,看了看,挺有方法的,哈哈,大家别灰心,一起进步啊。
betterpursuel
[第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的进位丢失,产生不一样的结果。
xingchenlieren
[第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位的数据。语句是一句句独立的,看的时候以当前的为准。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved