IBM 704: razlika između inačica

Izvor: Hrvatska internetska enciklopedija
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

Registri u računalu IBM 704
Podatkovni registri
S Q P 01 02 03 ... 17 18 19 20 21 ... 35 (mjesto bit-a)
Akumulator AC
S   Množitelj/Količnik MQ
00 01 02 03 ... 17 18 19 20 21 ... 35 (mjesto bit-a)
  Senzorni indikatori SI
Indeksni registri
03 ... 17 (mjesto bit-a)
  Indeksni Registar 1   XR1 (XRA)
  Indeksni Registar 2   XR2 (XRB)
  Indeksni Registar 4   XR4 (XRC)
Brojač naredbi
03 ... 17 (mjesto bit-a)
  Brojač Naredbi   IC


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.

Sense Indicators (IBM 704)
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