- 2,223
- 1,854
- CPU
- Intel I9-10900KF 3.75GHz 10x 125W
- Dissipatore
- Gigabyte Aorus Waterforce X360 ARGB
- Scheda Madre
- Asus 1200 TUF Z590-Plus Gaming ATX DDR4
- HDD
- 1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
- RAM
- DDR4 32GB 3600MHz CL18 ARGB
- GPU
- Nvidia RTX 3080 10GB DDR6
- Audio
- Integrata 7.1 HD audio
- Monitor
- LG 34GN850
- PSU
- Gigabyte P850PM
- Case
- Phanteks Enthoo Evolv X ARGB
- Periferiche
- MSI Vigor GK30, mouse Logitech
- Net
- FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
- OS
- Windows 10 64bit / OpenSUSE Tumbleweed
Rieccomi dopo un pò di tempo! Qualcuno appassionato di golf? :)
Anche questa volta voglio proporre qualcosa, e no, non si tratta di una partita a golf. :lol:
Scherzi a parte, qualche tempo fa ho notato questo CodeGolf che ho provveduto a salvare tra i segnalibri: https://codegolf.stackexchange.com/questions/4732/emulate-an-intel-8086-cpu
Riporto schematicamente ciò che dovrà essere implementato; link utili, il binario da eseguire, e il codice sorgente, li trovate al link qui sopra.
Spero di vedere qualche partecipante o almeno qualche domanda, considerando che è un contest a parer mio interessante/stimolante. :D
Aspetterò qualche soluzione o qualche giorno prima di linkare la mia; lascio solo lo screen del mio output sotto spoiler:
Anche questa volta voglio proporre qualcosa, e no, non si tratta di una partita a golf. :lol:
Scherzi a parte, qualche tempo fa ho notato questo CodeGolf che ho provveduto a salvare tra i segnalibri: https://codegolf.stackexchange.com/questions/4732/emulate-an-intel-8086-cpu
Riporto schematicamente ciò che dovrà essere implementato; link utili, il binario da eseguire, e il codice sorgente, li trovate al link qui sopra.
- Only the following opcodes need to be implemented:
- mov, push, pop, xchg
- add, adc, sub, sbb, cmp, and, or, xor
- inc, dec
- call, ret, jmp
- jb, jz, jbe, js, jnb, jnz, jnbe, jns
- stc, clc
- hlt, nop
- As a result of this, you only need to calculate the carry, zero and sign flags
- Don't implement segments. Assume cs = ds = ss = 0.
- No prefixes
- No kinds of interrupts or port IO
- No string functions
- No two-byte opcodes (0F..)
- No floating point arithmetic
- (obviously) no 32-bit things, sse, mmx, ... whatever has not yet been invented in 1979
- You do not have to count cycles or do any timing
Start with ip = 0 and sp = 100h.
Input: Your emulator should take a binary program in any kind of format you like as input (read from file, predefined array, ...) and load it into memory at address 0.
Output: The video RAM starts at address 8000h, every byte is one (ASCII-)character. Emulate a 80x25 screen to console. Treat zero bytes like spaces.
Spero di vedere qualche partecipante o almeno qualche domanda, considerando che è un contest a parer mio interessante/stimolante. :D
Aspetterò qualche soluzione o qualche giorno prima di linkare la mia; lascio solo lo screen del mio output sotto spoiler: