c++教程 如何運(yùn)行匯編程序?
如何運(yùn)行匯編程序?匯編語言源程序運(yùn)行方法:1。以起始地址Sa:0000(即起始地址的偏移地址為0)查找一段具有足夠容量的可用內(nèi)存區(qū)域。2. 在該存儲(chǔ)區(qū)的前256字節(jié)中,創(chuàng)建了一個(gè)稱為程序段前綴(PSP
如何運(yùn)行匯編程序?
匯編語言源程序運(yùn)行方法:
1。以起始地址Sa:0000(即起始地址的偏移地址為0)查找一段具有足夠容量的可用內(nèi)存區(qū)域。
2. 在該存儲(chǔ)區(qū)的前256字節(jié)中,創(chuàng)建了一個(gè)稱為程序段前綴(PSP)的數(shù)據(jù)區(qū)。DOS使用PSP與加載的程序進(jìn)行通信。
3. 從這個(gè)存儲(chǔ)區(qū)的256字節(jié)開始(PSP之后),加載程序,程序地址設(shè)置為sa 10h:0;空閑存儲(chǔ)區(qū)從sa:0開始,0~255字節(jié)為PSP,程序從256字節(jié)開始存儲(chǔ)。為了更好地區(qū)分PSP和程序,DOS會(huì)把它們分成不同的部分,如下:空閑內(nèi)存區(qū):Sa:0,PSP區(qū):Sa:0程序區(qū):Sa 10h:0注:雖然PSP區(qū)和程序區(qū)的物理地址是連續(xù)的,但它們有不同的段地址。
4. 將存儲(chǔ)區(qū)的段地址(SA)存儲(chǔ)到DS中,初始化其他相關(guān)寄存器,并將CS:IP設(shè)置為指向程序入口(SA 10h:0)。