IBM 704: razlika između inačica
Prijeđi na navigaciju
Prijeđi na pretraživanje
| Redak 166: | Redak 166: | ||
|} | |} | ||
=== Korištenje u IBM 704 assembleru === | ==== Korištenje u IBM 704 assembleru ==== | ||
IBM 704 je imao posebne instrukcije za rad sa Sense Indicators: | IBM 704 je imao posebne instrukcije za rad sa Sense Indicators: | ||
| Redak 191: | Redak 191: | ||
RSI 3 / resetiraj I/O complete indikator | RSI 3 / resetiraj I/O complete indikator | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Usporedba s modernim statusnim registrima ==== | |||
{| class="wikitable" | |||
! IBM 704 Sense Indicators | |||
! Moderni statusni registri (x86, ARM, RISC-V) | |||
|- | |||
| 36 jednobitnih zastavica | |||
| 8–32 bitni statusni registri | |||
|- | |||
| Ručno postavljanje i brisanje | |||
| Automatsko postavljanje od strane ALU | |||
|- | |||
| Koriste se za I/O signalizaciju | |||
| I/O signalizacija preko interrupt kontrolera | |||
|- | |||
| Jednostavne logičke zastavice | |||
| Zastavice za aritmetiku, usporedbe, prekide | |||
|- | |||
| Programer koristi dio SI kao "user flags" | |||
| Moderni jezici koriste varijable, strukture, objekte | |||
|- | |||
| Grananje preko TSI instrukcije | |||
| Grananje preko CMP/JMP, BEQ/BNE, BLT/BGT | |||
|} | |||
Inačica od 7. srpanj 2026. u 09:36
Registri
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Senzorni indikatori
Senzorni indikatori - su posebni statusni bitovi u IBM 704 koj su se u praksi rabili za provjeru grešaka, grananje ovisno o stanju sustava, upravljanje perifernim jedinicama, te za signalizaciju posebnih događaja. Kroz njih programeri su mogli održavati stanje sustava, signalizirati određene uvjete tokom izvršavanje naredbi, čitanje i postavljanje naredbi i tako su služili za jednostane oblike upravljanja tokom programa.
| SI broj | Naziv / funkcija | Opis |
|---|---|---|
| 0 | Overflow flag | Postavlja se pri prekoračenju rezultata u akumulatoru (AC) ili količniku (MQ). |
| 1 | Divide check | Signalizira pogrešku pri dijeljenju, uključujući dijeljenje nulom. |
| 2 | I/O ready | Uređaj spreman za prijenos podataka. |
| 3 | I/O complete | Završetak operacije ulaza/izlaza. |
| 4 | Tape mark | Očitana oznaka kraja bloka na magnetskoj vrpci. |
| 5 | Printer ready | Pisač spreman za rad. |
| 6 | Card reader ready | Čitač kartica spreman. |
| 7 | Card punch ready | Bušilica kartica spremna. |
| 8–15 | Peripheral flags | Razni signali perifernih uređaja (disk, vrpca, pisač). |
| 16–35 | User-defined flags | Zastavice koje programer može slobodno koristiti za logiku grananja. |
Korištenje u IBM 704 assembleru
IBM 704 je imao posebne instrukcije za rad sa Sense Indicators:
- TSI n
- Testira Sense Indicator n. Ako je postavljen, izvršavanje se nastavlja normalno; ako nije, preskače se sljedeća instrukcija.
TSI 3 / provjeri je li I/O complete
TRA DONE / ako je postavljen, skoči na DONE
- SSI n
- Postavlja Sense Indicator n.
- RSI n
- Resetira Sense Indicator n.
TSI 1 / provjeri divide check
TRA ERROR / ako je SI1 = 1, idi na ERROR
SSI 20 / postavi korisnički indikator 20
RSI 3 / resetiraj I/O complete indikator
Usporedba s modernim statusnim registrima
| IBM 704 Sense Indicators | Moderni statusni registri (x86, ARM, RISC-V) |
|---|---|
| 36 jednobitnih zastavica | 8–32 bitni statusni registri |
| Ručno postavljanje i brisanje | Automatsko postavljanje od strane ALU |
| Koriste se za I/O signalizaciju | I/O signalizacija preko interrupt kontrolera |
| Jednostavne logičke zastavice | Zastavice za aritmetiku, usporedbe, prekide |
| Programer koristi dio SI kao "user flags" | Moderni jezici koriste varijable, strukture, objekte |
| Grananje preko TSI instrukcije | Grananje preko CMP/JMP, BEQ/BNE, BLT/BGT |