汇编问题(读到一半死了)
情况如下图:程序代码:
section .text
global main
org 100h
main:
mov ax, cs
mov ds, ax
mov ah, 09H ;9号调用
mov dx,msge
int 21h
MOV AX,0201H ;(用功能号2读1个扇区)
MOV BX,B0 ;把读出的数据放入缓冲区的地址为CS:1000
MOV CX,0001H ;(读0柱面,1扇区)
MOV DX,0080H ;(指定第一物理盘的0磁头)
;20
INT 13H ;读MBR区到内存
JMP READ
mov dx,B0
MOV AH,4CH
INT 21H
READ:
PUSH CS
POP ES
MOV BX,B0
msge:
db "read the message of MBR to the memory!",0ah,0dh,"$"
;str_len equ $ - B0
; times 530 - ($ - $$) db 0 ; 填充剩下的空间,使生
成的二进制代码恰好为512字节
B0: times 510 -($-$$) db 0
这个是不是压栈和读栈的问题?希望知道的高手给点意见,最好就能够给出修正的代码。小弟在此先谢啦!
[ 本帖最后由 brantyou 于 2009-10-25 17:48 编辑 ]