PDA

View Full Version : خطا در بوت لودر



MohsenTi
چهارشنبه 17 شهریور 1389, 14:52 عصر
سلام دوستان
من یه بوت لودر درست کردم که وضیفش گرفتن یه کلید از صفحه کلیده
ولی وقتی کار به گرفتن کلید می رسه هنگ می کنه .
می خواستم ببینم مشکل کجاست ؟
کدش اینه

MTFunc.asm

jmp DontDo
;======== ReadNextChar =============
RNChar:
mov al,[si]
add si,1
ret
;======= WriteText ================
WriteText:
_Loop: mov ah,0x0e
mov bh,0x00
mov bl,0x07
call RNChar
int 0x10
or al,al
jnz _Loop
ret
;======= Read a Key ===============
ReadKey:
mov ah,00h
int 16h
;======= Read 512 Block ===========

;======= Write 512 Block ==========

;======= Read Kernel ==============
DontDo:





MTLoader.asm

ORG 0x7c00

;#Main Program
jmp main
nop
include 'MTFunc.asm'
main:

xor ax,ax
mov ds,ax
mov si,msg1
; sub si,1
call WriteText
xor si,si
mov si,msg2
call WriteText
call ReadKey
mov si,ToOs
call WriteText
; call formatflp144

;==================================

;==================================
;#Data

msg1 db 'Hello MT',13,10,'This is My first Boot Loader',0
msg2 db 13,10,'Wellcome to my os',13,10,0
ErrorMsg db 'Kernel Load Have Error',13,10,0
ToOs db 'Return To Booter sucssed.',13,10,0

times 510-($-$$) db 0
dw 0xAA55


ضمنا اسمبلرش هم fasm هست
تو قسمت

ReadKey
خطا میده
اینم ایمیج فلاپی برای بوت با VMWare

xman_1365_x
چهارشنبه 17 شهریور 1389, 20:56 عصر
مشكلي كه من ديدم
اين قسمت هار را درست كنيد.


mov si,word ptr[msg1]
mov si,word ptr[msg2]
mov si,word ptr[ToOs]

حال خروجي ميده اما بازم اشكال داره
مشكل هم در اينه كه si برابر با يك ميشه و آدرس متغير هاتون رو در خودش نداره و شكل خنده و p رو دوبار نمايش ميده
كلا وقت نكردم خوب نگاه كنم اما اشارگر ها مشكل دارن،ساختارش رو درست كنيد.
تونستي همه فايل هارو با هم آپلود كنيد تا ديگرانم استفاده كنند.
موفق باشي