; *------------------------------------------------------------------------* ; * Test Affichage Video * ; *------------------------------------------------------------------------* ; Test la procédure d'affichage vidéo. Ne fonctionne pas sous DOS. ; Auteur: Yann CLEMENT ; http://kerozenn.online.fr ;-------------------------- ; Test de: ; - ECR_affi_asciiz ; - ECR_effa_tout ; - ECR_calc_offset ;-------------------------- T_VIDEO SEGMENT ORG 0000h ASSUME CS:T_VIDEO JMP debut ;--Variables et constantes---------------------------------------------------- TXT_mess_test: DB ' Si vous voyez ce message, tout va bien ! ', 0 ;----------------------------------------------------------------------------- ;--Proc‚dures----------------------------------------------------------------- ECR_affi_asciiz PROC PUSH AX PUSH ES PUSH SI PUSH DI CALL ECR_calc_offset MOV ES, 0B800h MOV DI, AX MOV AH, BL CLD JMP AFFI_charge AFFI_stocke: STOSW AFFI_charge: LODSB OR AL, AL JNE AFFI_stocke POP DI POP SI POP ES POP AX RET ECR_affi_asciiz ENDP ;--- ECR_effa_tout PROC PUSH AX PUSH BX PUSH CX PUSH DX MOV AX, 0600h MOV BX, 0700h MOV CX, 0000h MOV DX, 184Fh INT 10h POP DX POP CX POP BX POP AX RET ECR_effa_tout ENDP ;--- ECR_calc_offset PROC PUSH BX PUSH CX MOV CH, AH MOV AH, 0 MOV CL, 5 SHL AX, CL MOV BX, AX MOV CL, 2 SHL AX, CL ADD AX, BX MOV BX, 0 MOV BL, CH SHL BX, 1 ADD AX, BX POP CX POP BX RET ECR_calc_offset ENDP ;----------------------------------------------------------------------------- ;--D‚but du code-------------------------------------------------------------- debut: PUSH CS ;--CS = DS POP DS ; CALL ECR_effa_tout ;--Efface l'‚cran MOV AX, 0201h ;--Position du texte MOV BX, 0017h ;--Couleurs Fond/Texte MOV SI, TXT_mess_test ;--Message … afficher dans SI CALL ECR_affi_asciiz ;--Affiche le message fin: JMP fin ;--Fin ;----------------------------------------------------------------------------- T_VIDEO ENDS END