汇编语言高手 来帮帮

来源:百度知道 编辑:UC知道 时间:2024/05/05 00:14:32
最近想写一些 软件修改程序,以前没做过,问几个问题。

什么是基址? 一级基址? 二级基址?

如何找到基址?

如何读取 修改 基址里的数据?

一级基址? 二级基址?打个比方..就是地基..明白吗`?~
在以前,电脑的寄存器都是十六位的,数据总线是二十四位的(内存16M),所以单用一个寄存器无法寻址到所有地址,因此用两个寄存器或一个寄存器加一个立即数,用cs,ds,ss,es等以s结尾的寄存器作为段寄存器,用一个寄存器或立即数做偏移量,因为两个十六位寄存器加起来是三十二位,比数据总线位数宽,所以分段寻址采用了如下的寻址方式:段寄存器×100(十六进制)+偏移量,这样所计算出来的就是一个二十四位的数据,就可以寻址到所有地址,其中段寄存器×100(十六进制)所得到的地址就是段的基址,所以基址都是以00(十六进制)结尾的。而现在的寄存器都是三十位的,寻址可达4G,而通常电脑内存是没有大于4G的,所以就不用分段,用一个寄存器就可以寻址全部地址了。所以现在电脑的段寄存器都用来有其他的用途。

如果连基址都不知道,还是不要考虑用汇编语言来写程序了,用其他高级语言也是一样的

软件修改程序? 十有八九是想要编写病毒或木马程序吧?练练技术也就罢了,别做坏事啊