int 10h

int 10h 是16号中断。

作用是设置显示器显示相关的设置,来显示要显示的东西,如字符模式,字符串模式,像素模式

中断我刚刚了解到原来就是当我调用某个中断,如int 10h。cpu自己就会去操作各种寄存器中的值,根据那些值来作一些操作。所以我们在调用之前就要把相应的设置提前放到相应的寄存器里边。

ah 用来选择是什么模式,00h是vedio模式,01h是字符模式,16h是写字符串模式

我用到了16号中断的写字符串模式,这一模式是把es:bp所指向的字符串输出,长度存在cx里,bh设置页,bl设置颜色,dh设置行,dl设置列。al设置写字符串模式的字模式(不了解,以后再补吧)。

又用到了滚屏的函数(模式改为函数了),首先ah=6,al=0,bh用来设置背景色和前景色,如:43h是背景红,前景青绿色

cx来设置矩形区域(颜色这不是太清楚,清屏了怎么还有字呢,前景色设置谁的呢?bl也是设置颜色的,设置谁的呢),ch是右上角,cl是左下角,如:ch=23h则是第2行第3列。我用它来清屏好像就是个清屏的,但是我看wiki上英文是scroll up window,不太好理解

不是很入门,欢迎指正,指导

原文地址:https://www.cnblogs.com/Jinux/p/2436053.html