鱼C论坛

 找回密码
 立即注册
查看: 1679|回复: 0

实验八的关键思路是否在于jmp指令的位移量

[复制链接]
发表于 2014-12-25 22:50:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 真·不明人士 于 2014-12-25 22:55 编辑

RT 以下是我自己通过运行整理出的思路(我只是看书 没看甲鱼哥的视频):
1.先贴出汇编指令与对应的机器码
  1. assume cs:codesg
  2. codesg segment
  3.                                                                        ;机器码
  4.                mov ax,4c00h                               ;B8 00 4C
  5.                int 21h                                          ;CD 21

  6.      start:  mov ax,0                                       ;B8 00 00
  7.            s:  nop                                              ;90
  8.                nop                                              ;90
  9.          
  10.                mov di,offset s                             ;BF 08 00
  11.                mov si,offset s2                           ;BF 08 00
  12.                mov ax,cs:[si]                               ;2E——8B 04
  13.                mov cs:[di],ax                              ;2E——89 05
  14.       
  15.         s0:  jmp short s                                  ;EB F0
  16.      
  17.         s1:  mov ax,0                                     ;B8 00 00
  18.               int 21h                                         ;CD 21
  19.               mov ax,0                                      ;B8 00 00
  20.          
  21.         s2: jmp short s1                               ;EB E6
  22.              nop                                             ;90
  23.      
  24. codesg ends
  25. end start
复制代码

2.程序开始运行
①mov ax,0  
②nop * 2                ; 空指令,每个占一个字节
③mov di,offset s    ;将s段的偏移地址装入di
④mov si,offset s2   ;将s2段的偏移地址装入si
⑤mov ax,cs:[si]      ;将jmp short s1对应的机器码装入ax
⑥mov         mov cs:[di],ax  ;将ax装入cs:[di] 即将 nop * 2替换成 jmp short s1
⑦jmp short s             ;向前转移指令,计算到s的偏移量AC并偏移到s处
⑧jmp short s1           ;向后转移指令,无法计算s1到s的偏移量AC,转而使用当前指令的偏移量作为AC值即为8向上偏移   ???
⑨mov ax,4c00h   int 21h  ;结束程序

请教各位鱼油是否是如此

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-1 05:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表