Отображение содержимого ПЗУ и ОЗУ в сиде точек (копирование в VRAM)WIN7 - Assembler

Узнай цену своей работы

Формулировка задачи:

Хотелось бы ради любопытства научиться видеть содержимое ПЗУ и ОЗУ в виде точек на экране, просто скопировав в VRAM на ассемблере в вин7.На других маленьких компах это выходит без проблем а здесь всё заблокировано. Хотелось бы пример программы

Решение задачи: «Отображение содержимого ПЗУ и ОЗУ в сиде точек (копирование в VRAM)WIN7»

textual
Листинг программы
format PE GUI 5.0
include 'D:\program files\fasm\include\win32wx.inc'
 
width  = 640
height = 480
 
.code
start:
 
;Тут можно рисовать
mov  esi,Raster            ;переменная Raster содержит иформацию о цвете пикселей
add  esi,width*4
mov  dword[esi-4],255
mov  ecx,(width-1)*height
@@:lodsd
   xor eax,[esi-width*4]
   mov [esi],eax
loop @b
;;;;;;;;;;;;;;;;;;;
 
@@:invoke GetDC,0                                                          ;Получаем Device Context рабочего стола
   invoke SetDIBitsToDevice,eax,0,0,width,height,0,0,0,height,Raster,bmi,0 ;Копируем изображение из переменной Raster на экран
   invoke GetAsyncKeyState,VK_ESCAPE                                       ;Проверяем состояние клавиши ESCAPE
   test   eax,eax                                                          ;Если не нажата
jnz @b                                                                     ;Переходим на метку @@
 
invoke ExitProcess,0       ;Выход из программы
 
.data
bmi     BITMAPINFOHEADER sizeof.BITMAPINFOHEADER,width,-height,1,32,0,width*height*4
Raster  rd width*height
 
.end start

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.7 из 5
Похожие ответы