学习汇编过程中遇到几条语句,不太明白,请讲解下,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/03 15:39:59
mov ax,0b800h ;在学到中断处就出现了,书上也没用说,我不知道干嘛的
mov es,ax
mov di,12*360+36*2;同上,书上说设置es:di指向显存空间的中间位置,不是很明白,

由于代码少,但是这几个代码是经常出现的,我感觉这几个代码有特定的意思,请讲解下,谢谢!

0b800h是字符显示方式(25行、80列)下显示缓冲区的段地址,这个缓冲区有多个页(这个页,从0开始编号,至于有多少页,与显示方式、显存大小有关。),每页4000(80列*25行*2)字节,最多显示2000个字符。每个字符占两个字节,偶数地址存放字符的ASCII码,奇数地址存放这个字符的显示属性(前景颜色、背景颜色及是否闪烁),头两条指令便是设置这个显示方式下的显示缓冲区的段地址。每行最多可以显示80个字符,占160个字节;最多显示25行,所以,每页显存的中间位置是12*160+39*2,指令mov di,12*360+36*2中的360及36都是错误的。

8086汇编中有关于中断向量表的获取吧?DOS下的东西,过时了。建议掠过这一部分内容。