• Scrolling the Console Window


    The following Scroll.asm program writes 50 lines of text to the screen buffer. It then resizes
    and repositions the console window, effectively scrolling the text backward. It uses the
    SetConsoleWindowInfo function:

    
    
    TITLE Scrolling the Console Window (Scroll.asm)
    INCLUDE Irvine32.inc
    .data
    message BYTE ": This line of text was written "
    BYTE "to the screen buffer",0dh,0ah
    messageSize DWORD ($-message)
    outHandle HANDLE 0 ; standard output handle
    bytesWritten DWORD ? ; number of bytes written
    lineNum DWORD 0
    windowRect SMALL_RECT <0,0,60,11> ; left,top,right,bottom
    .code
    main PROC
    INVOKE GetStdHandle, STD_OUTPUT_HANDLE
    mov outHandle,eax
    .REPEAT
    mov eax,lineNum
    call WriteDec ; display each line number
    INVOKE WriteConsole,
    outHandle, ; console output handle
    ADDR message, ; string pointer
    messageSize, ; string length
    ADDR bytesWritten, ; returns num bytes written
    0 ; not used
    inc lineNum ; next line number
    .UNTIL lineNum > 50
    ; Resize and reposition the console window relative to the
    ; screen buffer.
    INVOKE SetConsoleWindowInfo,
    outHandle,
    TRUE,
    ADDR windowRect ; window rectangle
    call Readchar ; wait for a key
    call Clrscr ; clear the screen buffer
    call Readchar ; wait for a second key
    INVOKE ExitProcess,0
    main ENDP
    END main
     

    It is best to run this program directly from MS-Windows Explorer or a command prompt rather
    than an integrated editor environment. Otherwise, the editor may affect the behavior and appearance
    of the console window. You must press a key twice at the end: once to clear the screen
    buffer and a second time to end the program.

  • 相关阅读:
    vue+element的el-menu组件实现路由跳转及当前项的设置
    继承与多态
    八、使用for解决简单的问题
    六、Js数组的使用方法
    五、JS操作HTML方法
    四、初步入门JS的用法
    三、html总结
    二、表格<table>的使用
    一、初步接触html,基本标签和ul、ol的用法
    运算符的分类
  • 原文地址:https://www.cnblogs.com/dreamafar/p/5985937.html
Copyright © 2020-2023  润新知