Mats thoughts, photos and computer stuff

  • Hello CP/M z80-world

    Hello CP/M z80-world

    Actually I don’t know how I ended up exploring CP/M, and that is probably a story in itself. But here I am, summarizing my experiences from getting CP/M up and running on an Altair simulator and writing Hello World in z80 assembly. Getting the environment up and running The simulator altairz80 and cpm2 disk images…

  • Armstrong numbers in x86 assembly

    Armstrong numbers in x86 assembly

    An Armstrong number is a n-digit number that is equal to the sum of each of its digits taken to the nth power. An example using this four digit number 1234:1 ^ 4 + 2 ^ 4 + 3 ^ 4 + 4 ^ 4 = 354, which means it is not an Armstrong number.…

  • Exploring roman numerals in assembly and Python

    Exploring roman numerals in assembly and Python

    Turning myself into vacation mode, a small summer coding challenge is always fun and a good way to relax. This time I chose how to convert arabic to roman numerals. It took me a while to figure out the rules regarding which letters can be combined. E.g. I can only be before V or X,…

  • Silly explorations in assembly part 2

    Silly explorations in assembly part 2

    I continue to explore assembly language and how to call functions from C. This time we travel back in time to the mid 80s and leave the 64-bit arena that I described here: https://matspetterss.wordpress.com/2023/01/02/silly-explorations-in-assembly-part-1/. OS/2 1.3 – 16-bit I start with OS/2 1.3 that was released somewhere in 1990. It’s a 16-bit operating system, so…

  • Silly explorations in assembly part 1

    Silly explorations in assembly part 1

    I actually don’t know what triggered me, but I wanted to better understand the differences in how parameters are passed between functions in different operating systems based on the Intel architecture. At the same time I wanted to keep the scope limited and reuse one C program to be used as driver, and one assembler…

  • Back to the eighties – IBM Xenix 1.0

    Back to the eighties – IBM Xenix 1.0

    I’m finished with both my Linux courses and to fill the emptiness from it, I decided to do a short weekend project. Thanks to OS/2 Museum for the inspiration (https://www.os2museum.com/wp/ibm-xenix-two-steps-forward/), which made me look into IBM Xenix 1.0 from the mid 80s. At that time I did not have an 80286 machine, so I never…

  • Continuing my assembly language journey and digging deeper into DOS

    Continuing my assembly language journey and digging deeper into DOS

    It was so interesting and so fun to re-explore “old” technologies, so I am continuing on my journey. I would say that the technologies are not really that “old”. We are talking about 35-40 years old operating systems and environments, so a lot has happened. But I think the challenges are fresh. There are of…

  • Doing time traveling with assembly language

    Doing time traveling with assembly language

    I’m taking a distance course at the University in Umeå learning about Linux for development (https://www.umu.se/utbildning/kurser/linux-som-utvecklingsmiljo-1/). The course is covering a lot and it’s been big fun to do the exercises and the teachers are great. Some exercises is about coding in C and some involve debugging. Anyway, firing off the debugger inspired me to…

  • What is essential and what are your priorities?

    This time of year there are many activities going on, of which many are focusing on wrapping up before summer vacation. So indeed it is busy times. That made me reflect about my priorities and what is really essential, which in turn brought me to bring back an old favorite book of mine. Essentialism, by…

  • Lifelong learning and Applied IoT as a summer course

    Lifelong learning and Applied IoT as a summer course

    What doesn’t grow, dies. That is a valid statement for many situations, but I think it is especially valid when it comes to knowledge. Internet of Things (IoT) is a growing area in the business I’m working in, and it is an area I find very interesting. These small devices are our ears and eyes…

Design a site like this with WordPress.com
Get started