Member baru? Bingung? Perlu bantuan? Silakan baca panduan singkat untuk ikut berdiskusi.

Welcome to Forum Sains Indonesia. Please login or sign up.

April 19, 2024, 01:55:16 PM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,653
  • Total Topik: 10,405
  • Online today: 77
  • Online ever: 1,582
  • (Desember 22, 2022, 06:39:12 AM)
Pengguna Online
Users: 0
Guests: 54
Total: 54

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

Memory Layout

Dimulai oleh Farabi, Oktober 19, 2011, 12:13:08 PM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Farabi

Secara sengaja, saat komputer pertama kali dinyalakan, BIOS menyimpan keadaan(status) perangkat keras di dalam unit penghapal (memory/RAM).  Secara linier, menurut perhitungan pengalamatan 32-bit, alamat keadaan perangkat keras tersebut tersimpan dialamat x400 (0400 hexa, istilah lain dalam komputer). Struktur hapalan tersebut didefinisikan sebagai berikut:

(Menurut pengalamatan 16-bit)
Cara Baca:
contoh:
0040:0010 ini artinya (0040h* 10*)+0010h = 0410h


0040:0000    Address of RS232 card COM1
0040:0002    Address of RS232 card COM2
0040:0004    Address of RS232 card COM3
0040:0006    Address of RS232 card COM4
0040:0008    Address of Printer port LPT1
0040:000A    Address of Printer port LPT2
0040:000C    Address of Printer port LPT3
0040:0010    Equipment bits: Bits 13,14,15 = number of printers
         12 = game port attached
         9,10,11 = number of rs232 cards
         6,7 = number of disk drives
         4,5 = Initial video mode
            (00=EGA, 01=CGA40,10=CGA80, 11=MONO)
         3,2 = System RAM size
         1 = Maths co-processor
         0 = Boot from drives?
0040:0013    Main RAM Size
0040:0015    Channel IO size
0040:0017    Keyboard flag bits (byte) 7=ins, 6=caps, 5=num, 4=scrll,
         3=ALT, 2=CTRL, 1=LSHFT, 0=RSHFT (toggle states)
0040:0018    Keyboard flag bits (byte) (depressed states)
0040:0019    Keyboard ALT-Numeric pad number buffer area
0040:001A    Pointer to head of keyboard queue
0040:001C    Pointer to tail of keyboard queue
0040:001E    15 key queue (head=tail, queue empty)
0040:003E    Recalibrate floppy drive, 1=drive0, 2=drv1, 4=drv2, 8=drv3
0040:003F    Disk motor on status, 1=drive0, 2=drv1, 4=drv2, 8=drv3
         80h = disk write in progress
0040:0040    Disk motor timer 0=turn off motor
0040:0041    Disk controller return code
         1=bad cmd, 2=no address mark, 3=cant write, 4=sector not found
         8=DMA overrun,9=DMA over 64k
         10h=CRC error,20h=controller fail, 40h=seek fail,80h=timeout
0040:0042    Disk status bytes (seven)
0040:0049    Current Video Mode (byte)
0040:004A    Number of video columns
0040:004C    Video buffer size in bytes
0040:004E    Segment address of current video memory
0040:0050    Video cursor position page 0, bits8-15=row,bits0-7=column
0040:0052    Video cursor position page 1, bits8-15=row,bits0-7=column
0040:0054    Video cursor position page 2, bits8-15=row,bits0-7=column
0040:0056    Video cursor position page 3, bits8-15=row,bits0-7=column
0040:0058    Video cursor position page 4, bits8-15=row,bits0-7=column
0040:005A    Video cursor position page 5, bits8-15=row,bits0-7=column
0040:005C    Video cursor position page 6, bits8-15=row,bits0-7=column
0040:005E    Video cursor position page 7, bits8-15=row,bits0-7=column
0040:0060    Cursor mode, bits 8-12=start line, 0-4=end line
0040:0062    Current video page number
0040:0063    Video controller base I/O port address
0040:0065    Hardware mode register bits
0040:0066    Color set in CGA mode
0040:0067    ROM initialisation pointer
0040:0069    ROM I/O segment address
0040:006B    Unused interrupt occurrences
0040:006C    Timer low count (every 55milliseconds)
0040:006E    Timer high count
0040:0070    Timer rollover (byte)
0040:0071    Key-break, bit 7=1 if break key is pressed
0040:0072    Warm boot flag, set to 1234h for warm boot
0040:0074    Hard disk status byte
0040:0075    Number of hard disk drives
0040:0076    Head control byte for hard drives
0040:0077    Hard disk control port (byte)
0040:0078 - 7B    Countdown timers for printer timeouts LPT1 - LPT4
0040:007C - 7F    Countdown timers for RS232 timeouts, COM1 - COM4
0040:0080    Pointer to beginning of keyboard queue
0040:0082    Pointer to end of keyboard queue
Advanced Video Data, EGA/VGA
0040:0084    Number of rows - 1
0040:0085    Number of pixels per character * 8
0040:0087    Display adapter options (bit3=0 if EGA card is active)
0040:0088    Switch settings from adapter card
0040:0089 - 8A    Reserved
0040:008B    Last data rate for diskette
0040:008C    Hard disk status byte
0040:008D    Hard disk error byte
0040:008E    Set for hard disk interrupt flag
0040:008F    Hard disk options byte, bit0=1 when using a single
       controller for both hard disk and floppy
0040:0090    Media state for drive 0 Bits 6,7=data transfer rate
         (00=500k,01=300k,10=250k)
         5=two steps?(80tk as 40k) 4=media type 3=unused
         2,1,0=media/drive state (000=360k in 360k drive)
         (001=360k in 1.2m drive) (010=1.2m in 1.2m drive)
         (011=360k in 360k drive) (100=360k in 1.2m drive)
         (101=1.2m in 1.2m drive) (111=undefined )
0040:0091    Media state for drive 1
0040:0092    Start state for drive 0
0040:0093    Start state for drive 1
0040:0094    Track number for drive 0
0040:0095    Track number for drive 1
0040:0096 - 97    Advanced keyboard data
0040:0098 - A7    Real time clock and LAN data
0040:00A8 - FF    Advanced Video data
0050:0000    Print screen status 00=ready,01=in progress,FFh=error



Terkadang, saat anda baru memasuki mode 32-bit, anda kebingungan dengan konfigurasi komputer anda yang tidak standard. Nah, penstandardan ini adalah tanggung jawab penulis program BIOS untuk memberikan anda sebuah gambaran tentang komputer anda. Pada umumnya komputer komputer yang tidak mengikuti standard layout BIOS IBM menyimpan data tersebut di tempat lain, yang membuat anda terpaksa harus mengetahuinya terlebih dahulu di mode 16-bit sebelum masuk ke mode 32-bit, akan tetapi dibeberapa sistem seperti syslinux, program anda saat dimulai, sudah masuk ke mode 32-bit dengan seluruh akses ke I/O Port dan Memory, tapi sayangnya anda tidak bisa menggunakan fungsi dasar yang telah disediakan oleh penulis BIOS untuk mengakses perintah perintah penyediaan memory ataupun untuk menyetel perangkat keras. Sebagai contoh, interupt x10 adalah interupt khusus yang disediakan untuk menyetel perangkat keras VGA, akan tetap fungsi ini tidak akan bisa anda gunakan di syslinux karena anda telah ada di mode 32-bit, sedangkan int x10 menggunakan pengalamatan 16-bit, sehingga jika anda gunakan int x10, setelah menyelel perangkat keras program BIOS akan salah melompat bukan kembali ke program anda, akan tetapi melompat ke tempat lain.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Farabi

Tambahan:
Adapun Layout untuk pengalamatan sistem interupt berada dari alamat linier x0-x3FF, sisanya alamat x400 adalah alamat yang anda lihat.  Akan tetapi di mode 32-bit alamat tersebut bisa direlokasikan ke tempat lain, tapi sejauh saya coba alamat tersebut tidak bisa dirubah, dan tidak berada di alamat x0 melain x3BC0
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

Farabi

Maaf saya sering tertukar kanan sama kiri. Bit 0 itu paling kanan.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.

irwan kurniawan


semut-ireng

Thanks infonya,  akan saya hapalkan dulu struktur hapalannya.

riziq syihab

INi konfigurasi untuk sistem apa ya ?

Maaf ane masih nubitol .......

Farabi

komputer intel biasanya konfigurasinya begini.
Raffaaaaael, raffaaaaael, fiiii dunya la tadzikro. Rafaael. Fi dunya latadzikro bil hikmah, wa bil qiyad

Maa lahi bi robbi. Taaqi ilaa robbi. La taaqwa, in anfusakum minallaaahi.