鱼C论坛

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

[汇编作业] 汇编语言_实验8

[复制链接]
发表于 2021-2-8 18:46:53 | 显示全部楼层 |阅读模式

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

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

x
【学习交流,共同进步】
assume cs:codesg

codesg segment              ;debug中的初始状态       ;执行到0016时的状态
 
        mov ax,4c00h         ;0000 mov ax,4c00         ;0000 mov ax,4c00
        int 21h                   ;0003 int 21                   ;0003 int 21

start:  mov ax,0              ;0005 mov ax,0000         ;0005 mov ax,0000
       s: nop                     ;0008 nop                      ;0008 jmp 0000
           nop                    ;0009 nop             
           
           mov di,offset s    ;000a mov di,0008           ;000a mov di,0008
           mov si,offset s2   ;000d mov si,0020           ;000d mov si,0020
           mov ax,cs:[si]     ;0010 cs:                         ;0010 cs:
                                    ;0011 mov ax,[si]             ;0011 mov ax,[si]
           mov cs:[di],ax     ;0013 cs:                         ;0013 cs:
                                    ;0014 mov [di],ax             ;0014 mov [di],ax
           
       s0:jmp short s         ;0016 jmp 0008                ;0016 jmp 0008
         
       s1:mov ax,0            ;0018 mov ax,0000            ;0018 mov ax,0000
           int 21h               ;001b int 21                      ;001b int 21
           mov ax,0            ;001d mov ax,0000           ;001d mov ax,0000
           
       s2:jmp short s1       ;0020 jmp 0018                ;0020 jmp 0018
           nop                    ;0022 nop                        ;0022 nop
             
codesg ends
end start
小甲鱼老师讲的很好了,但是可能因为我是倍速看的,做这个的时候,我是蒙蔽了一下子的。(没看后面的小甲鱼老师的讲解)因为我复制一个汇编指令换个地方,汇编指令自己就变了。woc,计算机有思维了吗?那肯定不是的。
所以,我来讲一下我的思考。
我们可以看到debug里面jmp后面是指向具体的ip地址,而我们复制换了一个地方后,jmp后面的ip地址变了。
所以得出,机器码表示了向前或者向后的偏移地址,右边debug中的汇编指令是机器码的计算结果,也就是具体ip地址。
正是因为如此,就是因为我们复制一个代码时,复制的是机器码,汇编代码是由此处的机器码经过运算得到的,所以就算一样的机器码,在不同的地方,翻译出来的汇编指令也可能会不一样。
很绕口,大家意会一下,相信大家都懂。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 09:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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