亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pmprint.asm

?? DOS保護模式下匯編程序設計.zip
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;                Protected-Mode Screen Management Procedures.
;
;
;   DS assumed to be set to flat-model data selector.  Screen address assumed at
;B8000H.  Cursor position address assumed at 450H.
;   A full explanation of each procedure is provided above the procedure.  The
;following is a brief summary of all included procedures:
;
;Procedure     Description
;PCH           Print ASCII character in AL at cursor
;CRLF          Issue carriage return and line feed
;SCRLUP        Scoll screen up
;SPC           Print AL spaces at cursor
;GETCSR        Get cursor position in AX.  AH = row, AL = column
;SETCSR        Set cursor position at (row,col) = (AH,AL)
;CLS           Clear screen
;PSTR          Print zero terminated ASCII string at ES:EBX
;PCSSTR        Print zero terminated ASCII string at CS:EBX
;PHW           Print hexadecimal WORD in AX
;PHD           Print hexadecimal DWORD in EAX
;PUW           Print unsigned WORD in AX as decimal
;PUD           Print unsigned DWORD in EAX as decimal
;PSW           Print signed WORD in AX as decimal
;PSD           Print signed DWORD in EAX as decimal
;FPST          Print ST of FPU using format in AX.  AH = characters to left of
;              decimal.  AL = characters to right of decimal.

SCRNBASEADR    EQU            000B8000H
CURPOS         EQU            00000450H

;Print ASCII code in AL at cursor.
PCH            PROC NEAR
               PUSH           EBX
               PUSH           EDX
               MOV            EDX,DWORD PTR DS:[CURPOS]     ;Cursor (row,col) in (DH,DL)
               PUSH           EDX                           ;Push cursor position
               XOR            EBX,EBX
               MOV            BL,DH                         ;Multiply row by 160
               SHL            BL,2
               ADD            BL,DH
               SHL            EBX,5
               AND            EDX,0FFH                      ;Clear all but column
               ADD            DL,DL                         ;Multiply column by 2
               ADD            EBX,EDX
               ADD            EBX,SCRNBASEADR
               POP            EDX                           ;POP cursor position
               MOV            [EBX],AL
               INC            DL                            ;Increment column
               CMP            DL,79
               JBE            RCDCURSOR
               XOR            DL,DL                         ;Move to zero column of next row
               INC            DH                            ;Move to next row
RCDCURSOR:     MOV            WORD PTR DS:[CURPOS],DX       ;Assume row is valid
               CMP            DH,24
               JA             DOSCROLL
EXIT:          POP            EDX
               POP            EBX
               RET
DOSCROLL:      CALL           SCRLUP
               JMP            EXIT
PCH            ENDP

;Clear cursor to end of line and issue CRLF.  Scroll up if necessary.
CRLF           PROC NEAR
               PUSH           EAX
               PUSH           EBX
               PUSH           ECX
               MOV            EAX,DWORD PTR DS:[CURPOS]
               PUSH           EAX                           ;PUSH cursor position
               XOR            EBX,EBX
               MOV            BL,AH                         ;Multiply row by 160
               SHL            BL,2
               ADD            BL,AH
               SHL            EBX,5
               AND            EAX,0FFH                      ;Clear all but column
               MOV            CL,80
               SUB            CL,AL                         ;Get number of bytes to clear in CL
               ADD            AL,AL                         ;Multiply column by 2
               ADD            EBX,EAX
               ADD            EBX,SCRNBASEADR
               MOV            AL,32
CLREOL:        MOV            [EBX],AL                      ;Clear to end of line
               ADD            EBX,2
               DEC            CL
               JNZ            CLREOL
               POP            EAX                           ;POP cursor position
               INC            AH                            ;Increment row
               CMP            AH,24
               JA             DOSCROLL
               XOR            AL,AL                         ;Set column to zero
               MOV            WORD PTR DS:[CURPOS],AX
EXIT:          POP            ECX
               POP            EBX
               POP            EAX
               RET
DOSCROLL:      CALL           SCRLUP
               JMP            EXIT
CRLF           ENDP

;Scroll entire screen up one line and leave cursor at start of line 24.
SCRLUP         PROC NEAR
               PUSH           EAX
               PUSH           EBX
               PUSH           ECX
               MOV            EBX,SCRNBASEADR
               MOV            ECX,960                       ;960 = (80*24*2)/4 (DWORDS to scroll)
SCROLLLOOP:    MOV            EAX,[EBX+160]
               MOV            [EBX],EAX
               ADD            EBX,4
               DEC            ECX
               JNZ            SCROLLLOOP
               MOV            CL,80
               MOV            AL,32
CLR24:         MOV            [EBX],AL                      ;Clear line 24
               ADD            EBX,2
               DEC            CL
               JNZ            CLR24
EXIT:          MOV            WORD PTR DS:[CURPOS],1800H    ;Set cursor to bottom line in zero column
               POP            ECX
               POP            EBX
               POP            EAX
               RET
SCRLUP         ENDP

;Print AL spaces at cursor.
SPC            PROC NEAR
               OR             AL,AL
               JZ             EXIT
               PUSH           EAX
               MOV            AH,AL
               MOV            AL,32
PRINTSPC:      CALL           PCH
               DEC            AH
               JNZ            PRINTSPC
               POP            EAX
EXIT:          RET
SPC            ENDP

;Set cursor location at (row,col) = (AH,AL).
SETCSR         PROC NEAR
               CMP            AH,24                         ;Do not allow row greater than 24
               JBE            CHKCOL
               MOV            AH,24
CHKCOL:        CMP            AL,79                         ;Do not allow column greater than 79
               JBE            SETCURSOR
               MOV            AL,79
SETCURSOR:     MOV            WORD PTR DS:[CURPOS],AX
               RET
SETCSR         ENDP

;Get cursor position in AX.
GETCSR         PROC NEAR
               MOV            AX,WORD PTR DS:[CURPOS]
               RET
GETCSR         ENDP

;Clear screen and leave cursor at (0,0) position.
CLS            PROC NEAR
               PUSH           EAX
               PUSH           EBX
               PUSH           ESI
               MOV            EBX,SCRNBASEADR
               MOV            ESI,1999
               MOV            AL,32
DOCLS:         MOV            [EBX+2*ESI],AL
               DEC            ESI
               JNS            DOCLS
               MOV            WORD PTR DS:[CURPOS],0H
               POP            ESI
               POP            EBX
               POP            EAX
               RET
CLS            ENDP

;Print ASCIIZ string at address in ES:EBX.
PSTR           PROC NEAR
               PUSH           EAX
               PUSH           EBX
CHARLOOP:      MOV            AL,ES:[EBX]
               OR             AL,AL                         ;See if at end of string
               JZ             EXIT
               CALL           PCH
               INC            EBX
               JMP            CHARLOOP
EXIT:          POP            EBX
               POP            EAX
               RET
PSTR           ENDP

;Print ASCIIZ string at address CS:EBX.
PCSSTR         PROC NEAR
               PUSH           EAX
               PUSH           EBX
CHARLOOP:      MOV            AL,CS:[EBX]                   ;See if at end of string
               OR             AL,AL
               JZ             EXIT
               CALL           PCH
               INC            EBX
               JMP            CHARLOOP
EXIT:          POP            EBX
               POP            EAX
               RET
PCSSTR         ENDP

;Print hexadecimal WORD in AX.
PHW            PROC NEAR
               PUSH           EAX
               PUSH           ECX
               PUSH           EDX
               MOV            EDX,EAX
               MOV            CL,4                          ;Print four nibbles
CALCNIBS:      MOV            AL,DL
               AND            AL,0FH
               ADD            AL,48
               CMP            AL,57
               JBE            PUSHDIGIT
               ADD            AL,7
PUSHDIGIT:     PUSH           EAX
               SHR            EDX,4
               DEC            CL
               JNZ            CALCNIBS
               MOV            CL,4
PRNTNIBS:      POP            EAX
               CALL           PCH
               DEC            CL
               JNZ            PRNTNIBS
               POP            EDX
               POP            ECX
               POP            EAX
               RET
PHW            ENDP

;Print hexadecimal DWORD in EAX.
PHD            PROC NEAR
               PUSH           EAX
               PUSH           ECX
               PUSH           EDX
               MOV            EDX,EAX
               MOV            CL,8                          ;Print eight nibbles
CALCNIBS:      MOV            AL,DL
               AND            AL,0FH
               ADD            AL,48
               CMP            AL,57
               JBE            PUSHDIGIT
               ADD            AL,7
PUSHDIGIT:     PUSH           EAX
               SHR            EDX,4
               DEC            CL
               JNZ            CALCNIBS

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美大片日本大片免费观看| 91同城在线观看| 欧美成人video| 麻豆国产精品视频| 日韩一级黄色大片| 国产一区二区三区精品视频| 久久久久久9999| 粉嫩绯色av一区二区在线观看| 中文字幕乱码久久午夜不卡| 成人蜜臀av电影| 亚洲蜜臀av乱码久久精品| 欧美性大战久久久久久久蜜臀 | 国产丝袜美腿一区二区三区| 国产精品一区二区免费不卡 | 欧美视频日韩视频| 日韩高清电影一区| 久久亚洲精精品中文字幕早川悠里| 国产河南妇女毛片精品久久久 | 亚洲国产中文字幕| 91精品国产综合久久精品图片 | 成人av动漫在线| 亚洲一区二区三区在线看| 日韩一区二区三区在线观看| 高清av一区二区| 日韩黄色小视频| 国产精品无人区| 欧美一区日本一区韩国一区| 国产91丝袜在线播放九色| 亚洲狠狠丁香婷婷综合久久久| 这里只有精品视频在线观看| 国产精品亚洲人在线观看| 亚洲男同性恋视频| 欧美精品一区二区三区高清aⅴ| 成a人片国产精品| 午夜精品免费在线| 久久久www成人免费毛片麻豆 | 精品视频在线视频| 国产高清成人在线| 日韩精品色哟哟| 中文字幕精品一区二区三区精品| 欧美色综合久久| 丰满岳乱妇一区二区三区| 无码av免费一区二区三区试看 | 国产69精品久久久久毛片| 亚洲午夜免费电影| 国产精品美女久久久久久久久久久| 欧美网站一区二区| 国产不卡视频在线观看| 免费人成黄页网站在线一区二区| **性色生活片久久毛片| 久久综合九色综合久久久精品综合 | 99精品国产99久久久久久白柏 | 午夜精品久久久久久| 亚洲视频中文字幕| 久久影视一区二区| 制服丝袜亚洲播放| 欧美日韩中文字幕一区| 一本色道久久综合狠狠躁的推荐| 国产馆精品极品| 久久机这里只有精品| 亚洲成av人**亚洲成av**| 亚洲色图欧美激情| 欧美国产精品专区| 国产午夜精品一区二区三区四区 | 欧美怡红院视频| 成人av网站免费| 国产**成人网毛片九色 | 从欧美一区二区三区| 美女视频一区二区| 日韩精品91亚洲二区在线观看| 亚洲最大色网站| 一区二区日韩电影| 一级日本不卡的影视| 一区二区三区日韩欧美精品| 亚洲天堂网中文字| 亚洲青青青在线视频| 亚洲欧美乱综合| 一个色综合av| 天堂av在线一区| 日韩国产高清在线| 蜜桃在线一区二区三区| 蜜桃视频在线观看一区二区| 久久精品久久久精品美女| 日韩电影在线看| 免费人成黄页网站在线一区二区| 视频一区视频二区在线观看| 日本一区中文字幕| 麻豆精品在线视频| 久久av中文字幕片| 国内成人自拍视频| 成人18精品视频| 91传媒视频在线播放| 欧美性感一类影片在线播放| 欧美日韩国产高清一区二区三区| 欧美精品一二三| 日韩欧美第一区| 国产欧美精品在线观看| 日本一区二区三区电影| 亚洲人快播电影网| 亚洲gay无套男同| 理论电影国产精品| 成人一区二区三区在线观看| 一本到不卡精品视频在线观看| 欧美亚洲国产一区二区三区| 日韩视频在线观看一区二区| 国产亚洲一二三区| 亚洲激情图片qvod| 久久精品72免费观看| 国产999精品久久| 91成人在线免费观看| 日韩精品中文字幕一区| 国产精品激情偷乱一区二区∴| 亚洲一区二区三区激情| 国产一区二区伦理片| jizz一区二区| 欧美一区二区视频观看视频| 国产亚洲综合在线| 亚洲v日本v欧美v久久精品| 麻豆成人久久精品二区三区小说| 懂色av一区二区三区蜜臀| 欧美亚洲国产bt| 国产欧美久久久精品影院| 污片在线观看一区二区| 成人黄色国产精品网站大全在线免费观看 | 欧美国产一区视频在线观看| 亚洲激情在线激情| 国产在线观看一区二区 | 欧美精品xxxxbbbb| 中文无字幕一区二区三区| 午夜精品久久久久久| fc2成人免费人成在线观看播放| 欧美日韩国产高清一区二区| 欧美—级在线免费片| 日韩二区在线观看| 91女神在线视频| 久久久99久久| 青青国产91久久久久久| 91福利小视频| 中文字幕视频一区| 国产河南妇女毛片精品久久久| 91精品欧美福利在线观看| 亚洲免费在线看| 成人黄色在线网站| 国产亚洲欧美日韩俺去了| 日韩福利电影在线| 欧美日韩一区二区三区四区五区 | 欧美日韩一区在线观看| 亚洲图片另类小说| 成人午夜免费视频| 久久久久国色av免费看影院| 图片区日韩欧美亚洲| 欧美中文字幕一区二区三区| 亚洲日本va在线观看| 成人激情综合网站| 亚洲国产成人在线| 国产精一品亚洲二区在线视频| 日韩三级在线观看| 青青草原综合久久大伊人精品| 欧美在线|欧美| 一区二区三区在线免费视频| caoporn国产一区二区| 中文字幕国产一区二区| 成人性生交大片免费| 国产精品免费aⅴ片在线观看| 另类小说图片综合网| 欧美videossexotv100| 免费视频最近日韩| 日韩久久久精品| 蜜臀精品一区二区三区在线观看| 91精品国产色综合久久| 蜜臀国产一区二区三区在线播放| 91精品国产色综合久久不卡电影| 日本亚洲天堂网| 26uuu色噜噜精品一区| 狠狠色2019综合网| 中文字幕乱码久久午夜不卡 | 亚洲成人av资源| 欧美肥妇bbw| 美女视频免费一区| 日韩免费高清视频| 极品尤物av久久免费看| 久久久噜噜噜久久人人看| 成人中文字幕合集| 自拍偷拍国产亚洲| 91黄视频在线| 丝袜诱惑制服诱惑色一区在线观看| 91精品啪在线观看国产60岁| 精品写真视频在线观看| 国产精品乱人伦| 在线观看一区二区视频| 图片区小说区国产精品视频| 精品国产一区二区在线观看| 国产大陆精品国产| 亚洲精品久久嫩草网站秘色| 91精品一区二区三区在线观看| 国产专区欧美精品| 国产精品毛片久久久久久| 欧美综合一区二区三区| 精品一区二区在线播放| 1区2区3区欧美|