汇编语言cmp和jmp是什么意思 JMP在汇编里是什么意思?
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],啊
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。