首页 > 其他分享 ># 9.1 检测点

# 9.1 检测点

时间:2023-07-14 11:24:27浏览次数:32  
标签:code IP mov CS ax 检测点 data 9.1

9.1 检测点

assume cs:code

data segment
?
data ends

code segment
start:
mov ax, data
mov ds, ax
mov bx, 0
jmp word ptr [bx+1]

code ends
end start

若要使程序中的 jmp 指令执行后,CS:IP指向程序的第一条指令,在data段中应该定义哪些数据?

答:CS:IP指向程序的第一条指令,也就是让 IP = 0 , 因为现在已经指向 [bx+1] 了 ,也就是 [1] ,word ptr 是字形数据,两个字节,要求 [1] 和 [2] 都是0即可,其余没有要求。

  1. 补全程序,使得 jmp 指令执行后,CS:IP指向第一条指令
assume cs:code

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]

code ends
end start

答:低字为IP,高字为CS,指向第一条指令,CS 不变,IP 为0,因此第一个空为0,第二个空为cs

;内存数据如下

2000:1000 BE 00 06 00 00 00 ……

;此时CPU执行指令

mov ax, 2000H
mov es, ax
jmp dword ptr es:[1000H]

后,(CS) = ? (IP) = ?
答:把前两个字节赋值给IP,后面的两字节赋值给CS,CS = 0006H,IP = 00BEH

标签:code,IP,mov,CS,ax,检测点,data,9.1
From: https://www.cnblogs.com/alphadoiy/p/17553197.html

相关文章

  • 数据库连接池之c3p0-0.9.1.2,16年的古董,发生连接泄露怎么查(一)
    背景这篇文章是写给有缘人的,为什么这么说呢,因为本篇主要讲讲数据库连接池之c3p0-0.9.1.2版本。年轻的朋友,可能没怎么听过c3p0了,或者也仅限于听说,这都很正常,因为c3p0算是200几年时比较流行的技术,后来,作者消失了好几年,12年重新开始维护,这时候已经出现了很多第二代线程池了,c3p0已经......
  • 检测点 6.1
    检测点6.11.在代码中使用栈(1)我们首先要有一段可当作栈的内存空间。如前所述,这段空间应该由系统来分配。我们可以在程序中通过定义数据来取得一段空间,然后将这段空间当作栈空间来用。(2)栈:记住以下三点应该差不多了任意时刻ss:sp指向栈顶当栈为空时,ss:sp指向栈底还要加一,......
  • 19C-19.16 ORA-17503 ORA-27300 ORA-27301 ORA-27302
    ***alter日志告警2023-07-01T02:05:13.474592+08:00Errorsinfile/u01/app/oracle/diag/rdbms/dg/dg1/trace/dg1_ora_17925.trc:ORA-17503:ksfdopn:2Failedtoopenfile+DATA/dg/PASSWORD/pwddgORA-27300:OSsystemdependentoperation:openfailedwithstatus:13ORA-......
  • TensorFlow09.1 神经网络-其他训练Tricks(Early Stopping和Dropout)
    Tricks▪EarlyStopping▪Dropout▪StochasticGradientDescent1Earlystopping我们走到最大指的时候我们可以提交stop掉,防止它overfitting。1.1How-To▪Validationsettoselectparameters(选择一个参数)▪Monitorvalidationperformance(检测变量的表现)▪......
  • Qt5.9.1的下载和安装注意事项
    下载地址qt5.9downlaod安装过程编译器是可选的若本地环境没有VisualStdio,就不要勾选关于它的编译器。一般至少要勾选MingGW编译器......
  • 2023冲刺国赛模拟 19.1
    T1矩阵正解做法是二维分块,然而直接上树状数组跑的飞快,不过我写的根号重构,加Fastio后可过。code#include<cstdio>#include<algorithm>#include<ctime>#include<iostream>usingnamespacestd;charbuf[1<<21],*p1,*p2;inlinechargc(){if(__builti......
  • CentOS 安装PostgreSQL 9.1
    PostgreSQL通常也简称Postgres,是一个关系型数据库管理系统,适用于各种Linux操作系统、Windows、Solaris、BSD和MacOSX。PostgreSQL遵循PostgreSQL许可,是一个开源软件。PostgreSQL由PostgreSQL全球开发组开发,由极少数的公司志愿组成并进行监督管理,这些公司有红帽、EnterpriseDB等......
  • 9.19 绘制图形
    demo1.用工厂设计模型,封装实现绘制,圆形,三角形在整体设计中绘图是一个公共的标准,这样就需要通过接口来描述,而后不同的图形实现此标准后完善各自的功能就可以实现统一的处理结构,本课程主要模拟一个绘图的操作形式讲解了接口以及工厂类的应用interfaceIGraphical{ //定义绘图标......
  • 9.18 获取类信息
    要求:定义一个ClassName接口,接口中只有一个抽象方法getClassName(),设计一个类Company,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名称;编写应用程序使用Company类interfaceIClassName{//按照要求定义接口publicabstractStringgetClassName()......
  • 9.17 泛型方法
    实际开发中非常常见没有定义泛型类,可以直接定义使用泛型方法;泛型方法不一定就出现在泛型类之中.publicclassHelloWorld{publicstaticvoidmain(Stringargs[]){Integernum[]=fun(1,2,3);//传入了整数,for(inttmp:num){System......