星海's Blog

老头初学编程
王爽《汇编语言》程序设计1

有问题的汇编程序(不知错在哪里)

星海 posted @ 2010年11月23日 06:17 in 汇编学习 , 1356 阅读

bios设置为用软盘启动,通过软盘第一扇区内容引导硬盘第一扇区至0:7c00h处,然后引导硬盘系统

 

 

~\桌面\STARTSYS.ASM.html
 1 assume cs:codesg
 2 stack segment
 3     db 32 dup (0)
 4 stack ends
 5 
 6 codesg segment
 7 start:
 8     mov ax,stack
 9     mov ss,ax
10     mov sp,32
11 
12     push cs
13     pop ds
14     mov si,offset starsys ;cs[si]指向starsys段
15 
16     mov ax,0
17     mov es,ax
18     mov di,200h ;es:[di]指向0:200h内存
19 
20     mov cx,offset starsysend-offset starsys
21     cld
22     rep movsb ;将starsys段内容复制到0:200h
23 
24     mov ax,0
25     mov es,ax
26     mov bx,200h
27 
28     mov al,1
29     mov ch,0
30     mov cl,1
31     mov dl,0
32     mov dh,0
33 
34     mov ah,3
35     int 13h  ;调用13h中断,将0:200内容复制到软盘第一扇区
36 
37     mov ax,4c00h
38     int 21h
39 
40 starsys:
41     mov ax,0
42     mov es,ax
43     mov bx,7c00h  ;开机时,系统用0:7c00h存放启动设备第一扇区
44 
45     mov al,1
46     mov ch,0
47     mov cl,1
48     mov dl,80h
49     mov dh,0
50     mov ah,2
51     int 13h ;读取硬盘第一扇区至0:7c00h
52 
53     mov ax,0
54     push ax
55     mov ax,7c00h
56     push ax
57     retf  ;将cs,ip改为0:7c00
58 
59 starsysend:nop
60 
61 codesg ends
62 end start
63 

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter