ecm

Düsseldorf, Germany, 29.10.2025, 12:28 |
Dokuwiki on pushbx.org: Review of iniload control flow (Developers) |
I recently added then edited a page at https://pushbx.org/ecm/dokuwiki/review_of_iniload_control_flow
I'd like to know whether anyone is interested in articles like this one? (I'm the only user allowed to edit pages on this dokuwiki instance, so it isn't much of a "wiki".) --- l |
Japheth

Germany (South), 31.10.2025, 13:21
@ ecm
|
Dokuwiki on pushbx.org: Review of iniload control flow |
> I'd like to know whether anyone is interested in articles like this one?
Since all links result in "unautorized access", the article is a bit mysterious ... --- MS-DOS forever! |
ecm

Düsseldorf, Germany, 31.10.2025, 14:42
@ Japheth
|
Dokuwiki on pushbx.org: Review of iniload control flow |
> > I'd like to know whether anyone is interested in articles like this one?
>
> Since all links result in "unautorized access", the article is a bit
> mysterious ...
https://pushbx.org/ecm/dokuwiki/blog/pushbx/2025/1...ymous_sign_in_now_required_for_the_hgweb_server --- l |
rr

Berlin, Germany, 31.10.2025, 14:43
@ Japheth
|
Dokuwiki on pushbx.org: Review of iniload control flow |
> Since all links result in "unautorized access", the article is a bit
> mysterious ...
You need to enter username anonymous and any non-blank password. See this message. --- Forum admin |
Japheth

Germany (South), 04.11.2025, 18:08
@ ecm
|
Dokuwiki on pushbx.org: Review of iniload control flow |
> I'd like to know whether anyone is interested in articles like this one?
A bit of criticism, using an example:
The following text "explains" the linked code below:
Prepare relocator running. Zero di and si. Subtract current cs from cx (old lsvLoadSeg), calculating how many paragraphs to be relocated. Set bx to paras(64 KiB). Set ax to cx. If ax indicates less than or equal to 64 KiB are already loaded, leave cx as is. Else set cx to paras(64 KiB) from bx. Subtract cx from ax, leaving ax as either zero or how many paragraphs to be relocated beyond the first 64 KiB. Shift left cx thrice to convert from amount paragraphs to amount words. Jump to the relocator using a retf instruction.
xor di, di ; word [ss:sp+4]:di -> where to relocate to
xor si, si ; ds:si = cs:0
; cx => after end of loaded data
sub cx, bx ; length of currently loaded fragment
mov bx, 1000h ; = amount paragraphs per 64 KiB
mov ax, cx ; = amount paragraphs to relocate total
cmp ax, bx ; > 64 KiB ?
jbe @F ; no, do entire relocation at once -->
mov cx, bx ; yes, first relocate the first 64 KiB
@@: ; cx = amount paragraphs to relocate first
sub ax, cx ; ax = amount paragraphs to relocate later
shl cx, 1
shl cx, 1
shl cx, 1 ; how much to relocate first,
; << 3 == convert paragraphs to words
retf ; jump to relocator
IMO the text is way too technical and low-level, more or less just repeating the comments of the code part. --- MS-DOS forever! |