反正结果是不对了,就会出现各种各样的BUG
退出指令
mov ax,4c00 这个是操作系统提供的,用于退出汇编程序
如果不退出,ip的偏移就会出现错误,那么就可能随机的吧ip和cs联合寻找的物理地址当做代码段去执行...三丶编译器的出现
上面说的debug只是一个调试器,或者叫做翻译器
现在出现了一个编译器,编译器就规定了语法了,然后那个时候我们可以把我们的程序,按照编译器的语法,编译成汇编代码
比如分段
1.代码段... 我们要使用编译器,第一步就是给编译器改个名字,为了不可vc++6.0自带的冲突,所以随便改一个
这里我改成ml16.exe
2.配置环境变量, 计算机 - > 属性- > 高级 -...第三步就是执行了
六丶段超越
但是分段只是逻辑上的分段,比如你在代码段里面放数据,是一样可以执行的
比如上面的asm代码可以改成下面这样
1 MyData segment
2 g_szHello...所以其实段只是逻辑的概念,比如C语言的内存4区,就是基于汇编的分段,C语言也可以在全局变量区执行代码,执行函数,有的是方法.只不过分段了只是为了更好的开发而已
真正底层这些都不会是问题的.