assembly - Can RAM modification damage hardware? -


can real mode program can write arbitrary memory areas, damage hardware? not included in scenario interrupt calls or other things can done in real mode - pure writing memory.

this page shows memory map of x86 systems, , see stuff bios data area; fear writing area might persistent changes bios, or @ least change bios settings unexpected values. more things can destroyed.

i read hardware access in real mode can destroy hardware; not explain circumstances have made.

since asking writing access without invoking interrupts, main question is, if changes memory can persistent changes; , if yes, , why?

assuming modern 80x86 hardware; things won't cause persistent changes and/or damage include:

  • changing reset when computer reset; including contents of ram, caches, cpu's micro-code, etc.

  • writing area legacy roms copied ram (the area 0x000c0000 0x000fffff). note ram, set "ignore writes" in memory controller after post.

  • writing area contains firmware (the "n mib" area ends @ 0xffffffff).

things cause "temporarily persistent changes" (that can fixed) include:

  • writing trash cmos registers; no worse getting flat cmos battery on older systems , result in "cmos settings not valid" error (due checksum mismatch) next time boot; , can fixed via. firmware's configuration utility @ boot.

  • trashing data on storage devices (hard disks, usb flash, etc). can fixed restoring backup and/or reinstalling software.

things might cause unfixable persistent changes include:

  • writing firmware's flash. typically (but not always) involves intricate sequence unlock it, followed "guessing" correct encryption key and/or digital signature. note difficult if you're deliberately trying it, , impossible accident.

  • writing device's flash rom (if has any), might include hard disk's internal controller, printers, etc. typically (but not always) involves protections prevent it. note impossible accident.

things might cause actual physical damage include:

  • repeatedly smashing floppy drive heads against stop (e.g. seeking "cylinder 99" doesn't exist maybe several hours) in attempt reduce life expectancy of floppy drive.

  • attempting use high resolution video modes on extremely old "vga crt" monitors (which can't handle higher frequencies , blow up). note blowing these ancient monitors thing they're for.

  • attempting set unsupported video mode (e.g. higher sane refresh rate) on cheap , nasty (and rare) laptops; possible boil liquid in liquid crystal display.

note of things above either require use of protected mode or long mode (and can't work in real mode), or involve io ports in way (not memory writes).


Comments

Popular posts from this blog

java - Static nested class instance -

c# - Bluetooth LE CanUpdate Characteristic property -

JavaScript - Replace variable from string in all occurrences -