中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做網(wǎng)站換服務(wù)器怎么整成人教育機(jī)構(gòu)排行前十名

做網(wǎng)站換服務(wù)器怎么整,成人教育機(jī)構(gòu)排行前十名,商場(chǎng)設(shè)計(jì)費(fèi),專業(yè)做網(wǎng)站咨詢28.1 alloca __alloca 會(huì)在下述情況下被 C 語言的程序調(diào)用(采用 near-CALL 的方式)。 1、要執(zhí)行的操作從棧中分配 EAX 個(gè)字節(jié)的內(nèi)存空間( ESP - EAX; ) 2、要遵守的規(guī)則不能改變 ECX 、 EDX 、 EBX 、 EBP 、 ESI 、 EDI的值&am…

28.1 alloca

__alloca 會(huì)在下述情況下被 C 語言的程序調(diào)用(采用 near-CALL 的方式)。
1、要執(zhí)行的操作從棧中分配 EAX 個(gè)字節(jié)的內(nèi)存空間( ESP -= EAX;
2、要遵守的規(guī)則不能改變 ECX 、 EDX 、 EBX 、 EBP ESI 、 EDI的值(可以臨時(shí)改變它們的值,但要使用 PUSH/POP 來復(fù)原)
RET 返回的地址保存在了ESP(“RET”指令實(shí)際上相當(dāng)于“POP EIP”,“POP EIP”實(shí)際上又相當(dāng)于下面兩條指令:MOV EIP,[ESP]? ??ADD ESP,4)。為實(shí)現(xiàn)類似RET功能指令,所以編寫了如下 __alloca函數(shù)指令。
__alloca:
????????SUB? ESP,EAX
????????ADD? ESP,4
????????JMP? DWORD [ESP+EAX-4] ; 代替 RET
注:C語言中,在函數(shù)外部聲明的變量和帶static的變量一樣,都會(huì)被解釋為DB和RESB;在函數(shù)內(nèi)部不帶static聲明的變量則會(huì)從棧中分配空間。

28.2 文件操作API?

需要實(shí)現(xiàn)的功能:打開、定位、讀取、寫入和關(guān)閉文件。思路:打開文件時(shí)需要指定文件名,如果打開成功,操作系統(tǒng)將返回文件句柄。在隨后的操作中,只要提供這個(gè)文件句柄就可以進(jìn)行讀寫操作了,操作結(jié)束后將文件關(guān)閉。讀取和寫入API基本上需要指定需要讀取(寫入)的數(shù)據(jù)長(zhǎng)度以及內(nèi)存地址,文件的內(nèi)容會(huì)被傳送至內(nèi)存(寫入操作時(shí)是由內(nèi)存?zhèn)魉椭廖募?#xff09;。
打開文件
關(guān)閉文件
文件定位
獲取文件大小
文件讀取
EDX=21
EBX= 文件名
EAX= 文件句柄(為 0 時(shí)表示打開失敗)(由操作系統(tǒng)返回)
EDX=22
EAX= 文件句柄
EDX=23
EAX= 文件句柄
ECX= 定位模式
????????=0:定位的起點(diǎn)為文件開頭
????????=1:定位的起點(diǎn)為當(dāng)前的訪問位置
????????=2:定位的起點(diǎn)為文件末尾
EBX= 定位偏移量
EDX=24
EAX= 文件句柄
ECX= 文件大小獲取模式
???????=0:普通文件大小
???????=1:當(dāng)前讀取位置從文件開頭起算的偏移量
???????=2:當(dāng)前讀取位置從文件末尾起算的偏移量
EAX= 文件大小(由操作系統(tǒng)返回)
EDX=25
EAX= 文件句柄
EBX= 緩沖區(qū)地址
ECX= 最大讀取字節(jié)數(shù)
EAX= 本次讀取到的字節(jié)數(shù)(由操作系統(tǒng)返回)
/*                    bootpack.h                    */
struct TASK {(中略)int ds_base, cons_stack;struct FILEHANDLE *fhandle; /*從此開始*/int *fat; /*到此結(jié)束*/
};
struct FILEHANDLE { /*從此開始*/char *buf;int size;int pos;
}; /*到此結(jié)束*//*                    console.c                    */
void console_task(struct SHEET *sheet, int memtotal)
{(中略)struct FILEHANDLE fhandle[8];(中略)for (i = 0; i < 8; i++) fhandle[i].buf = 0; /*未使用標(biāo)記*/task->fhandle = fhandle;task->fat = fat;(中略)
}if (finfo->size >= 36 && strncmp(p + 4, "Hari", 4) == 0 && *p == 0x00) {//cmd_app代碼片段(中略)start_app(0x1b, 0 * 8 + 4, esp, 1 * 8 + 4, &(task->tss.esp0));(中略)for (i = 0; i < 8; i++) { /*將未關(guān)閉的文件關(guān)閉*/ /*從此開始*/if (task->fhandle[i].buf != 0) {memman_free_4k(memman, (int) task->fhandle[i].buf, task->fhandle[i].size);task->fhandle[i].buf = 0;}} /*到此結(jié)束*/(中略)
}int *hrb_api(int edi, int esi, int ebp, int esp, int ebx, int edx, int ecx, int eax){(中略)struct FILEINFO *finfo;struct FILEHANDLE *fh;struct MEMMAN *memman = (struct MEMMAN *) MEMMAN_ADDR;(中略)
/*開始*/}else if(edx == 21){//打開文件for(i = 0; i < 8; i++){if(task->fhandle[i].buf == 0)break;}fh = &task->fhandle[i];reg[7] = 0;if(i < 8){finfo = file_search((char*)ebx+ds_base, (struct FILEINFO*)(ADR_DISKIMG+0x002600), 224);if(finfo != 0){reg[7] = (int)fh;fh->buf = (char *) memman_alloc_4k(memman, finfo->size);fh->size = finfo->size;fh->pos = 0;file_loadfile(finfo->clustno, finfo->size, fh->buf, task->fat, (char *)(ADR_DISKIMG+0x003e00));}}}else if(edx == 22){//關(guān)閉文件fh = (struct FILEHANDLE*)eax;memman_free_4k(memman, (int)fh->buf, fh->size);//與打開文件操作中的memman_alloc_4k對(duì)應(yīng)fh->buf = 0;}else if(edx == 23){//文件定位fh = (struct FILEHANDLE*)eax;if(ecx == 0){//定位的起點(diǎn)為文件開頭fh->pos = ebx;}else if(ecx == 1){//定位的起點(diǎn)為當(dāng)前的訪問位置fh->pos += ebx;}else if(ecx == 2){//定位的起點(diǎn)為文件末尾fh->pos = fh->size + ebx;}if(fh->pos < 0)fh->pos = 0;if(fh->pos > fh->size)fh->pos = fh->size;}else if(edx == 24){//獲取文件大小fh = (struct FILEHANDLE*)eax;if(ecx == 0){//普通文件大小reg[7] = fh->size;}else if(ecx == 1){//當(dāng)前讀取位置從文件開頭起算的偏移量reg[7] = fh->pos;}else if(ecx == 2){//當(dāng)前讀取位置從文件末尾起算的偏移量reg[7] = fh->pos - fh->size;}}else if(edx == 25){//文件讀取,寫入到ebx緩存區(qū)中fh = (struct FILEHANDLE*)eax;for(i = 0; i < ecx; i++){if(fh->pos == fh->size)break;*((char *) ebx + ds_base + i) = fh->buf[fh->pos];fh->pos++;}reg[7] = i;
/*結(jié)束*/}return 0;
}

28.3 命令行API?

需要實(shí)現(xiàn)的功能:在用戶輸入“type ***.nas”這樣的命令時(shí)獲取后面的文件名。
獲取命令行
EDX=26
EBX= 存放命令行內(nèi)容的地址
ECX= 最多可存放多少字節(jié)
EAX= 實(shí)際存放了多少字節(jié)(由操作系統(tǒng)返回)
/*                    a_nask.nas                    */
_api_cmdline: ; int api_cmdline(char *buf, int maxsize);PUSH EBXMOV EDX,26MOV ECX,[ESP+12] ; maxsizeMOV EBX,[ESP+8] ; bufINT 0x40POP EBXRET
/*                    bootpack.h                    */
struct TASK {(中略)char *cmdline;
};/*                    console.c                    */
void console_task(struct SHEET *sheet, int memtotal)
{(中略)task->cons = &cons;task->cmdline = cmdline; /*這里!*/(中略)
}int *hrb_api(int edi, int esi, int ebp, int esp, int ebx, int edx, int ecx, int eax)
{(中略)} else if (edx == 26) {i = 0;for (;;) {*((char *) ebx + ds_base + i) = task->cmdline[i];if (task->cmdline[i] == 0) {break;}if (i >= ecx) {break;}i++;}reg[7] = i;}return 0;
}
http://www.risenshineclean.com/news/54327.html

相關(guān)文章:

  • design工業(yè)設(shè)計(jì)seo優(yōu)化工作
  • 去哪找做網(wǎng)站的客戶網(wǎng)絡(luò)營(yíng)銷推廣
  • pis粉絲做的網(wǎng)站seo營(yíng)銷培訓(xùn)
  • 使用wordpress的建網(wǎng)站360優(yōu)化大師歷史版本
  • 網(wǎng)站建設(shè)運(yùn)用軟件網(wǎng)站關(guān)鍵詞優(yōu)化推廣哪家快
  • 網(wǎng)站引流怎么做關(guān)鍵詞優(yōu)化工具
  • 自己做采集電影網(wǎng)站營(yíng)銷推廣活動(dòng)策劃方案
  • 網(wǎng)站建設(shè)速成班廈門人才網(wǎng)官網(wǎng)招聘信息網(wǎng)
  • 網(wǎng)站建設(shè)制作細(xì)節(jié)天津百度推廣公司電話
  • 給我一個(gè)網(wǎng)站2021seo顧問服務(wù) 樂云踐新專家
  • 成都網(wǎng)絡(luò)推廣網(wǎng)站引流客戶的最快方法是什么
  • 備案公司網(wǎng)站建設(shè)方案書百度收錄入口在哪里
  • 科技網(wǎng)站建設(shè)免費(fèi)的個(gè)人網(wǎng)站html代碼
  • termux 安裝wordpress搜索引擎優(yōu)化報(bào)告
  • 淘寶客網(wǎng)站推廣位怎么做天津站內(nèi)關(guān)鍵詞優(yōu)化
  • 優(yōu)秀網(wǎng)站的必備要素使用 ahrefs 進(jìn)行 seo 分析
  • com的域名是指商業(yè)網(wǎng)站的域名.免費(fèi)seo排名優(yōu)化
  • 引流推廣方案廈門seo外包平臺(tái)
  • python做網(wǎng)站設(shè)計(jì)百度指數(shù)數(shù)據(jù)分析平臺(tái)
  • 網(wǎng)站建設(shè)作者墻這個(gè)模板培訓(xùn)學(xué)校網(wǎng)站
  • 哪種編程語言可以做網(wǎng)站軟文寫作范例大全
  • 做論壇網(wǎng)站4g空間夠不夠用自己搭建網(wǎng)站需要什么
  • 電商網(wǎng)站建設(shè)的相關(guān)內(nèi)容seo服務(wù)外包公司
  • 外貿(mào)建站費(fèi)用安卓手機(jī)優(yōu)化神器
  • 企業(yè)網(wǎng)站建設(shè)方案.doc世界互聯(lián)網(wǎng)峰會(huì)
  • 網(wǎng)站開發(fā)總監(jiān)招聘中國(guó)騰訊和聯(lián)通
  • wordpress簡(jiǎn)體中文下載地址神馬快速排名優(yōu)化工具
  • 臺(tái)州做網(wǎng)站哪家好最近的電腦培訓(xùn)學(xué)校
  • 400網(wǎng)站建設(shè)價(jià)格今日頭條新聞在線看
  • 秦皇島黃金海岸濟(jì)寧seo公司