. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->转移指令的原理
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  【检测点】9.2我的理解  [待解决] 回复[ 1次 ]   点击[ 377次 ]  
regex
[帖 主]   [ 发表时间:2010-01-18 14:48 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
结果如下:

  1 assume  cs:code
  2 data    segment
  3         dd      12345678h
  4 data    ends
  5
  6 code    segment
  7 start:  mov ax,data
  8         mov ds,ax
  9         mov bx,0
 10         mov [bx],bx         ;这是一个段间转移的jmp操作,利用bx的值作为ip,利用bx+2
 11         mov [bx+2],cs       ;作为CS的值。 
 12         jmp dword ptr ds:[0]
 13
 14         mov ah,4ch
 15         int 21h
 16
 17 code    ends
 18 end     start

【实验】debug跟踪结果
Microsoft(R) Windows DOS
(C)Copyright Microsoft Corp 1990-2001.

D:\ASM>debug j92.exe
-r
AX=0000  BX=0000  CX=0025  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=14B4  ES=14B4  SS=14C4  CS=14C5  IP=0000   NV UP EI PL NZ NA PO NC
14C5:0000 B8C414        MOV     AX,14C4                     ;第一条指令地址
-t

AX=14C4  BX=0000  CX=0025  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=14B4  ES=14B4  SS=14C4  CS=14C5  IP=0003   NV UP EI PL NZ NA PO NC
14C5:0003 8ED8          MOV     DS,AX
-t

AX=14C4  BX=0000  CX=0025  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=14C4  ES=14B4  SS=14C4  CS=14C5  IP=0005   NV UP EI PL NZ NA PO NC
14C5:0005 BB0000        MOV     BX,0000
-t

AX=14C4  BX=0000  CX=0025  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=14C4  ES=14B4  SS=14C4  CS=14C5  IP=0008   NV UP EI PL NZ NA PO NC
14C5:0008 891F          MOV     [BX],BX                            DS:0000=5678
-t

AX=14C4  BX=0000  CX=0025  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=14C4  ES=14B4  SS=14C4  CS=14C5  IP=000A   NV UP EI PL NZ NA PO NC
14C5:000A 8C4F02        MOV     [BX+02],CS                         DS:0002=1234
-t

AX=14C4  BX=0000  CX=0025  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=14C4  ES=14B4  SS=14C4  CS=14C5  IP=000D   NV UP EI PL NZ NA PO NC
14C5:000D FF2E0000      JMP     FAR [0000]                         DS:0000=0000
-t

AX=14C4  BX=0000  CX=0025  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=14C4  ES=14B4  SS=14C4  CS=14C5  IP=0000   NV UP EI PL NZ NA PO NC
14C5:0000 B8C414        MOV     AX,14C4                          ;jmp后cs:ip指向
-
regex
[第1楼]   [ 回复时间:2010-01-18 14:57 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
【检测点】9.3
CS:0060
IP:00be
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved