指令问题

[复制链接]
查看11 | 回复4 | 2011-10-13 20:58:55 | 显示全部楼层 |阅读模式
movPC寄存器是指程序计数器寄存器的意思PC(program counter)也是cpu中一个寄存器这个寄存器的功能是存放下一条指令的地址的所有的跳转指令都会改变这个寄存器的而mov不会改变这个寄存器. --------------------------------------------------------------------我想这题的意思是在问:不能直接改变PC寄存器的指令是?而jmp, call, ret 都是直接改变了pc,而mov 是间接的在执行一条了除跳转指令时,pc中存放的是下一条指令的地址,而在执行过程中是不会改变pc的而jmp, call, ret 等跳转指令本身就是跳转到另外一个地...
回复

使用道具 举报

千问 | 2011-10-13 20:58:55 | 显示全部楼层
不会改变PC寄存器内容的是?是 JMP。上述各条,执行时,皆要改变PC。但是,唯有 JMP,才可以控制 PC 的数值,使其不变。 完整指令是:JMP $。...
回复

使用道具 举报

千问 | 2011-10-13 20:58:55 | 显示全部楼层
call ret肯定要改变PCMOV本身不会改变,但执行完之后PC会+1或+2(根据不同的传送指令)JMP只有1、JMP $2、ADDR:JMP ADDR 时不改变PC,因为是转移到当前地址,其余任何情况均会改变PC...
回复

使用道具 举报

千问 | 2011-10-13 20:58:55 | 显示全部楼层
mov 会改变目的操作数jmp 任何寄存器都不变call 会改变sp寄存器,sp---->sp-1 压栈ret 会改变sp寄存器,sp---->sp+1 出栈...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行