dw:從CS:0開始填入字型數(shù)據(jù)。
程序6.1
CS:0-CS:D皆存放數(shù)據(jù)拉盾,E開始存放機(jī)器碼桨菜。但注意ip初始值仍為0
問題來了,CPU是依據(jù)CS:IP值來讀取內(nèi)存中機(jī)器碼從而執(zhí)行程序的捉偏。一個(gè)程序執(zhí)行結(jié)果正確的前提是IP應(yīng)該指向代碼段的第一條語句倒得。因此,我們需要人為設(shè)置一下IP值夭禽。
程序6.2
可以發(fā)現(xiàn)p值被修改了
程序6.3
其實(shí)8個(gè)0就夠了霞掺。
注意dw后接的數(shù)據(jù)會(huì)寫入cs中,而[bx]的段地址為ds
通過u可判斷ip終值
cs:0-cs:F的數(shù)據(jù)被逆轉(zhuǎn)了(可能吧...)