. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->数据处理的两个基本问题
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验9。未曾  [待解决] 回复[ 1次 ]   点击[ 530次 ]  
li4096255
[帖 主]   [ 发表时间:2008-10-29 09:01 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2007-10-17 09:53
0C85:0030 E2EC          LOOP    001E
0C85:0032 5E            POP     SI
0C85:0033 59            POP     CX
0C85:0034 81C5A000      ADD     BP,00A0
0C85:0038 83C310        ADD     BX,+10
0C85:003B 47            INC     DI
0C85:003C E2D8          LOOP    0016
0C85:003E B8004C        MOV     AX,4C00
-g 001e

AX=B800  BX=0000  CX=0010  DX=0000  SP=FFFC  BP=0000  SI=0000  DI=0000
DS=0C81  ES=B800  SS=0C81  CS=0C85  IP=001E   NV UP EI PL NZ NA PO NC
0C85:001E 8A37          MOV     DH,[BX]                            DS:0000=77
//这里dh=(77)可为什么下一步后是这个: MOV     [BP+SI+0140],DH     ES:0140=30  ??
请教一下。


-t

AX=B800  BX=0000  CX=0010  DX=7700  SP=FFFC  BP=0000  SI=0000  DI=0000
DS=0C81  ES=B800  SS=0C81  CS=0C85  IP=0020   NV UP EI PL NZ NA PO NC
0C85:0020 26            ES:
0C85:0021 88B24001      MOV     [BP+SI+0140],DH                    ES:0140=30
-t
mouse
[第1楼]   [ 回复时间:2008-10-29 22:42 ]   [引用]   [回复]   [ top ] 
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34
0C85:001E 8A37          MOV     DH,[BX]                            DS:0000=77 
//这里dh=(77)可为什么下一步后是这个: MOV     [BP+SI+0140],DH     ES:0140=30  ?? 
请教一下。 
-----------
执行 MOV     DH,[BX],并没有改变cs和ip,当然cpu会继续向下执行指令,这个在第三章讲过,有很多图例。

只有后面的内容肯定是内存中数据有才会是MOV     [BP+SI+0140],DH

上面你显示的内容,并不完整。
这里用u 0C85:001E 看看,就知道cpu是够执行完MOV     DH,[BX] ,顺序执行了
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved