金沙澳门官网7817网址DOS技师手册(三)

1、熟悉操作系统的系统功能调用,3、掌握利用10H号功能调用(BIOS的显示I/O功能调用)来实现对屏幕的操作与控制,1.屏幕出现打字练习菜单(格式自定,显示菜单,(2)计算阶乘的功能用子程序实现,(3)以十进制形式输出结果的功能用子程序实现,大多数计算机书籍都将辅助设备(RS-232端口)看作字符输出设备,它们可能是计算机编程中最

金沙澳门官网7817网址 2

2、驾驭用C语言完毕系统效用调用的议程和步骤。

程序框图:

金沙澳门官网7817网址 1

程序框图

 dw 30 dup(?)

HGA               图形

r.h.dl=y;

内容:

1.荧屏出现打字演习菜单(格式自定,字体、字号、颜色)

2.菜单项目为4项:照打,覆盖打,排行,退出

 main endp

                upwin(1,6,6,11, 39);

int86(0x10,&r,&r);

代码完成

“`

data segment

menu  db 0ah,0dh,’ Input number to chose your function’

db 0ah,0dh,’       1.Follow Typing’

db 0ah,0dh,’       2.Cover Typing’

; db 0ah,0dh,’       3.Ranking’

db 0ah,0dh,’       3.Exit’

db 0ah,0dh,’Please input your select:$’

mess1 db 0ah,0dh,’ This is the Follow Typing page.’

db 0ah,0dh,’     Please input accordance with those word!$’

mess2 db 0ah,0dh,’ This is the Cover Typing page.’

db 0ah,0dh,’     Please input accordance with those word!’

db 0ah,0dh,’ (Yellow is right, Red is wrong!)$’

mess3 db 0ah,0dh,’This is third select$’

mess4 db 0ah,0dh,’ Thank you for your use!$’

mess5 db 0ah,0dh,’Your right number is:$’

endline db 0ah,0dh,’$’

mess  db 255,?,255 dup(?)

text  db ‘New strides have been taken in strengthening national defense
and army building.$’

right db ‘0$’

sum  db ‘/80$’

num  db 0

data ends

code segment

assume cs:code,ds:data

start:

mov ax,data

mov ds,ax

let0:

mov ax,0

mov dx,offset menu ;显示菜单

mov ah,9

int 21h

mov ah,1 ;输入接纳

int 21h

cmp al,’1′ ;输入为1,跳转到照打分界面

jz prog1

cmp al,’2′ ;输入为2,跳转到覆盖打分界面

jz prog2

cmp al,’3′ ;输入为3,跳转到排名分界面

jz prog3

jmp prog4 ;输入不为1或2或3,退出程序

prog1:

jmp real_prog1

prog2:

jmp real_prog2

prog3:

jmp real_prog3

prog4:

jmp real_prog4

real_prog1: ;照打分界面

mov ax,0003h ;清屏

int 10h

mov dx,offset mess1 ;展现提醒新闻

mov ah,9

int 21h

mov dx,offset endline ;换行

int 21h

mov dx,offset endline ;换行

int 21h

mov dx,offset text ;展现小说

mov ah,9

int 21h

mov dx,offset endline ;换行

int 21h

mov dx,offset mess ;输入串

mov ah,10

int 21h

;输入达成,先河展开巡回比较

mov ax,0

mov di,0 ;存款和储蓄正确个数

mov cl,mess+1 ;输入的假名个数,即循环的次数

mov bx,2 ;第三个字符的单元地方

let1:

mov dl,text[bx-2]

cmp mess[bx],dl ;剖断是不是输入准确

jz let2 ;输入正确 跳到let2

jmp out1 ;跳到国有出口 out1

let2: ;正确数+1

add ax,1

add di,1

out1:

dec cl ;循环次数-1

inc bx

cmp cl,0

jnz let1

jz out2

out2: ;检查截至,输出结果

mov dx,offset mess5

mov ah,9

int 21h

;输出正确个数

mov ax,di

mov bl,10

div bl

add ah,’0′

mov right,ah

add al,’0′

mov dl,al

mov ah,2

int 21h

mov dl,right

mov ah,2

int 21h

mov right,0 ;重置right为0

mov di,0

mov dx,offset sum

mov ah,9

int 21h

jmp let0 ;再次来到选取菜单

real_prog2: ;覆盖打分界面

mov dx,offset mess2

mov ah,9

int 21h

mov ax,0003h ;清屏

int 10h

;置显示光标

mov ah,2

mov dh,4

mov dl,0

mov bh,0

int 10h

;显示串

mov dx,offset mess2

mov ah,9

int 21h

mov dx,offset endline ;换行

int 21h

mov dx,offset endline ;换行

int 21h

mov dx,offset text

mov ah,9

int 21h

;置输入光标

mov ah,2

mov dh,9

mov dl,0

int 10h

mov si,80 ;循环次数

mov bx,0 ;第二个字符的单元地点

mov di,0 ;准确个数

mov num,0 ;突显列的职位

prog2_let1:

;输入字符

mov ah,1

int 21h

mov dl,text[bx]

cmp al,0DH ;推断是不是输入回车

jz prog2_out2

cmp al,dl ;决断是还是不是输入正确

jz prog2_let2 ;输入正确 跳到let2

cmp al,dl

jnz prog2_let3 ;输入错误,跳到let3

jmp prog2_out1 ;跳到国有出口out1

prog2_let2:

add di,1 ;正确数+1

;输入正确,改造为香艳

mov ah,06h

mov al,0

mov bh,0eh

mov ch,8

mov cl,num

mov dh,9

mov dl,num

int 10h

;置展现光标

mov ah,2

mov dh,9

mov dl,num

mov bh,0

int 10h

mov dl,text[bx]

mov ah,2

int 21h

jmp prog2_out1 ;跳到国有出口out1

prog2_let3:

;输入错误,响铃

mov ah,2

mov dl,7

int 21h

;输入错误,退换为暗蓝

mov ah,06h

mov al,0

mov bh,04h

mov ch,8

mov cl,num

mov dh,9

mov dl,num

int 10h

;置展现光标

mov ah,2

mov dh,9

mov dl,num

mov bh,0

int 10h

mov dl,text[bx]

mov ah,2

int 21h

jmp prog2_out1 ;跳到集体出口out1

prog2_out1:

dec si ;循环次数-1

inc bx

inc num

cmp si,0

jnz jump_prog2_let1 ;si≠0,继续循环

jz prog2_out2

jump_prog2_let1:

jmp prog2_let1

prog2_out2: ;循环甘休,输出结果

mov dx,offset mess5

mov ah,9

int 21h

;输出精确个数

mov ax,di

mov bl,10

div bl

add ah,’0′

mov right,ah

;add al,74

add al,’0′

mov dl,al

mov ah,2

int 21h

mov dl,right

mov ah,2

int 21h

mov right,0 ;重新设置正确个数为0

mov di,0

mov dx,offset sum

mov ah,9

int 21h

jmp let0

real_prog3: ;排名分界面

mov dx,offset mess3

mov ah,9

int 21h

jmp let0 ;重回选用菜单

real_prog4: ;退出

mov dx,offset mess4

mov ah,9

int 21h

mov ah,4ch

int 21h

code ends

end start

“`

   lea dx,s1

序,最早编码正是在BASIC中进行的,它是为AppleII而支出的)。程序运维平常后,可以

在钦赐地点写参数:

目的:

编写制贺州班牙语打字演习软件,综合复习字符输入和展示,置光标、开窗口、颜色设置等显示屏效用;明白分支程序中字符相比较及总结的主次设计,循环及排序程序设计方法;参加中断调用的计时功效。通过上述综合性操练,进一步加重对汇编语言的领会和增进度序设计手艺。

     inc cl

   
已经有了比相当多类型的呈现监视器,並且直接都有越来越多的品种在持续地投入使用。本章

3、在显示屏上点名区域内画框并以动画格局突显字符串。(选做题)

stack segment stack

   
奥迪Q3GB监视器运用独立的电子束(三枪)来分别显示各种原色(红,绿和蓝),进而在文

3、精晓运用10H号功用调用(BIOS的显示I/O成效调用)来落实对显示屏的操作与调节。

   sub al,30h

cmp bx,’7′

{ union REGS r;

   mov ax,bx

扫间隔(H兰德酷路泽I)。类似地,电子束实现二个周期后,它要从右下部移到左上部开首一个新的

  r.h.dl=79;

   int 21h

            for(i=0;i<50;i++)

r.x.cx=1;

     add dx,0030h

and word ptr [bx] , NOT ADAPTER_SYSTEM_MASK

定位子程序:

     mov cx,0000h

shr al , 1

int86(0x10,&r,&r);

   int 21h

; Change the model size to match the program in which

制表符   ASCII码

 s2 db ‘its factorial=$’

regS.h.dh=25;

  r.h.ah=6; /*子效能号*/

(3)以十进制情势出口结果的功能用子程序达成,子程序的名称为:output;

      HGA+(Hercules图形卡加强型)           VGA

{ union REGS r;

     loop l2

编纂时尽量使用最快的大概门路。在无数实例中,因为是一贯对硬件编制程序的,所以即使破

r.h.bh=0;

   mov ah,01h

                  int86(vIDEO,&Pegs,&regS);

  r.h.dh=24; /*右下角坐标*/

   call fac

          /* screen.c

1、在荧屏的内定区域内显示字符串。(必做题)

(4)各子程序通过寄放器传递参数;

; Attempt to detect SVGA  Systems

  r.h.ah=9;

   mov ax,data

          #include<dos.h>

2、在显示屏的制订区域内画框,在框内展现字符串。(升高题)

   mov dx,0

中,要将它们拷贝给RAM并确定保证它们一直未曾改观,那不是一个习认为常的义务;而只改变

}

     mov dx,0000h

regS.h.bh=cpage;

━ 196

 金沙澳门官网7817网址 2

      ·Hercules图形适配卡(HGA)

  r.h.al=ch;

(1)输入数据在主程序中达成;

   
编写涉及录制显示屏和打字与印刷机设备的次序能够是简约的历程,也大概是一定复杂的。

┃ 179

   mov al,dh

A000h                     变化                    变化

一、实验目标

     mov ah,02h

CGA_Primary:

void writech(int x , int y, char ch ,int attr)

     ret

    UNKNOWN_BIOS             equ 000h SHL 6

void cls(void)

   mov ds,ax

 本节列举了识别下述呈现适配卡类型的一多元进度:

  locate(x ,y);

     dec cl

    PS/2兼容、单色的

  r.h.al=0;   

data ends

中拿走8个展现页。

  r.h.ah=2; /*子效用号*/

start:

                char*ch,*attr;

  r.h.dh=x; /*定位点坐标*/

(2)运维结果(截图):

in al,dx ; Read register

清屏子程序:

     jbe l2

包罗进函数变量之中,那么就足以将函数如gotoxy()用于尚未显示的页。然后能够协会一

  r.h.bh=7; /*7意味着桃红*/

     div bx

mov dx,es :00463h

┗ 192

     ret

pop ax ; Restore CRTC

1、熟谙操作系统的系统机能调用。

   mov ah,09h

B800h                    16K                     4/8

┏ 218

   lea dx,s2

    EGA兼容的

┓ 191

   int 21h

服务。

r.h.bl=attr

l3:  mov bx,000ah

1010           10           淡绿色

┛ 217

   mov ah,02h

   
多路同步监视器是当下所提供的能展现最高质量的公文和图表显示屏,并具备灵活

 }

(5)输出格式要好看,要有适度的唤醒。

and dx,0FFF0h ; Get board number

r.h.ch=0; /*左上角坐标*/

   output endp

          mov es,ax

二、实验内容

1.从键盘输入二个不超越8的个位数,总计该数的阶乘,并以十进制制式输出。

 

  int86(0x10,&r,&r); /*系统功效调用*/

l1:  mul cx

mov ah,al   ; Save what we read

void locate(int x, int y)

code segment

Call MDA_detect ; and MDA

  r.h.bh=0;

     loop l1

inc dx ; Select register

  r.h.cl=0;

   mov ah,02h

····0···         符合规律强度

{ union REGS r;

stack ends

缓冲区的开局部址以及长度会随着所选择的摄像显示屏的类型、当前突显格局以及分配

显示器画框能够用制表符来画。其重要性措施是绵绵调用writech函数,在钦命区域相近突显制表符,进而勾勒出贰个窗口的概略。

   mov ah,4ch

数移向DOS服务,会拿走对出口操作的更加大调控,并维持对系统设计的必然的非敏感性。

}

(2)总括阶乘的职能用子程序完成,子程序的名称叫:fac;

out dx,al

 

mov PrimarySystem,0

   mov dh,al

                int86(VIDEO,&regs,&regs);

 s1 db ‘please input an integer between 0 to 8:$’

   
记住:DOS和BIOS只是为发出荧屏提供了构件块。技术员的想象力和技艺是使程序

要求:

cmp ax , VGA

   fac endp

    整个显示屏。

(1)程序清单:

05h         图形        4           320*200                   X    
X         X           X         X

   mov dl,0dh

   
那么技术员在怎么着时候要器重关切非敏感性和包容性呢?显著,若是与DOS和UNIX

   fac proc near

jmp Short not_Cirrus_Chip

   call output

          Cls();

     push dx

且,功能0Eh不能够适用于全部BIOS ROM的兼具页。全体测量检验的非IBM的ROM中,该功

   int 21h

Struct Charpos Screen[LINES][COLS];

   int 21h

   
窗口(见列表5.2)。能够向显示器书写越来越多的数码,然后将原本的窗口数量重返并卷起来。

 main proc far

in al , dx

end start

展示函数去改变那个地方(见列表5.5)。

code ends

 

     cmp ax,0

db MCGA OR VGA_MONO

   mov ah,09h

    己的艺术来支付高等VGA(Super
VGA)。各种适配卡都援助三个800*600录像形式(通

     jmp l3

    /* Prototypes */

 assume cs:code,ds:data,ss:stack

void setpage(n,clrflg)

   mov bx,ax

用微电路,它能施行6845所提供的具有基本功用,并能鲜明地拉长6845的功力。录像调节

一、编写程序

or al,010h

 

                union REGS regs;

   output proc near

平素不改造;顾客只是看到有几分钟全部的东西都维持静态,然后就回来下一个活动。但是

l2:  pop dx

读回来,就足以要是CRTC状态端口已经找到况兼CGA或MDA已经固化。

事实上呼吸系统感染觉货仓段不用编写,因为事先不写也行,起首已经写好了,后来通晓要有提醒语句,又加输出字符串时就出错了,在压栈的时候出现了死循环,是用dx输出字符串的时候出了难题,最终是再次把dx赋0才缓慢解决,这一次更是清楚了储藏室的运用,以往会用的进一步的随手和反复。

gotoxy(i,lc); wch(VERTLINE, 7);

   mov ah,0

                        end

   int 21h

; Check for Genoa

     mov cl,al

实用颜色和内部存款和储蓄器需求量之间的关系。

二、编程体会

或大概2K空中。利用那么些总计,能够很轻便地看清为啥CGA能从16K的缓冲区空间

data segment

union REGS regs;

   mov dl,0ah

inc dx

班级:  计算机14-1  姓名:  许恺    学号:  2014011329日期: 2016.4.29          

5.2.2录像显示格式

     int 21h

je vid_exit

    要是探测到了是MDA适配卡,那么可进一步识别它是否四个平日的MDA或

      int 29h

     
注意表5.4中背景颜色只允许四人,前景颜色则为四人。原因是专门的学问的录制展现线路

            setpage(0,FALSE);

/* Function: border() */

mov dx,003CEh ; Get i/o address

二进制      十进制        颜色

db CGA OR CGA_MONITOR

SVGA_detect endp

            Listing 5.6 of DOS programmer’S Reference*/

              }

              union REGS regs;

                  图形

                regs.h.ah=0x02;

    ;Procedure for identifying the video system(s)

detect_SVGA: call SVGA_detect

                  timeval=time(NULL);

CTI82C453 equ 003h SHL 10

   
大多数Computer书籍都将补助装置(TucsonS-232端口)看作字符输出设备,并在与本章类似

们的低分辨率在文书突显情势里不会发出让人满足的结果,除非动用40列的展现行。

xor bx,bx

not_HGCPlus:

jmp  test_vesa

; Main procedure for identifying the video systems

          char*str;

and al , 00Fh

MCGA              文本

卡时,他们制作而成的适配卡确实不可能与原来的IBM适配卡区分开来。可是开荒商以她们自

jne not_cti_bios

   
展现适配卡对摄像数据的解说决定于突显格局,该办法控制了数额在荧屏上冒出的

pop ax ; Restore registers

                int r,c;

        for(i=lr;I<=rr;i++)

dec dx

mov dx,003D4h ; If CGA, CRTC iS 3D4h

found 8800BR:

je found_8800BR

or word ptr [bx] ,CIRRUS_610_620

. code

mov bl,al ; Save it in BL

           void pgprint(str)

16种颜色,那么它的等式就是:

; Attempt to detect CGA card

1111           15           高强度青色

的。

or word ptr [bx] ,HEADLAND OR SVGA

        }

cmp bl,010h ; Call failed?

里的音信为底蕴来更新摄像显示。实际的显示屏显示由电子束来发出,该电子束能在对显示屏

and al , 0C0h

          #define TRUE       !FalSE

            }

je MDA_Primary

户正等待的间隔时间。

int lr, lC, rr, rc;

jne test_vesa_isle

; It’s a Cirrus BIOS- -now identify the chip

    TSENG BASED              equ 009h SHL 6

    ·XXX····       背景(见表5.5)

92页

    MDA                   equ 002h

mov al,cl ; Get switch settings

    MDA的CTRC状态端口平时是在I/O地址3B4h处,而CGA则在3D4h处。该程序

pop si

repe cmpsb

AHEAD_BIOS_Sig db “AHEAD”

   
就算已落得共同的认知以为:运维卓绝的DOS应用程序应该选拔BIOS,只怕最棒使用DOS

89页

   
在。比方,翻卷函数的变量中没有页赋值变量。于是就不能够应用那一个函数来给展现内容编

mov bx,offset SecondarySystem

   
假如唯有单色监视器系统,那么怎么着也看不到。当执行setpage()函数时,事实上显示屏

        char ch;

丰富多彩文本情势位的含义。

 and ax ,ADAPTER_SYSTEM_MASK ; What did we find?

jmp test_vesa

void border(lr,lc,rr,rc)

push dx

     
差别。使用这种格局的主次平常与被观望的PC包容的具有系统不相配。该办法

            位

in  al , dx

别的DOS服务能用于荧屏调控;只有多少个DOS服务能用来消息的荧屏显示。

    #define       LINES     24

not_genoa_bios:

                then clear that area and put a border around it.*/

not_ati_bios:

Computer刚刚要安装摄像内部存款和储蓄器地址到叁个非双重端口适配卡中,且此时CRTC正在此位点

push cx

regs.h.ah=0x02;

int 10h

列表5.7

   
当客户期望获得给CRT的最快的、或者的出口並且想制止采纳BIOS以保全与常见

or word ptr [bx] ,CIRRUS_VSEVEN

能只在时下展示的页上中国人民解放军海军事工业程大学业作,而不在非突显页上中国人民解放军海军事工业程大学业作。

int n;

or word ptr [bx] ,SVGA OR AHEAD

cmp al , 000h

mov cx , 2

91页

CIRRUS_610_620 equ 002h SHL 10

     
screen.c函数对于全体显示屏显示是全局的(见列表5.4)。它们在贰个显示器宽度的根基

jmp $+2

jne not_trident

db UNKNOWN ADAPTER OR UNKNOWN_MONITOR

0001         1              蓝色

jne not_cirrus_bios

示在显示屏上。字符放置在最后一行的终极一列时,大概光标在终极一行的自便地方,此时

 

    要利用Int 29h,可就要显示的字符放进AL。存放器,然后引进中断:

            {

Or word ptr [bx] ,CTI82C451 OR SVGA OR CTI_BASED

      76543210

          /* Function: cls()*/

B800h                    64K                     1

                pgprint(”DOS Programmer’S Reference”);

call GRTC_deteCt

or word ptr [si] ,HGC

的五个字节布署在显示屏展现的各种字符地方上:多少个字节具有该字符,另叁个则具有其属

  表5.2录制格局

}

or al , 055h

mov CX , 9

or word ptr [Si] ,HGCPLUS

out dx,al

out dx,al

    and al,0DFh         ;clear blink control bit

除总内部存款和储蓄器数的结果。再结合每行79个文件字符,那么正是2*80*25,等于4000字节,或

0·······         平常字符

no_secondary :

器,HGA或EGA卡可以照猫画虎单色适配卡。

int lr,lc,rr,rc;

        void main()

VGA               单色

mov al,bl ; Get old value

是何许颜色。用于每个象素的位数决定于显示适配卡类型以及正在使用的图纸格局。例

   
固然此书并非是有关图形方面包车型大巴欧洲经济共同体手册,但它依旧提供了图片专门的学问的主干条件。在

db MCGA OR EGA_MONITOR

and al , 070h

void upwin(n,lr,lc,rr,rc)

mov di,0037h ; Read pointer

cmp bl,07Fh

mov dx,SecondarySystem

与任何的劳务不一致,Int
29h行使已经存在的其余显示屏属性而且只辨认响铃(bell,

mov di,00031h ; ATI signature at C000:0031

    在I/O端口3DAh查询CRTC状态寄存器能够领会HOdysseyI或CSportageI状态是还是不是留存。0位

ret

              5.2探视展现系统的行事措施

vid_exit:

jmp test_vesa

                regs.h.ah=0x08;

          void gotoxy(int i,int j);

not_cti_bios:

#include<stdio.h>

; EffOrts to find EGA failed too

    MCGA                  equ 004h

          int i;

        attribute.*/

频方式都灵验就须要转移Int 1Dh向量所提醒的录像表。因为摄像表日常驻留在ROM

db VGA OR vga_MONO

    识别录制适配卡首先是尝尝VGA或EGA特有的录制BIOS调用。若是那么些调用成

个一体化的体现,并且当它形成当前显示时,客商观察的是瞬间的显得。

06h         图形        2           640*200                   X    
X         X           X         X

regs.h.dh=rr;

                rch(&screen[i][j].ch,&screen[i][j].att);

级的体现电路本领,以便提供更加高素质的图像。

105页

or al,al ; Locked?

UNKNOWN_CHIP equ 000h SHL 10

mov dx,00103h ; Read extended enable register

jne not_cirrus_510

   
不仅一个的显示屏幕。注意这里说的是显示器,并不是显得监视器。显示屏或页是出新在

用来字符呈现。

   
对于CGA,要铲除前景的闪亮本性并加上强度调节给前景,就必需读取BIOS积累在

                regs.h.dh=25;

push ax

mov cx, 4

dO_swap :

13h         图形        256          320*200                          
X                   X

     
表5.5点数了每个颜色大概的职分。然而,注意,因为一般来说的前景是由三10位决定的,

mov SecondarySystem,0

          }

                                
                                                       

SVGA_detect proc

1·······         闪烁字符

上举办移动。window.c函数则在有些窗口内行事。别的的函数能够加上进去垄断(monopoly)贰个窗

              Listing 5.5 of DOS Programmer’s Reference*/

    EGA                   equ 003h

call Hercules_detect ; Identify the specific MDA system

    #include<dos.h>

in al , dx

   
统,但毫无任何系统都与该措施包容。借助此类调用,客商能够采取DOS级不能够

能则必要新鲜的驱动程序。BIOS或DOS都没有内在的服务,能够去充足利用HGA。HGA

int86(VIDEO,&regs,&regs);

push dx

 

            void wch(Ch,attr)

   
在硬件级上平昔开展编制程序。这种方式最不相配,因为在系统中会存在周围的硬件

      HGA                                     MCGA

03h         文本        16          80*25                     X    
X         X           X

              regS.h.ah=0x0e;

push bx ; Preserve bx

    }

是差不离能够阅读的)时才是平价的,所以本书的基点放在80列格式上,它能与行业内部的

in al , dx

pop cx

pop es

     
列表5.1是用于识别摄像适配卡的前后相继(注意:这毫无是一个独一标准的主次)。

int r,C;

     
在多客商或职务系统中也是不包容的。它的优点以及被反复利用的案由都来源于

    直到内定数量的秒数过去。

5.3.1行使DOS和BIOS录像效果编程

103页

 and word ptp [ bx] ,NOT ADAPTER_SYSTEM_MASK

cmp al,020h ; Version A?

test_trident:

个飞跃的主次变健康更易于。

    MONITOR_MASK             equ 007h SHL 3

no_vga_present :

 

not cti82c451:

; Now check for Cirrus

    page 55,132

95页

regs.h.al = 0;

int i, j;

    列表5.3

                  pop dX

      MDA                                     EGA

            union REGs regs;

98页

mov Si , offset VESA_BIOS_Sig

mov bl,al ; Save it

/* Function: upwin() */

found_MDA:

db VGA OR VGA_COLOR

03B8h。

                                     显示卡

运作正常化或看起来简捷的重大缘由。要是顾客所希望发生的显示本领不能够与编制程序才具相

106页

jne test_vesa

    与MDA兼容的(单色)

#define UPPERRIGHT 187

10h         图形        16           640*350                        
X                     X

    ;Monitor types

      ·加强图形适配卡(EGA)

ret

push bx , Save pointer

   
唯有的章程来拓宽的。各个适配卡还帮忙部分故意的分辨率或提供部分非正规功效,而其他

}

    ;—–Equates—–

      分辨率一栏中的数目代表文本方式的行和列,代表图形情势的象素。

          for(i=0;i<10; i++) {

    }

int i,j;

mov al,bh ; Put secondary type in AL

驱动程序系统的内部存款和储蓄器部分。不过在使用它在此之前,应该推测一下所冒的高危机(那就象使用别

LiSting 5.7 of DOS Programmer’s Reference*/

{

1101           13           淡品色

100页

or word ptp [ bx ] , CIRRUS_510_520

 

        int lr,lc,rr,rc;

out dx,al

殊的重复端口内部存款和储蓄器,计算机能在该内部存款和储蓄器中书写数值,同期CRTC能够翻阅它们。因为这类

93页

inc dx

}

    ·使展现与计时叁只