2016 - 2024

感恩一路有你

汇编语言cmp和jmp是什么意思 JMP在汇编里是什么意思?

浏览量:5018 时间:2023-04-03 11:05:22 作者:采采

JMP在汇编里是什么意思?

Jmp是无条件跳转指令。遇到jmp就跳。跳转指令不仅仅是jmp,jmp是无条件跳转。jmp要配合条件跳转指令使用,比如C语言程序:s0;for(int i0;i10I){ s I;}可以编译成相当于以下汇编代码的指令:

Mov: CMP : MOVs,

用汇编语言编写,判断键盘输入的是否是Y若输入的是Y则显示YES Y若不是则显示NOT Y?

首先用1号函数输入一个字符,与cmp指令进行比较,然后分别输出需要的两个字符串。这个程序可以显示 "YESY "大写和小写的y。如果只有大写 "Y "是输出所必需的,只需删除行 "安达尔,11011111b "在节目中。

assumecs:cod:datadatasegmentyesydbeyesy $ notydbNOTY $ dataendscod: movax,datamovds,axmovah,1int21handal,11011111b如果输入小写字母,则转换为大写CMP al,yjzyl: l:

我们知道MBR分区的硬盘最多可以设置四个主分区,每个主分区可以安装不同的操作系统。被设置为活动分区后,对应分区下的操作系统就可以启动了。

该日志记录了硬盘MBR启动代码的修改,在启动过程中动态修改硬盘的活动分区,从而实现不同操作系统的启动。

1.默认引导已被设置为活动分区的主分区。

2.电脑启动时,按右shift键启动第一个主分区(hd0,0)。

3.电脑启动时,按左shift键启动第二个主分区(hd0,1)。

4.电脑启动时,按ctrl启动第三个主分区(hd0,2)。

5.电脑启动时,按alt启动第四个主分区(hd0,3)。

我没有。;不改变硬盘的启动代码,只是在我添加的东西的开头改了一个跳转代码。代码执行。添加的代码所占用的空间就是原始MBR错误信息所在的空间。我减少了错误信息,所以如果有错误,仍然会有提示。

实施流程:

1.运行硬盘分区软件,将MBR保存为文件MBR.DAT。

2.在XP DOS命令行下运行DEBUG,按照设想的功能进行汇编,然后反汇编得到机器码;

3.用UltraEdit打开MBR.dat文件,把机器码一个一个输入到对应的地址。将偏移地址25和26的值从# 341c # 34和# 3406 # 34更改为# 3462 # 34和# 3407 # 34(跳转到附加代码执行)。。

4.将修改后的MBR.dat文件写回硬盘的第一个扇区。

这是第一种修改方法:(添加的代码是MBR的错误信息所在的地址。这种MBR具有较少的错误信息和紧凑的空间。)

添加的代码从MBR的第354个字节开始,具体代码如下:

0000:0762 B402 MOV啊,02

0000 : 0764 CD16 INT 16

0000:0766 240F和AL,0F

0000 : 0768 3c 00 CMP AL,00

0000 : 076 a 7438 JZ 07a 4

#是否按下了右shift键?

0000:076C A801测试AL,01

0000 : 076 e 750 c JNZ 077 c

#是否按下了左移键?

0000:0770 A802测试AL,02

0000 : 0772 750d JNZ 0781

ctrl键是否按下?

0000:0774 A804测试AL,04

0000 : 0776 750 :0778 A808测试AL,08

0000 : 077 a 750 f JNZ 078 b

#第一个主分区激活字节地址

0000 : 077 c bbb: 077 f : 0781 bbce 07 MOV BX 07C: 0784 : 0786 bbd: 0789 : 078 b bb:078: 0790 8826 b: 0794 8826 ce 07 MOV[07C: 0798 8826 de 07 MOV[07DE],啊

代码 MBR 指令 硬盘

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。