Project

General

Profile

Statistics
| Revision:

root / lab2 / utils.c @ 23

History | View | Annotate | Download (541 Bytes)

1
#include <lcom/lcf.h>
2

    
3
#include <stdint.h>
4

    
5
/* Byte Masks */
6
#define LSB 0xFF /**< @brief mask to filter least significant byte */
7

    
8
int(util_get_LSB)(uint16_t val, uint8_t *lsb) {
9
    if (lsb == NULL) return 1;
10

    
11
    *lsb = val & LSB;
12
    return 0;
13
}
14

    
15
int(util_get_MSB)(uint16_t val, uint8_t *msb) {
16
    if (msb == NULL) return 1;
17
    *msb = val >> 8;
18
    return 0;
19
}
20

    
21
int (util_sys_inb)(int port, uint8_t *value) {
22
    if(value == NULL) return 1;
23
    uint32_t n = 0;
24
    if(sys_inb(port, &n)) return 1;
25
    *value = n & LSB;
26
    return 0;
27
}