JMP在汇编里是什么意思?
Jmp是无条件跳转指令。遇到jmp就跳。跳转指令不仅仅是jmp,jmp是无条件跳转。jmp要配合条件跳转指令使用,比如C语言程序:s0;for(inti0;i10I){sI;}可以编译成相当于以下汇编代码的指令:
Mov:CMP:MOVs,
用汇编语言编写,判断键盘输入的是否是Y若输入的是Y则显示YESY若不是则显示NOTY?
首先用1号函数输入一个字符,与cmp指令进行比较,然后分别输出需要的两个字符串。这个程序可以显示"YESY"大写和小写的y。如果只有大写"Y"是输出所必需的,只需删除行"安达尔,11011111b"在节目中。
assumecs:cod:datadatasegmentyesydbeyesy$notydbNOTY$dataendscod:movax,datamovds,axmovah,1int21handal,11011111b如果输入小写字母,则转换为大写CMPal,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.在XPDOS命令行下运行DEBUG,按照设想的功能进行汇编,然后反汇编得到机器码;
3.用UltraEdit打开MBR.dat文件,把机器码一个一个输入到对应的地址。将偏移地址25和26的值从#341c#34和#3406#34更改为#3462#34和#3407#34(跳转到附加代码执行)。。
4.将修改后的MBR.dat文件写回硬盘的第一个扇区。
这是第一种修改方法:(添加的代码是MBR的错误信息所在的地址。这种MBR具有较少的错误信息和紧凑的空间。)
添加的代码从MBR的第354个字节开始,具体代码如下:
0000:0762B402MOV啊,02
0000:0764CD16INT16
0000:0766240F和AL,0F
0000:07683c00CMPAL,00
0000:076a7438JZ07a4
#是否按下了右shift键?
0000:076CA801测试AL,01
0000:076e750cJNZ077c
#是否按下了左移键?
0000:0770A802测试AL,02
0000:0772750dJNZ0781
ctrl键是否按下?
0000:0774A804测试AL,04
0000:0776750:0778A808测试AL,08
0000:077a750fJNZ078b
#第一个主分区激活字节地址
0000:077cbbb:077f:0781bbce07MOVBX07C:0784:0786bbd:0789:078bbb:078:07908826b:07948826ce07MOV[07C:07988826de07MOV[07DE],啊