myos loadtest

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Farmwang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值