Programming Updates

This is my Chess blog and I want you to know I still play Chess every day but until I have inspiration to write about Chess, I have more programming news to share. I have been doing a TON of Assembly language programming as part of the new book I am writing on DOS programming. Chapter 8 includes some Linux examples to show people the similarity between writing assembly for Linux and how similar it is to DOS.

When the book is finished, I will probably make a version of the book specifically for Linux because I have a lot more details to share.

The following text is what happens when I “git pull” on my repository on my Windows PC. This shows all the files that were updated on my Linux computer over the past few weeks. I do all my coding on Linux but the power of git allows me to upload everything to github from Linux and then download it to Windows as a backup. I really do everything I can not to lose this code because it is my math soul at full power!

Microsoft Windows [Version 10.0.26200.8037]
(c) Microsoft Corporation. All rights reserved.

C:\Users\chand\Documents\git\Chastity-Code-Cookbook>git pull
remote: Enumerating objects: 252, done.
remote: Counting objects: 100% (250/250), done.
remote: Compressing objects: 100% (136/136), done.
remote: Total 201 (delta 126), reused 137 (delta 63), pack-reused 0 (from 0)
Receiving objects: 100% (201/201), 49.53 KiB | 551.00 KiB/s, done.
Resolving deltas: 100% (126/126), completed with 36 local objects.
From https://github.com/chastitywhiterose/Chastity-Code-Cookbook
f5e931c..c46c7c9 main -> origin/main
Updating f5e931c..c46c7c9
Fast-forward
…/chapter 7 examples/chastelib-C/chastelib.h | 119 ++++++—-
…/chapter 7 examples/chastelib-C/main.c | 22 +-
…/chapter 7 examples/chastelib-C/readme.md | 51 ++++
…/chapter 7 examples/chastelib-DOS/chastelib.h | 143 ++++++++++++
…/chapter 7 examples/chastelib-DOS/main.asm | 20 +-
…/chapter 7 examples/chastelib-DOS/main.c | 48 ++++
…/chapter 7 examples/chastelib-DOS/main.com | Bin 0 -> 443 bytes
…/fasm_32-bit_putstring/main | Bin 0 -> 172 bytes
…/fasm_32-bit_putstring/main.asm | 56 +++++
…/fasm_32-bit_putstring}/makefile | 0
…/fasm_64-bit_putstring/main | Bin 0 -> 224 bytes
…/fasm_64-bit_putstring/main.asm | 58 +++++
…/fasm_64-bit_putstring/makefile | 4 +
…/gasm_64-bit_putstring/main | Bin 0 -> 4488 bytes
…/gasm_64-bit_putstring/main.s | 52 +++++
…/gasm_64-bit_putstring/makefile | 5 +
…/nasm_32-bit_putstring/main | Bin 0 -> 4324 bytes
…/nasm_32-bit_putstring/main.asm | 55 +++++
…/nasm_32-bit_putstring/main.o | Bin 0 -> 688 bytes
…/nasm_32-bit_putstring/makefile | 5 +
…/nasm_64-bit_putstring/main | Bin 0 -> 4888 bytes
…/nasm_64-bit_putstring/main.asm | 55 +++++
…/nasm_64-bit_putstring/main.o | Bin 0 -> 928 bytes
…/nasm_64-bit_putstring/makefile | 8 +
code/asm/fasm/dos/chastelib-DOS/main-output.txt | 257 ———————
code/asm/fasm/dos/chastelib-DOS/main.asm | 20 +-
code/asm/fasm/linux-64/chaste-lib64/main | Bin 737 -> 0 bytes
code/asm/fasm/linux-64/chaste-lib64/main.asm | 52 —–
code/asm/fasm/linux-64/chastehex64/chastelib64.asm | 50 +++-
code/asm/fasm/linux-64/chastehex64/main | Bin 1634 -> 1657 bytes
…/{chaste-lib64 => chastelib64}/chasteio64.asm | 0
…/{chaste-lib64 => chastelib64}/chastelib64.asm | 50 +++-
code/asm/fasm/linux-64/chastelib64/main | Bin 0 -> 824 bytes
code/asm/fasm/linux-64/chastelib64/main.asm | 64 +++++
code/asm/fasm/linux-64/chastelib64/makefile | 4 +
code/asm/fasm/linux/chastecmp/chastelib32.asm | 37 ++-
code/asm/fasm/linux/chastecmp/main | Bin 0 -> 1024 bytes
code/asm/fasm/linux/chastehex/chastelib32.asm | 25 +-
code/asm/fasm/linux/chastelib/chastelib32.asm | 25 +-
code/asm/fasm/linux/chastelib/main.asm | 16 +-
code/asm/fasm/linux/fasm_32-bit_putstring/main | Bin 0 -> 172 bytes
code/asm/fasm/linux/fasm_32-bit_putstring/main.asm | 56 +++++
code/asm/fasm/linux/fasm_32-bit_putstring/makefile | 4 +
code/asm/fasm/linux/fasm_64-bit_putstring/main | Bin 0 -> 224 bytes
code/asm/fasm/linux/fasm_64-bit_putstring/main.asm | 58 +++++
code/asm/fasm/linux/fasm_64-bit_putstring/makefile | 4 +
…/chastelib-diff-32vs64 (2026)/chastelib32.asm | 252 ++++++++++++++++++++
…/chastelib-diff-32vs64 (2026)/chastelib64.asm | 254 ++++++++++++++++++++
…/mixed-bits/chastelib-diff-32vs64 (2026)/main32 | Bin 0 -> 672 bytes
…/chastelib-diff-32vs64 (2026)/main32.asm | 64 +++++
…/mixed-bits/chastelib-diff-32vs64 (2026)/main64 | Bin 0 -> 824 bytes
…/chastelib-diff-32vs64 (2026)/main64.asm | 64 +++++
…/chastelib-diff-32vs64 (2026)/makefile | 18 ++
…/chastelib32-test | Bin
…/chastelib32-test.asm | 0
…/chastelib32.asm | 0
…/chastelib64-test | Bin
…/chastelib64-test.asm | 0
…/chastelib64.asm | 0
…/makefile | 0
code/asm/gas/gasm_32-bit_putstring/main | Bin 0 -> 4380 bytes
code/asm/gas/gasm_32-bit_putstring/main.s | 53 +++++
code/asm/gas/gasm_32-bit_putstring/makefile | 5 +
code/asm/gas/gasm_64-bit_putstring/main | Bin 0 -> 4488 bytes
code/asm/gas/gasm_64-bit_putstring/main.s | 53 +++++
code/asm/gas/gasm_64-bit_putstring/makefile | 5 +
code/asm/gas/hello/hello | Bin 0 -> 4448 bytes
code/asm/gas/hello/hello.s | 29 +++
code/asm/gas/hello/makefile | 5 +
code/asm/nasm/nasm_32-bit_putstring/main | Bin 0 -> 4324 bytes
code/asm/nasm/nasm_32-bit_putstring/main.asm | 55 +++++
code/asm/nasm/nasm_32-bit_putstring/main.o | Bin 0 -> 688 bytes
code/asm/nasm/nasm_32-bit_putstring/makefile | 5 +
code/asm/nasm/nasm_64-bit_putstring/main | Bin 0 -> 4888 bytes
code/asm/nasm/nasm_64-bit_putstring/main.asm | 55 +++++
code/asm/nasm/nasm_64-bit_putstring/main.o | Bin 0 -> 928 bytes
code/asm/nasm/nasm_64-bit_putstring/makefile | 8 +
code/c/ncurses/ncurses_chastelib/chastelib.h | 143 ++++++++++++
…/ncurses/ncurses_chastelib/chastelib_ncurses.h | 109 ———
code/c/ncurses/ncurses_chastelib/main | Bin 16936 -> 17104 bytes
code/c/ncurses/ncurses_chastelib/main.c | 28 +–
code/c/std/chastelib_core/chastelib.h | 56 +++–
code/c/std/chastelib_core/main | Bin 16416 -> 0 bytes
code/c/std/chastelib_core/main.c | 12 +-
code/c/std/chastelib_extensions/float/chastelib.h | 87 ++++—
code/c/std/chastelib_extensions/float/main | Bin 16432 -> 16512 bytes
code/c/std/chastelib_extensions/format/chastelib.h | 87 ++++—
code/c/std/chastelib_extensions/format/main | Bin 16400 -> 16480 bytes
code/c/std/chastelib_extensions/input/chastelib.h | 87 ++++—
…/chastelib_extensions/input/chastelib_input.h | 4 +-
code/c/std/chastelib_extensions/input/main | Bin 16536 -> 16616 bytes
…/c/std/chastelib_extensions/ncurses/chastelib.h | 143 ++++++++++++
…/ncurses/chastelib_ncurses.h | 109 ———
code/c/std/chastelib_extensions/ncurses/main | Bin 16936 -> 17104 bytes
code/c/std/chastelib_extensions/ncurses/main.c | 28 +–
code/cpp/chastelib_pp_core/chastelib.hpp | 49 ++–
code/cpp/chastelib_pp_core/main | Bin 16360 -> 16440 bytes
code/cpp/chastelib_pp_core/main.cpp | 22 +-
ebook.epub | Bin 85989 -> 85986 bytes
99 files changed, 2494 insertions(+), 818 deletions(-)
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter 7 examples/chastelib-C/readme.md
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter 7 examples/chastelib-DOS/chastelib.h
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter 7 examples/chastelib-DOS/main.c
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter 7 examples/chastelib-DOS/main.com
create mode 100755 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/fasm_32-bit_putstring/main
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/fasm_32-bit_putstring/main.asm
rename code/asm/fasm/{linux-64/chaste-lib64 => dos/AAA-DOS-book-examples/chapter_8_linux_putstring/fasm_32-bit_putstring}/makefile (100%)
create mode 100755 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/fasm_64-bit_putstring/main
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/fasm_64-bit_putstring/main.asm
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/fasm_64-bit_putstring/makefile
create mode 100755 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/gasm_64-bit_putstring/main
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/gasm_64-bit_putstring/main.s
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/gasm_64-bit_putstring/makefile
create mode 100755 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/nasm_32-bit_putstring/main
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/nasm_32-bit_putstring/main.asm
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/nasm_32-bit_putstring/main.o
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/nasm_32-bit_putstring/makefile
create mode 100755 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/nasm_64-bit_putstring/main
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/nasm_64-bit_putstring/main.asm
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/nasm_64-bit_putstring/main.o
create mode 100644 code/asm/fasm/dos/AAA-DOS-book-examples/chapter_8_linux_putstring/nasm_64-bit_putstring/makefile
delete mode 100644 code/asm/fasm/dos/chastelib-DOS/main-output.txt
delete mode 100755 code/asm/fasm/linux-64/chaste-lib64/main
delete mode 100644 code/asm/fasm/linux-64/chaste-lib64/main.asm
rename code/asm/fasm/linux-64/{chaste-lib64 => chastelib64}/chasteio64.asm (100%)
rename code/asm/fasm/linux-64/{chaste-lib64 => chastelib64}/chastelib64.asm (76%)
create mode 100755 code/asm/fasm/linux-64/chastelib64/main
create mode 100644 code/asm/fasm/linux-64/chastelib64/main.asm
create mode 100644 code/asm/fasm/linux-64/chastelib64/makefile
create mode 100755 code/asm/fasm/linux/chastecmp/main
create mode 100755 code/asm/fasm/linux/fasm_32-bit_putstring/main
create mode 100644 code/asm/fasm/linux/fasm_32-bit_putstring/main.asm
create mode 100644 code/asm/fasm/linux/fasm_32-bit_putstring/makefile
create mode 100755 code/asm/fasm/linux/fasm_64-bit_putstring/main
create mode 100644 code/asm/fasm/linux/fasm_64-bit_putstring/main.asm
create mode 100644 code/asm/fasm/linux/fasm_64-bit_putstring/makefile
create mode 100644 code/asm/fasm/mixed-bits/chastelib-diff-32vs64 (2026)/chastelib32.asm
create mode 100644 code/asm/fasm/mixed-bits/chastelib-diff-32vs64 (2026)/chastelib64.asm
create mode 100755 code/asm/fasm/mixed-bits/chastelib-diff-32vs64 (2026)/main32
create mode 100644 code/asm/fasm/mixed-bits/chastelib-diff-32vs64 (2026)/main32.asm
create mode 100755 code/asm/fasm/mixed-bits/chastelib-diff-32vs64 (2026)/main64
create mode 100644 code/asm/fasm/mixed-bits/chastelib-diff-32vs64 (2026)/main64.asm
create mode 100644 code/asm/fasm/mixed-bits/chastelib-diff-32vs64 (2026)/makefile
rename code/asm/fasm/mixed-bits/{chastelib-test-32-64 => chastelib-test-32-64 (2025)}/chastelib32-test (100%)
rename code/asm/fasm/mixed-bits/{chastelib-test-32-64 => chastelib-test-32-64 (2025)}/chastelib32-test.asm (100%)
rename code/asm/fasm/mixed-bits/{chastelib-test-32-64 => chastelib-test-32-64 (2025)}/chastelib32.asm (100%)
rename code/asm/fasm/mixed-bits/{chastelib-test-32-64 => chastelib-test-32-64 (2025)}/chastelib64-test (100%)
rename code/asm/fasm/mixed-bits/{chastelib-test-32-64 => chastelib-test-32-64 (2025)}/chastelib64-test.asm (100%)
rename code/asm/fasm/mixed-bits/{chastelib-test-32-64 => chastelib-test-32-64 (2025)}/chastelib64.asm (100%)
rename code/asm/fasm/mixed-bits/{chastelib-test-32-64 => chastelib-test-32-64 (2025)}/makefile (100%)
create mode 100755 code/asm/gas/gasm_32-bit_putstring/main
create mode 100644 code/asm/gas/gasm_32-bit_putstring/main.s
create mode 100644 code/asm/gas/gasm_32-bit_putstring/makefile
create mode 100755 code/asm/gas/gasm_64-bit_putstring/main
create mode 100644 code/asm/gas/gasm_64-bit_putstring/main.s
create mode 100644 code/asm/gas/gasm_64-bit_putstring/makefile
create mode 100755 code/asm/gas/hello/hello
create mode 100644 code/asm/gas/hello/hello.s
create mode 100644 code/asm/gas/hello/makefile
create mode 100755 code/asm/nasm/nasm_32-bit_putstring/main
create mode 100644 code/asm/nasm/nasm_32-bit_putstring/main.asm
create mode 100644 code/asm/nasm/nasm_32-bit_putstring/main.o
create mode 100644 code/asm/nasm/nasm_32-bit_putstring/makefile
create mode 100755 code/asm/nasm/nasm_64-bit_putstring/main
create mode 100644 code/asm/nasm/nasm_64-bit_putstring/main.asm
create mode 100644 code/asm/nasm/nasm_64-bit_putstring/main.o
create mode 100644 code/asm/nasm/nasm_64-bit_putstring/makefile
create mode 100644 code/c/ncurses/ncurses_chastelib/chastelib.h
delete mode 100644 code/c/ncurses/ncurses_chastelib/chastelib_ncurses.h
delete mode 100755 code/c/std/chastelib_core/main
create mode 100644 code/c/std/chastelib_extensions/ncurses/chastelib.h
delete mode 100644 code/c/std/chastelib_extensions/ncurses/chastelib_ncurses.h

Comments

Please leave me any comments or questions you have! I will update posts if necessary based on user feedback!