看到17.3章,纠结了很久,求帮忙
纠结了半天看不懂,总偏移地址怎么算出来的,160乘以ah、add dl,dl看不懂 DOS中一行可以显示80个字符例如:01 02
04 88 01中存放的是颜色 02中存放的是要显示的东西
从上面可以看出 显示一个字符就要用到2个空间 (1个字)
由可得出 DOS的一行有160个字符,160 * n= 行数
例如 : 在第八行的第22个位置显示一个字母
160*8 :指向第八行
因为每显示一个字符要花2个位置,所以 22+22 就是第22个位置
mov ax,0b800H
mov ds,ax
mov al,160
mov dl,8
mul dl
mov di,ax ; 此时di中存放的是第八行的地址
mov dl ,22 ;22代表第22个字符显示的位置,因为显示1个字符要占2个位置所以 22+22
add dl,dl
mov dh,0 ; 把dh清0
add di,dx;di中原本就存放了第八行的地址在加上第22个字符的显示位置,就相当于第八行第22个显示位的地址了
页:
[1]