zoukankan      html  css  js  c++  java
  • 王爽 汇编 检测点9.1(2) 补全程序,使jmp指令执行后,CS:IP指向程序的第一条指令

    一、如题

    assume cs:code,ds:data
    
    data segment
        dd 12345678H
    data ends
    
    code segment
    start:  mov ax,data
            mov ds,ax
            mov bx,0
            mov [bx],?
            mov [bx+2],?
         jmp dword ptr ds:[0] mov ax,4c00h int 21h code ends end start

    二、代码实现

    assume cs:code,ds:data
    
    data segment
        dd 12345678H
    data ends
    
    code segment
    start:  mov ax,data
            mov ds,ax
            mov bx,0
            mov [bx],offset start    ;偏移地址
            mov [bx+2],word ptr cs ;取出代码段地址,mov [bx+2],cs 也可以
            jmp dword ptr ds:[0]
            
            mov ax,4c00h
            int 21h
    code ends
    end start

    三、上机调试

    1.执行三条指令后,各个寄存器状态

     

    2.标记A:偏移地址赋值到数据段中,标记B:代码段地址赋值给数据段

     执行完标记AB两条指令后查看数据段中的数据:word ptr ds:[2]的字型数据是0B39(段地址),

    word ptr ds:[0]的字型数据是0000(偏移地址)

     3.执行完jmp指令后,跳转到了第一条指令,至此我们成功了!

  • 相关阅读:
    js触摸屏案例
    Docker
    Docker 镜像加速
    Docker 命令大全
    linux gpasswd
    Docker基础教程
    PHP输出毫秒时间戳
    PHP Variable handling 函数
    Partition Array by Odd and Even
    Median
  • 原文地址:https://www.cnblogs.com/TonyJia/p/12582279.html
Copyright © 2011-2022 走看看