您的位置:1010cc时时彩经典版 > 操作系统 > 1010cc时时彩经典版:汇编将输入的十进制数字转

1010cc时时彩经典版:汇编将输入的十进制数字转

发布时间:2019-09-12 11:28编辑:操作系统浏览(111)

    ┗ 192

    程序框图:

    1010cc时时彩经典版 1

    程序框图

       mov ax,data

    存在0040:004A处。尽管用户可以直接改变这些数值,但这样做并不聪明,因为BIOS不

    code ends
    end start

    ┃ 179

    内容:

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

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

    l3:  mov bx,000ah

          mov al,es:65h     ; get last value sent to mode control

    mov bx,10lea dx,buf ;从键盘输入一个字符到缓冲区mov ah,0ahint 21hmov si,offset buf 2 mov di,offset buf1mov cl,buf 1 ;将实际输入字符个数送入cl中
    

    2、掌握用C语言实现系统功能调用的方法和步骤。

    代码实现

    ```

    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

    1010cc时时彩经典版,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

    ```

    l2:  pop dx

    1110           14           黄色

    不知道错误在哪里...
    还请大神指教

    2、在屏幕的制定区域内画框,在框内显示字符串。(提高题)

    目的:

    编写英文打字练习软件,综合复习字符输入和显示,置光标、开窗口、颜色设置等屏幕功能;掌握分支程序中字符比较及统计的程序设计,循环及排序程序设计方法;加入中断调用的计时功能。通过上述综合性训练,进一步加深对汇编语言的理解和提高程序设计技能。

    l1:  mul cx

          差异。使用这种方法的程序通常与被考察的PC兼容的所有系统不兼容。该方法

    ;========================转换为8进制==============================
    mov dl,'1' ;假设bx=1100 0000 0000 0000
    rol bx,1 ;逻辑循环左移则产生进位
    jc then1 ;产生进位后则跳转到then1,显示8进制第一位为1
    mov dl,'0' ;未产生进位,则第一位显示0
    then1:
    mov ah,2
    int 21h
    mov cx,5 ;/3=5,3个二进制数表示一个八进制数
    aga3:
    push cx
    mov cl,3
    rol bx,cl ;循环左移3位
    pop cx
    mov dx,bx
    and dl,07h ;07h=0000 0111b,将dl的高4位清零,低4位的第一位清零
    add dl,30h
    mov ah,2
    int 21h
    loop aga3

    void cls(void)

       call output

    void gotoxy(r,c)

    mul bx

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

       int 21h

        表5.1显示出EGA、MCGA和,VGA都有两个不同的图形显示缓冲区起始地址。这

    汇编将输入的十进制数字转换成二进制,八进制,十六进制,代码写出来了,但是却无法正常运行 1C
    data segment
    mesg db 'please input :',0ah,0dh,'$'
    buf db 5
    db ?
    db 5 dup
    buf1 db 5 dup
    data ends
    code segment
    assume cs:code,ds:data
    start:
    mov ax,data
    mov ds,ax
    lea dx,mesg ;在屏幕上显示mesg标号后的内容
    mov ah,9
    int 21h

    ┏ 218

     s2 db 'its factorial=$'

    重要的设备,因为它们在程序和程序员之间担当着相互作用点的角色。

    aga:
    mov al,[si] ;将输入的第一个字符对应的ASCII码送入al中
    sub al,30h ;获得输入的第一个数的原值
    mov ah,0
    xchg ax,[di]

    定位子程序:

    data ends

          {

    mov ah,4chint 21h
    

      r.h.dl=79;

       lea dx,s2

    幕。因为40列格式通常只有当视频显示器是合成电视设备(在这种设备中每行40个字符

    xchg [di],ax
    add [di],ax
    inc si
    loop aga
    mov bx,[di]
    mov dl,0ah
    mov ax,2
    int 21h
    mov dl,0dh
    int 21h
    mov cx,16
    last:
    mov dl,'0'
    rol bx,1
    jnc next ;与cf标志有关,若不进位,即cf=0,则跳转
    mov dl,'1'
    next:
    mov ah,2 ;显示dl中的字符
    int 21h
    loop last
    mov ah,2
    mov dl,0ah
    int 21h
    mov dl,0dh
    int 21h ;换行
    mov cx,4
    aga2:
    push cx
    mov cl,4
    rol bx,cl ;将bh的高4位循环左移入al的低4位中
    pop cx
    mov dx,bx
    and dl,0fh ;将dl的高4位清零,保留dl的低4位,即bh中的高4位
    cmp dl,10
    jc then ;进位则跳转,即dl小于10
    add dl,7
    then:
    add dl,30h
    mov ah,2
    int 21h
    loop aga2
    mov dl,0ah
    int 21h
    mov dl,0dh
    int 21h ;换行

    ━ 196

         ret

    坏了兼容性,但却使速度(并使生产率)达到了最大值。

      locate(x ,y);

         ret

    CTI82C453 equ 003h SHL 10

    清屏子程序:

       output endp

    out dx,al

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

         loop l1

    mov si , OffSet PARADISE_BIOS_Sig

    }

       mov dl,0ah

    jne no_vga_present

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

         div bx

    个完整的扫描)。在每行的结尾,电子束必须从屏幕的右端移到左端,这段时间称作水平回

      r.h.bh=0;

       int 21h

          PC机显示系统已从简单的开始形式演化成如下所示的现今使用的不同的标准:

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

       mov ah,09h

    union REGS regs;

    r.h.dl=y;

     

                /*FunctiOn:wch()*/

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

    二、编程体会

    or al,010h

    r.x.cx=1;

       mov bx,ax

    101页

      r.h.ah=9;

       int 21h

    B800h                     32K                     8

    ┓ 191

       mov dx,0

    cmp ax ,MDA ; MDA?

    3、掌握利用10H号功能调用(BIOS的显示I/O功能调用)来实现对屏幕的操作与控制。

         push dx

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

      r.h.cl=0;

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

    mov ax , Primarysystem

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

         int 21h

              putwin()      把数据放进某个窗口

    1、熟悉操作系统的系统功能调用。

    code segment

    and word ptr [bX] ,NOT ADAPTER_SYSTEM_MASK

    void locate(int x, int y)

         mov ah,02h

    cld

    r.h.bl=attr

         jmp l3

                    2 seconds for 10 steps,*/

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

         inc cl

    琐事。当构造程序时,这些腋务通常是最好用的,这有两个原因:

    ┛ 217

       fac proc near

    regs.h.al = 0;

    { union REGS r;

         mov cx,0000h

    功能去操纵视频,但有时候是必须将规则手册和程序置之于脑后。例如,使用BIOS视频

    }

         mov dx,0000h

    jmp short detect_SVGA

      r.h.bh=7; /*7表示黑色*/

       mov ah,02h

    计算机碰巧要安装视频内存地址到一个非双重端口适配卡中,且此时CRTC正在此位点

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

       mov dl,0dh

          ·探测光笔信号

    { union REGS r;

       call fac

    jne not_ati_bios

     }

    (1)程序清单:

    }

    在指定位置写参数:

    要求:

          out dx,al           ; send to CGA mode control port

      r.h.al=0;   

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

    那些可能用于显示帮助信息的窗口。因为它没有使用比BIOS功能更低的东西,所以它与

    一、实验目的

       mov dh,al

    found 8800BR:

    r.h.bh=0;

       sub al,30h

    test_trident:

    { union REGS r;

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

    jmp short swap_systems

    3、在屏幕上指定区域内画框并以动画形式显示字符串。(选做题)

    (5)输出格式要美观,要有适当的提示。

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

    屏幕画框可以用制表符来画。其主要方法是不断调用writech函数,在指定区域周围显示制表符,从而勾勒出一个窗口的轮廓。

     main endp

    mov ax,SecondarySystem ; How about the Secondary?

      r.h.ah=2; /*子功能号*/

       mov ah,0

        合成单色监视器是经济的单色(通常是琥珀色或绿色)监视器,能被CGA输出所驱

      r.h.al=ch;

       mov ds,ax

                位

    制表符   ASCII码

    (1)输入数据在主程序中实现;

    mov al,066h ; Write new value

    二、实验内容

       output proc near

    能在不直接存取屏幕显示的局部下运行。当开始与多任务环境如Windows或DESQview

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

       lea dx,s1

        大多数计算机书籍都将辅助设备(RS-232端口)看作字符输出设备,并在与本章类似

       int 21h

    int 10h

       int 21h

            union REGS regs;

     1010cc时时彩经典版 2

          IBM也提到了图形式方式显示模式,称它是APA,或称为所有点可以定位的方式,在

    其实感觉堆栈段不用编写,因为之前不写也行,开始已经写好了,后来知道要有提示语句,又加输出字符串时就出错了,在压栈的时候出现了死循环,是用dx输出字符串的时候出了问题,最后是重新把dx赋0才解决,这次更加理解了堆栈的使用,以后会用的更加的顺手和频繁。

    regs.h.bh=7;

         loop l2

        这种双重方法不能与实时交互作用程序一起很好地工作。一些程序如1-2-3和Mi-

         cmp ax,0

    Cmp ax , UNKNOWN_ADAPTER

    data segment

    07h         文本        单色        80*25              X             X                     X

       mov ax,bx

    push dx

    (2)计算阶乘的功能用子程序实现,子程序的名字为:fac;

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

         jbe l2

        尽管此书并非是有关图形方面的完整手册,但它还是提供了图形工作的基本原则。在

         mov cl,al

    jae vid_exit

       mov al,dh

        PC机显示系统原来是以Motorola 6845 阴极射线管控制器(CRTC)芯片为基础的。

       int 21h

        /* Prototypes */

     main proc far

    jne not_paradise

         add dx,0030h

    crosoft Word会受此方法的制约。采用此方式来写这些类型的程序是不可接受的,除非在

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

    or word ptr [bx] ,SVGA OR ATI

    (3)以十进制形式输出结果的功能用子程序实现,子程序的名字为:output;

    EGA               单色

       mov ah,01h

    and ax , ADAPTER_SYSTEM_MASK

       mov ah,4ch

    jmp test_vesa

     

        ;Procedure for identifying the video system(s)

       mov ah,02h

    mov CX , 9

       fac endp

    jmp test_vesa

     dw 30 dup(?)

        打算建立复杂显示的程序员不一定要从硬件级开始编程(实际上该级别是“最后避难

    stack ends

    ; Try Trident/Everex

    end start

    xor bx,bx

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

                    regs.h.bh=0;

    stack segment stack

    mov al,00Fh , Get index of enable register

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

    有的系统操作兼容。

    一、编写程序

    们的低分辨率在文本显示模式里不会产生令人满意的结果,除非使用40列的显示行。

         dec cl

              #define         VIDEO  0X10

    code ends

    cmp ax , MCGA

       mov ah,09h

    shr al , 1

    start:

    . code

    out dx,al

                    gotoxy(i,j);

    和cls()函数)。注意cls()只是clearwin(),它在屏幕的左上角和右下角设置数值,以对应

    5.3.1利用DOS和BIOS视频功能编程

    cmp ch ,0ECh ; 510/520?

    97页

    B800h                    16K                     1

    AHEAD_VERSION_A equ 001h SHL 10

    cmp bl,010h ; Call failed?

    }

    for(i=lr;i<=rr;i ) {

    Seek_CGA:

                    int86(VIDEO,&regs,&regs);

              border()      围绕窗口设置一个边界

        窗口(见列表5.2)。可以向屏幕书写更多的数据,然后将原来的窗口数据返回并卷起来。

          pop es              ; restore saved segment register

        EGA                   equ 003h

    ; Attempt to detect SVGA  Systems

    detect_SVGA: call SVGA_detect

    jmp $ 2

    Hercules_detect proc

    cmp ax , UNKNOWN_ADAPTER

    数移向DOS服务,会获得对输出操作的更大控制,并保持对系统设计的一定的非敏感性。

    的数据转化而来的。 EGA和VGA卡也使程序员能够指定另外的用户—限定字符设置

    mov cx , 4

        中则会改变。HGA能进一步划分为HAG+、Hercules InColor(内部颜色)卡,或规则的

                int i;

    mov ax , 0C000h

    regS.h.dh=25;

              int i;

    and al,0F0h ; Check version

    序,最初编码就是在BASIC中进行的,它是为AppleII而开发的)。程序运行正常后,可以

    cmp ah , bl

    里的信息为基础来更新视频显示。实际的屏幕显示由电子束来产生,该电子束能在对屏幕

    jne svga_exit

                      regs.h.dh=rr;

    cmp al,01Ah ; Successful call?

    jne not_cti82C452

     or word ptr [bx] ,CTI82C453 OR SVGA OR CTI_BASED

    and word ptr [bx] , NOT ADAPTER_SYSTEM_MASK

    CIRRUS_BIOS_Sig db "CL"

    除总内存数的结果。再结合每行80个文本字符,那么就是2*80*25,等于4000字节,或

    ; Test for VESA BIOS

    }

        #include<dos.h>

    push ax ; Save registers

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

    ····1···           高强度

    ahead_a:

    指示HRI是否存在;3位则反应有关VRI的同样的信息。当回扫间隔开始时,相应的位就

    no_MDA:

    and word ptr [bx] , NOT ADAPTER_SYSTEM_MASK

          int 29h

        页码(如果用户编写了自己的窗口函数来直接存取显示器内存,那么就不会受此限制)。而

    mov di,0007Dh

    0010         2            绿色

    B000h               变化                变化

                    regs.h.dh=r;

                    regs.h.bh=7;

    or al , 055h

    int 10h

    运行正常或看起来简捷的主要原因。如果用户所希望产生的显示能力不能与编程技术相

            列表5.2

        当用户盼望得到给CRT的最快的、可能的输出并且想避免使用BIOS以保持与普通

        VGA_MONO               equ 004h SHL 3

    dec dx

                for(j=lc;j<=rc;j++){

    用芯片,它能执行6845所提供的所有基本功能,并能显著地增强6845的功能。视频控制

     in al , dx

                      int n;

                    *ch=regs.h.al;

    的MS-DOS系统尽可能多的兼容性时,DOS的一个未公开的功能Int 29h已被证明是很

    0Fh         图形        单色      640* 350                         X                     X

    列表5.7

        本章讨论视频显示器和打印机这两种基本的输出设备。它们可能是计算机编程中最

    clarify_MDA :

    mov ax,primarySystem

    xor cx,cx ; Loop a while

    mov dx,046E8h ; Turn setup back off

    ; It's an AHEAd BIOS-now identify which chip version

                                         显示卡

    {

    je vid_exit

    jne  CGA_exit

                            含义

          Listing 5.3 of DOS Programmer'S Reference*/

                      regs.h.bh=7;

    pop bx

    cmp al , 000h

    and al,080h ; Save VSYNC bit

    pop bx

    jmp short swap_systems

                    regs.h.dl=C;

    swap_systems :

        读者也许会问为什么超级VGA(SVGA)没有作为PC机上的图形标准而被提到。这

              putwin(5,5,12,40);

            使用的图形和其他屏幕效果。

    test_Hercules:

                Setpage(1,TRUE);

    regs.h.ah = 0x06,

    本和图形模式下,都能产生清晰而又丰富的彩色输出。

    and word ptr [bX] , NOT ADAPTER_SYSTEM_MASK

              void gotoxy(int i,int j);

    mov al,bh ; Put secondary type in AL

              #include<Stdio.h>

    生。也许要到将来(即使有也很少)才会形成一个明确的标准。

    db CGA OR CGA_MONITOR

                      5.1基本的字符设备

    or PrimacySystem,ax ; Set values

    {

    ; Return to caller

    push dx ; Save registers

    上进行活动。window.c函数则在某个窗口内工作。另外的函数可以添加进来操纵一个窗

              #include<dos.h>

    and word ptr [bx] , NOT ADAPTER_SYSTEM_MASK

        目前,我们已经了解了屏幕显示的工作方式,那么就可以试一试简单的功能,来看看

        如果需要进行超出标准库函数的编程,那么必须审慎地权衡可能的得失。从标准库函

    表5.2列举的模式0Eh的分辨率为640*200,即宽640个象素,深200个扫描行(象素)。

    /*Function:cls()*/

          IBM借助标准BIOS和DOS服务,承认并支持以上标准(除HGA外)。 MDA、CGA

    mov Si , offset VESA_BIOS_Sig

    mov es ,ax

    inc dX , Get I/O address Of data

    类型的监视器,并提供了增强的显示功能。

          高的版本下,ANSI.SYS 驱动程序让使用该存取方式的程序能通过控制编码系列

    彩变味”(Chromablizzard)。要在这类系统中防止这个问题出现,应该只在HRI或VRI期

        在。例如,翻卷函数的变量中没有页赋值变量。于是就不能使用这些函数来给显示内容编

              Cls();

    间存取屏幕内存。

                      int86(vIDEO,&Pegs,&regS);

    db EGA OR EGA_MONITOR

            }

                      pop bX

    mov ax , 06F00h

    and al , 7

        下列显示器类型也能识别:

        /*   Basic screen-size definitions*/

    border(lr,lc,rr,rc);

    任何东西。

        与MDA兼容的(单色)

    mov ah , al

    out dx,al

    int r,C;

    HGA,要做到这一点可以观察状态端口的某些位。

    jne not_cti_bios

    push bx

    0Ah         图形        4           640* 200                                                         X

    常这是确定一个适配卡是VGA或是SVGA的标准),但达到此目的却是以各自不同的、

    殊的双重端口内存,计算机能在该内存中书写数值,同时CRTC可以阅读它们。因为这类

    0Eh         图形        16          640*200                         X                     X

    regs.h.bh = 7;

    or word ptr [bx] ,SVGA OR CIRRUS

    regS.h.ah=0x06;

     

    ; Start of simplified directives

    GENOA_BIOS_Sig db 77h , 11h , 99h , 66h

                    regs.h.dh=25;

    打开了,问隔时间要完成时,位也随之关闭。因为编程时,HRI出现得更多并且更容易探

                    regs.h.bh=0;

    Out dx,al ; Write it out

    0000         0            黑色

        MDA_MONITOR            equ 001h SHL 3

    if(i==rr) {

    jmp short not_circus_chip

    in al , dx

              void putwin( int lr, int lc, int rr,int rc);

    mov di,offset scratch_pad

        mov ax,1303h

    ; The enhanced video BIOS call failed

    mov es , ax

    87页

    ; Check for Genoa

    db VGA OR vga_MONO

    #define HORIZLINE 205

    out dx , al ; register

     

    该页号的途径。例如,可以改变screen.c,使之包含一条setpage命令(见列表5.7)。

    所需寄存器是比较容易的。

    mov ah , 012h

    jne not_ati_bios

     

    Out dx,al

                {

    and word ptr [bx] , NOT ADAPTER_SYSTEM_MASK

                }

    #include<stdio.h>

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

    void border(lr,lc,rr,rc)

    not_trident:

    {

     mov ax,01A00h ; Read display code's function

          注意表5.4中背景颜色只允许三位,前景颜色则为四位。原因是标准的视频显示线路

        };

          EGA和VGA卡的缓冲区大小会变化,是因为它们能在64K到1M的内存中占据任

    or word ptr [bx] ,ATI18800REV1

    regs.h.ah=0x05;

              /*prototypes*/

    #define  LOWERRIGHT 188

    pop es

    本文由1010cc时时彩经典版发布于操作系统,转载请注明出处:1010cc时时彩经典版:汇编将输入的十进制数字转

    关键词: