回 帖 发 新 帖 刷新版面

主题:一些基础问题

buf db 8
    db ?
    db 8 dup(?)

mov cl,[buf+1]
怎么是[buf+1],按理8应该在[buf]中啊 


////////////////////////////////
lea si,cx[si]
这个中的cx[si]什么意思?还有什么表示方法
这条指令是不是用si指向那段内存地址?

/////////////////////////////////
infon db 0dh,0ah,'please input a year:$'
这里的$什么意思?我不太会用

回复列表 (共2个回复)

沙发

[quote]mov cl,[buf+1]
怎么是[buf+1],按理8应该在[buf]中啊 [/quote]
把buf指向的地址的下一个地址的数据移向cl寄存器.
[quote]lea si,cx[si]
这个中的cx[si]什么意思?还有什么表示方法[/quote]
cx[si]就是在源变址寄存器si加上偏移地址cx,它和[si+cx]的等价的.
是(错了别骂我,因为我也不知道,哈哈哈)
[quote]infon db 0dh,0ah,'please input a year:$'[/quote]
如果是双引号的话,就是建立一个字符串数据(da[p][l]...).单引号,我也不知道.

板凳

[buf+1]这个字段是DOS维护的,它指的是写入缓冲区的实际字节数.
cx[si]等价于[si+cx]
$是DOS下字符串的结束标志(比如C语言中字符串是以\0为结束标志).

我来回复

您尚未登录,请登录后再回复。点此登录或注册