org 07c00h
mov ax,cs
mov ds,ax
mov es,ax
mov ah,0x02 ;ah=0x02,即为读磁盘扇区到内存
mov al,0x01 ;AL 置要读的扇区数目
;mov ch,0x00 ;CH 磁道号的低8位数
mov cx,0x0001;cl 开始扇区(位0—5),磁道号高二位(位6—7)
mov dl,0x80 ;DL 需要进行读操作的驱动器号
mov dh,0x00 ;dh=磁头号
mov bx,0x400 ; ES:BX 读出数据的缓冲区地址
int 0x13
jnc 0x400 ;即CF=0,则跳转
;jnc sucess
;jmp fail ;cf=1
jmp draw
draw:
mov ah,0;
mov al,06ah ;设置图形模式 0x6a 位800 600 16中颜色
int 10h
call clear_screen
;画 一条直线
mov bh,0x0 ;视频页
mov dx,400 ;y坐标
mov cx,10 ;x坐标
mov ah,0x0c ;功能号
mov al,12 ;像素值 像素颜色
lib:
int 10h
inc cx ;下一个像素
cmp cx,800 ;是否到了结束位置
jne lib
jmp $
clear_screen: ; 清屏函数
mov ah,0x06 ;功能号0x06
mov al,0 ;上卷全部行,即清屏
mov cx, 0x00 ;左上角行
mov dh,24 ;左上角列
mov dl,40 ;右下角行
mov bh,0x07 ;右下角列
int 10h ;空白区域属性
ret
fail:
mov ax,show
mov bp,ax
mov ah,0x013
mov al,0x00
mov dx,0x0202
mov cx,0x0015
mov bx,0x0001
int 10h
jmp $
sucess:
mov ax,info
mov bp,ax
mov ah,0x013
mov al,0x00
mov dx,0x0202
mov cx,0x0015
mov bx,0x0001
int 10h
jmp $
info:
db "my sucess verygood!"
show:
db "fail to loader sss!"
times 510-($-$$) db 0 ;填充剩下的空间,使生成的二进制代码恰好为512字节
dw 0xaa55
mov ax,cs
mov ds,ax
mov es,ax
mov ah,0x02 ;ah=0x02,即为读磁盘扇区到内存
mov al,0x01 ;AL 置要读的扇区数目
;mov ch,0x00 ;CH 磁道号的低8位数
mov cx,0x0001;cl 开始扇区(位0—5),磁道号高二位(位6—7)
mov dl,0x80 ;DL 需要进行读操作的驱动器号
mov dh,0x00 ;dh=磁头号
mov bx,0x400 ; ES:BX 读出数据的缓冲区地址
int 0x13
jnc 0x400 ;即CF=0,则跳转
;jnc sucess
;jmp fail ;cf=1
jmp draw
draw:
mov ah,0;
mov al,06ah ;设置图形模式 0x6a 位800 600 16中颜色
int 10h
call clear_screen
;画 一条直线
mov bh,0x0 ;视频页
mov dx,400 ;y坐标
mov cx,10 ;x坐标
mov ah,0x0c ;功能号
mov al,12 ;像素值 像素颜色
lib:
int 10h
inc cx ;下一个像素
cmp cx,800 ;是否到了结束位置
jne lib
jmp $
clear_screen: ; 清屏函数
mov ah,0x06 ;功能号0x06
mov al,0 ;上卷全部行,即清屏
mov cx, 0x00 ;左上角行
mov dh,24 ;左上角列
mov dl,40 ;右下角行
mov bh,0x07 ;右下角列
int 10h ;空白区域属性
ret
fail:
mov ax,show
mov bp,ax
mov ah,0x013
mov al,0x00
mov dx,0x0202
mov cx,0x0015
mov bx,0x0001
int 10h
jmp $
sucess:
mov ax,info
mov bp,ax
mov ah,0x013
mov al,0x00
mov dx,0x0202
mov cx,0x0015
mov bx,0x0001
int 10h
jmp $
info:
db "my sucess verygood!"
show:
db "fail to loader sss!"
times 510-($-$$) db 0 ;填充剩下的空间,使生成的二进制代码恰好为512字节
dw 0xaa55