zoukankan      html  css  js  c++  java
  • Example: Writing Text Colors

    To demonstrate the use of colors and attributes, the WriteColors.asm program creates an array of characters and an array of attributes, one for each character. It calls WriteConsoleOutputAttribute to copy the attributes to the screen buffer and WriteConsoleOutputCharacter to copy the characters

    to the same screen buffer cells:

    TITLE Writing Text Colors (WriteColors.asm)
    INCLUDE Irvine32.inc
    .data
    outHandle HANDLE ?
    cellsWritten DWORD ?
    xyPos COORD <10,2>
    ; Array of character codes:
    buffer BYTE 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
    BYTE 16,17,18,19,20
    BufSize DWORD ($-buffer)
    ; Array of attributes:
    attributes WORD 0Fh,0Eh,0Dh,0Ch,0Bh,0Ah,9,8,7,6
    WORD 5,4,3,2,1,0F0h,0E0h,0D0h,0C0h,0B0h
    .code
    main PROC
    ; Get the Console standard output handle:
    INVOKE GetStdHandle,STD_OUTPUT_HANDLE
    mov outHandle,eax
    ; Set the colors of adjacent cells:
    INVOKE WriteConsoleOutputAttribute,
    outHandle, ADDR attributes,
    BufSize, xyPos, ADDR cellsWritten
    ; Write character codes 1 through 20:
    INVOKE WriteConsoleOutputCharacter,
    outHandle, ADDR buffer, BufSize,
    xyPos, ADDR cellsWritten
    INVOKE ExitProcess,0 ; end program
    main ENDP
    END main
    View Code

    Figure 11–3 shows a snapshot of the program’s output, in which character codes 1 through 20 are displayed as graphic characters. Each character is in a different color, although the printed page appears in grayscale.

  • 相关阅读:
    LVS DR模式的简单应用
    Linux新加硬盘如何识别 分区 持续挂载
    13周作业
    12周作业
    2次月考
    10周作业
    9周作业
    8周作业
    7周作业
    6周作业
  • 原文地址:https://www.cnblogs.com/dreamafar/p/5993473.html
Copyright © 2011-2022 走看看