不行?。? 你說(shuō)的是這一步:D:\TASM\BIN\TASM32 %1.ASM/l 而我需要解決的是這一步:D:\TASM\BIN\BRM20MK %1.EXE 也就是在最后形成的BIN文件中,我希望能夠精確的定位到我的一個(gè)代碼位置,如: mov cx,baseline的位置
沒(méi)有人回答這個(gè)問(wèn)題啊?
用批處理工具BRM,直接一步就可以生成BIN文件了。
樓上的,你和我的題目要解決的問(wèn)題不一樣啊,我是要解決“在擴(kuò)展bios運(yùn)行的過(guò)程中,是否可以任意修改flash中的值啊”,你那就是一個(gè)靜態(tài)的方法啊。
看來(lái)是沒(méi)有辦法了,我只有把這個(gè)功能給去掉了。
可以實(shí)現(xiàn)隨時(shí)擦寫(xiě),無(wú)論BIOS或者DOS,修改長(zhǎng)度不限,無(wú)論數(shù)據(jù)(password and etc.)或者程序代碼(bios code)
在解壓縮前使用以下4個(gè)API: EXTRN _CH364X_FLASH_READ :NEAR ; 解壓縮之前,從Flash-ROM存儲(chǔ)器讀取數(shù)據(jù)塊 ; 入口: EBX 起始地址, SI 字節(jié)數(shù)(0代表10000H), ES:DI 緩沖區(qū) ; 出口: Z 成功, NZ 失敗(存儲(chǔ)器可能被完全鎖定) ; EXTRN _CH364X_FLASH_LOCK :NEAR ; 解壓縮之前,對(duì)Flash-ROM存儲(chǔ)器進(jìn)行寫(xiě)保護(hù)設(shè)定 ; 入口: BL 為00H則解除寫(xiě)保護(hù),為8CH則允許寫(xiě)保護(hù)/只讀鎖定,為0FFH則讀寫(xiě)保護(hù)/完全鎖定,只在復(fù)位后才能解鎖 ; 出口: Z 成功, NZ 失敗(存儲(chǔ)器可能被完全鎖定) ; EXTRN _CH364X_FLASH_ERASE :NEAR ; 解壓縮之前,對(duì)Flash-ROM存儲(chǔ)器的指定區(qū)域進(jìn)行擦除 ; 入口: EBX 起始地址, SI 字節(jié)數(shù)(0代表10000H) ; 出口: Z 成功, NZ 失敗(存儲(chǔ)器可能被完全鎖定) ; EXTRN _CH364X_FLASH_WRITE :NEAR ; 解壓縮之前,向Flash-ROM存儲(chǔ)器寫(xiě)入數(shù)據(jù)塊 ; 入口: EBX 起始地址, SI 字節(jié)數(shù)(0代表10000H), ES:DI 緩沖區(qū) ; 出口: Z 成功, NZ 失敗(存儲(chǔ)器可能被完全鎖定)
在解壓縮后使用以下4個(gè)API EXTRN _CH364_FLASH_READ :NEAR ; 從Flash-ROM存儲(chǔ)器讀取數(shù)據(jù)塊 ; 入口: EBX 起始地址, SI 字節(jié)數(shù)(0代表10000H), ES:DI 緩沖區(qū) ; 出口: Z 成功, NZ 失敗(存儲(chǔ)器可能被完全鎖定) ; EXTRN _CH364_FLASH_LOCK :NEAR ; 對(duì)Flash-ROM存儲(chǔ)器進(jìn)行寫(xiě)保護(hù)設(shè)定 ; 入口: BL 為00H則解除寫(xiě)保護(hù),為8CH則允許寫(xiě)保護(hù)/只讀鎖定,為0FFH則讀寫(xiě)保護(hù)/完全鎖定,只在復(fù)位后才能解鎖 ; 出口: Z 成功, NZ 失敗(存儲(chǔ)器可能被完全鎖定) ; EXTRN _CH364_FLASH_ERASE :NEAR ; 對(duì)Flash-ROM存儲(chǔ)器的指定區(qū)域進(jìn)行擦除 ; 入口: EBX 起始地址, SI 字節(jié)數(shù)(0代表10000H) ; 出口: Z 成功, NZ 失敗(存儲(chǔ)器可能被完全鎖定) ; EXTRN _CH364_FLASH_WRITE :NEAR ; 向Flash-ROM存儲(chǔ)器寫(xiě)入數(shù)據(jù)塊 ; 入口: EBX 起始地址, SI 字節(jié)數(shù)(0代表10000H), ES:DI 緩沖區(qū) ; 出口: Z 成功, NZ 失敗(存儲(chǔ)器可能被完全鎖定)