来个大神帮小弟我解答一下汇编的问题吧。
1data:2XResult: db 0
3InputCnt: db 0
4Tips: db "Your computer was locked."
5Tips_Len equ $-Tips
6times 510-($-$$) db 0xf
7dw 0xaa55
问题一: 第5行和第6行代码的意思。
问题二: $和$$是什么意思。哪里有看这类东西的详细说明,最好能给个网址或者书或者手册那就最好了。
http://bbs.chinaunix.net/thread-3726777-1-1.html 根据ba21提供的链接,
1data:
2XResult: db 0
3InputCnt: db 0
4Tips: db "Your computer was locked."
5Tips_Len equ $-Tips
6times 510-($-$$) db 0xf
7dw 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-27dup(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字节。 本帖最后由 erh 于 2017-7-28 15:00 编辑
通过解答问题又学到了很多东西啊{:10_266:}{:10_266:}
顺便问一下,你这个程序是干什么用的?好像是要锁定计算机呀{:7_141:} erh 发表于 2017-7-28 14:58
通过解答问题又学到了很多东西啊
顺便问一下,你这个程序是干什么用的?好像是要锁定 ...
锁电脑,防止熊孩子长时间玩电脑。{:10_334:} ba21 发表于 2017-7-28 10:06
http://bbs.chinaunix.net/thread-3726777-1-1.html
还是给楼下最佳吧,毕竟答题答的最亢奋。
看了你给的链接,也很快解惑了。{:10_266:}
$ 是当前位置
$$ 是段开始位置
$ - $$ 是当前位置在段内的偏移 {:10_256:}谢谢啦
用的什么汇编,我用masm编译时,说是$$没有定义
页:
[1]