Minor fixes & 4 Function Calculator - Amateur OS Dev (x86 asm)
Change hardcoded 80h back to generic drive number, a few other odds and ends, and actually putting in the calculator this time
Notes:
After a little debugging, since the calculator gets the result from parse_term into parse_product, and parse_term deals with the parantheses (), some results may be iffy depending on how you use parantheses with multiplying or dividing. If you put in something like (10+2+(20-4)) * 2, then it does correctly return 0x0038, or 56. Depends on the parantheses positions.
Since the calculator does return correct results here, I won't be changing it further to fix that 'bug', unless needed or the mood strikes again
Next video should be:
Replacing int 16h with keyboard data port polling (will change to use interrupt descriptor table after 32bit protected mode, later)
Fixing and debugging what breaks, hopefully not too much
Video Outline:
0:00 - Remove remaining int 10h uses
3:28 - Fix del & ren commands scrolling at bottom of screen
6:34 - Use drive_number variables passed in DX instead of hardcoded 80h
23:53 - Fix printing in editor for text and hex files
28:39 - Improve backspace in kernel
35:27 - Show/explain calculator in C
44:09 - Show/explain calculator in asm
1:02:11 - Create OS calculator using asm calculator example
1:26:51 - Coming up next and outro
----------------------------------------------------------------------------------------------------------------------------------------
Playlist for this series:
https://www.youtube.com/playlist?list=PLT7NbkyNWaqajsw8Xh7SP9KJwjfpP8TNX
Git repos:
https://git.sr.ht/~queso_fuego/quesos
https://github.com/queso-fuego/amateuros
Software used:
VMware Workstation Player - https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html
openBSD - https://www.openbsd.org/
qemu - https://www.qemu.org/
vim - https://www.vim.org/ (neovim is probably better :p)
fasm - https://flatassembler.net/
fasm docs - https://flatassembler.net/docs.php?article=manual
Contact:
email - fuegoqueso@gmail.com
twitter - @Queso_Fuego
Thoughts/Notes/Suggestions/Other - Drop a message in the video comments, by twitter, or by email
Credits:
Music from https://incompetech.com:
"Your Call" by Kevin MacLeod (https://incompetech.com)
Licence: CC BY (http://creativecommons.org/licenses/by/4.0/)
The blue title tags:
#osdev #programming #x86