This shows you the differences between two versions of the page.
iocla:cursuri:curs-03 [2018/10/15 16:24] dragos.niculescu [Demo-uri] |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Curs 03: Reprezentarea datelor în sistemele de calcul ====== | ||
- | |||
- | <html> | ||
- | <iframe src="https://docs.google.com/viewer?url=http://elf.cs.pub.ro/asm/res/cursuri/IOCLA_curs_03_Reprezentarea_datelor.pdf&embedded=true" width="600" height="480" style="border: none;"> | ||
- | </iframe> | ||
- | </html> | ||
- | |||
- | * [[http://elf.cs.pub.ro/asm/res/cursuri/IOCLA_curs_03_Reprezentarea_datelor.pdf|Curs 03: Reprezentarea datelor în sistemele de calcul (PDF)]] | ||
- | * [[http://elf.cs.pub.ro/asm/res/cursuri/IOCLA_curs_03_Reprezentarea_datelor-notes3on1.pdf|Curs 03: Reprezentarea datelor în sistemele de calcul (handout: 3on1 notes)]] | ||
- | |||
- | * Suport curs | ||
- | * Sivarama P. Dandamudi: Introduction to Assembly Language Programming | ||
- | * Appendix A: Internal Data Representation: A.1, A.2, A.3, A.4.4, A.7, A.8, A.9 | ||
- | |||
- | |||
- | |||
- | ===== Demo-uri ===== | ||
- | |||
- | <code bash> | ||
- | git clone https://github.com/iocla/curs-03-demo.git | ||
- | </code> și apoi compilăm/asamblăm<code bash> | ||
- | cd curs-03-demo; make | ||
- | </code> | ||
- | |||
- | The demo adds two bytes. | ||
- | |||
- | For signed/unsigned operations, watch flags C(arry) and O(verflow). | ||
- | |||
- | Presence of a flag means result is in the allowed interval. | ||
- | |||
- | Absence of a flag means the operation is within the allowed interval. | ||
- | |||
- | 0x2 + 0x2 | ||
- | |||
- | 0xff + 1 | ||
- | |||
- | 0xff + 0xff | ||
- | |||
- | 0xfe + 7 | ||
- | |||
- | 0x7f + 0x81 vs. 0x7f + 1 | ||
- | |||
- | 0x7f + 0x7f vs 0x7f + 0x80 | ||
- | |||
- | Exercises for C and O - find a pair that activates: | ||
- | |||
- | * none | ||
- | * only C | ||
- | * only O | ||
- | * both | ||
- | |||