如何执行一条汇编指令

    科技2022-08-09  124

    在电脑中执行一条指令主要又三个步骤:

    (1)在指定地址上写入一条汇编指令 (2)使cs寄存器与ip寄存器指向指令所在的地址 (3)开始执行

    (1)在指定地址写入一条汇编指令:
    终端上常用的命令有: R命令:查看寄存器内容:直接输入r //例: r 修改寄存器内容:r + 寄存器名称 //例:r ax ------> 修改ax寄存器中的数据,回车后输入内容 D命令:查看当前内存中的内容:直接输入d 然后回车 查看指定内存的内容:d + 指定地址 然后回车 //例:d 1000:0 ---->查看段地址1000H,偏移地址0000H内存的内容 E命令:改写当前内存中的内容: e 回车输入内容 改写指定内存的内容:e + 指定地址 //例:e 1000:0 --->修改段地址1000H,偏移地址0000H内存的内容 U命令:将当前内存中的机器指令翻译成汇编指令:u 将指定内存中的机器指令翻译成会汇编指令:u + 指定地址 例:u 1000:0 --->10000地址上的机器指令翻译成汇编指令 A命令:在当前内存以汇编指令格式写入一条机器指令:a 回车输入汇编指令 在指定内存中写入一条汇编指令:a + 指定地址 //例: a 1000:0 --->在内存地址为1000:0中写入一条汇编指令 T命令:根据cs和ip的地址执行一条指令

    这里主要使用A命令,A命令的作用是以汇编指令的格式在内存中写入一条机器指令:

    a 1000:0 //在段地址1000H偏移地址为0000H的地址上写入一条汇编指令

    当我们输入命令后回车就会出现我们刚刚指定的地址,然后我们可以输入汇编指令了,我这里输入mov ax,1000;连续回车两下退出输入,不然会一直在下一个地址的输入界面;此时我们可以输入命令查看ax寄存器的值:

    (1)修改CS(Code Segment)与IP(Instruction Pointer)的值:

    其中CS为:代码段寄存器,执行汇编指令时CPU会从CS寄存器中读取代码所在的段地址 IP为:指令指针寄存器,执行汇编指令时,CPU会从IP寄存器中读取代码>所在段地址的偏移地址 注:执行命令时会把CS的段地址和IP的偏移地址来获得指令真正所在的地址

    我们是通过r命令来修改CS寄存器和IP寄存器中的值;

    修改CS寄存器的段地址和IP寄存器的偏移地址值: r cs 然后回车输入我们刚刚存放指令的段地址 r ip 然后回车输入 (指令在1000:0地址,其中1000为段地址,冒号后的0为偏移地址)

    (3)开始执行汇编指令

    上面步骤都完成以后我们就可以开始执行我们刚刚写的指令了: 直接输入t后CPU就会自动从cs和ip寄存器中读取我们的汇编指令去执行了

    注:在汇编中是不区分大小写的,因此大写和小写是可以一起使用的

    如若有什么错误的地方麻烦提示一下,非常感谢

    Processed: 0.024, SQL: 9