+ -
当前位置:首页 → 问答吧 → 怎么用8088汇编改写于渊的boot代码?

怎么用8088汇编改写于渊的boot代码?

时间:2010-11-22

来源:互联网

于渊的boot:
org 07c00h ;告诉编译器程序加载到7C00H处
  mov ax,cs
  mov ds,ax
  mov es,ax
  call DispStr ;调用显示字符串例程
  jmp $ ;无限循环
DispStr:
  mov ax,BootMessage
  mov bp,ax ;es:bp=串地址
  mov cx,16 ;cx=串长度
  mov ax,01301h ;ah=13,al=01h
  mov bx,000ch ;页号为0(bh=0)黑底红字(bl=0ch,高亮)
  mov dl,0
  int 10h ;10h号中断
  ret
BootMessage: db "hello,OS world!"
times 510-($-$$) db 0 ;填充剩下的空间,使生成的二机制代码恰好为512字节
dw 0xaa55 ;结束标志  

我想改成8088的:
code segment
 assume cs: code
 start:
 org 07c00h ;告诉编译器程序加载到7C00H处
  mov ax,cs
  mov ds,ax
  mov es,ax
  call DispStr ;调用显示字符串例程
  jmp $ ;无限循环
DispStr:
  mov ax,offset BootMessage
  mov bp,ax ;es:bp=串地址
  mov cx,16 ;cx=串长度
  mov ax,01301h ;ah=13,al=01h
  mov bx,000ch ;页号为0(bh=0)黑底红字(bl=0ch,高亮)
  mov dl,0
  int 10h ;10h号中断
  ret
BootMessage db "hello,OS world!"
  db 510-($-$$) dup(0) ;填充剩下的空间,使生成的二机制代码恰好为512字节
dw 0aa55h ;结束标志  
 code ends
 end start

可是times 510-($-$$) db 0 不知道该怎么改写,哪位知道?

作者: leetow2003   发布时间: 2010-11-22

是 db 510-($-7C00H) dup(0) 吗?

作者: shzhfu   发布时间: 2010-11-22

Assembly code

times 510-($-$$) db 0 


能否讲解一下 这段代码是什么意思吗?
谢谢

作者: cba_v   发布时间: 2010-11-22