根据ba21提供的链接,
1 data:
2 XResult: db 0
3 InputCnt: db 0
4 Tips: db "Your computer was locked."
5 Tips_Len equ $-Tips
6 times 510-($-$$) db 0xf
7 dw 0xaa55
第五行的意思就是Tips_Len等于第四行那个字符串的长度;
第六行的意思就是定义510-第六行偏移地址个字节的0xf;
不知道你这个程序是哪种汇编,改造后调试如下:
- assume cs:code,ds:dase
- dase segment
- data:
- XResult: db 0
- InputCnt: db 0
- Tips: db "Your computer was locked."
- Tips_Len equ $-Tips
- off equ $-offset data
- times db 510-27 dup(0fh)
- dw 0aa55h
- dase ends
- code segment
- start:
- mov ax,dase
- mov ds,ax
- mov ax,Tips_Len
- mov bx,off
- mov ax,4c00h
- int 21h
- code ends
- end start
复制代码
可以看出整个填充满了一个扇区,即512字节。