. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  学员,帮忙给我解答下~~~  [待解决] 回复[ 3次 ]   点击[ 237次 ]  
menglei22288
[帖 主]   [ 发表时间:2011-02-16 22:30 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-02-14 22:36
教科书里的,我没算懂
mav ax,0001AH   0001AH     0000H
mov bx 0026H    0001AH     0026H
add,al bl       0040H      0026H
add.ah bl       (   )      0026H
教科书里学的是2640H,我有点不懂,不知道这个答案怎么算出来的,各位学姐学哥,能仔细点给我个过程,谢谢~~
zaixuexi
[第1楼]   [ 回复时间:2011-02-16 22:41 ]   [引用]   [回复]   [ top ] 
荣誉值:93
信誉值:0
注册日期:2010-11-29 14:28
1. 希望你以后发贴能认真一点把题目抄完整,指令的逗号也认真的点一点,算是尊重帮助你的人吧.别人都是义务帮助你,并不是应该帮助你.

2.
ax 等价于 ah al
bx 等价于 bh bl
mov ax,001ah 可以得到ah=0,al=1ah
mov bx,0026h 可以得到bh=0,bl=26h
add al,bl    可以得到al = al+bl = 1ah+26h = 40h
add ah,bl    可以得到ah = ah+bl = 0+26h = 26h
所以最后ax=2640h

3.你可以用DEBUG调试,具体如下
-a 0100
0B6F:0100 mov ax,1a
0B6F:0103 mov bx,26
0B6F:0106 add al,bl
0B6F:0108 add ah,bl
0B6F:010A
-g 10a

AX=2640  BX=0026  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000  ;执行完后,ax=2640h
DS=0B6F  ES=0B6F  SS=0B6F  CS=0B6F  IP=010A   NV UP EI PL NZ NA PO NC
0B6F:010A 895504        MOV     [DI+04],DX                         DS:0004=9A00
-
menglei22288
[第2楼]   [ 回复时间:2011-02-16 23:21 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-02-14 22:36
先说生对不起,我刚接触汇编两天,有不到之处请多多包含,以后我会仔细,认真的~~谢谢你的解答~~
zaixuexi
[第3楼]   [ 回复时间:2011-02-16 23:25 ]   [引用]   [回复]   [ top ] 
荣誉值:93
信誉值:0
注册日期:2010-11-29 14:28
恩,认真学吧,呵呵.
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved