我告诉你:
mov cs, ax是错误的, 因为mov指令不能用于设置cs,ip的值.
修改cs,ip的内容要用jmp命令.
同时修改, jmp 段地址: 偏移地址, 如 jmp 2BE4H: 3 修改后CS=2BE4 IP =0003H
难道不看书吗? 你学intel格式,我学习at&t格式。嘎嘎
我也来答一下,书上将的是:在8086里面是不允许想CS段寄存器直接写东西的,CS的值是由系统加载的时候确定的,应用程序不必关心,也不能直接修改他的值,段间转移除外(也是间接的)。存储器在汇编里面通常可以是一个变量的名字,如果是反汇编的代码的话就看到的是一个内存地址了,就象[00000000]的形式。。你看一下MOV指令里面的介绍,好象是不能两个操作数都是段寄存器,其中代码段寄存器永远也不可以做目的操作数。!这是我看了书后记下的东西。!不放心就自己查哈啊!!
使用存储器一般都是用方括号[]括起来的
mov cs,ax
这句没有错
不知你说的存储器是不是内存,如果是话的,在汇编中存取内存单元可以用这样的形式:
mov [0x1000],ax
即把ax的值放到0x1000的内存单元,当然还可以用其他寻址方式,你可以参考汇编的资料