flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > NOS update |
Author |
|
nkeck72 25 Sep 2015, 23:26
_________________ It may look hard, but it won't take long if you take it one byte at a time. NOS: www.github.com/nkeck720/nos |
|||
25 Sep 2015, 23:26 |
|
nkeck72 25 Sep 2015, 23:29
Ok so it won't display the message on my mobile. So, I want devs. More info at https://sourceforge.net/projects/nosanopensourcefasmos/
|
|||
25 Sep 2015, 23:29 |
|
SeproMan 27 Sep 2015, 14:24
nkeck72,
I just reviewed the changes you made to KERNAL.ASM and it still has some issues. At line 46 the MOV BX,1000h should become MOV SI,1000h. At line 124 the JNE CLEAR_LOOP should become JNE C1. At line 87 the CALL INTERPRET_CMD should become JMP INTERPRET_CMD. You don't want to just fall through in PROMPT_3. You can simplify the code at lines [100,109] since they really just put the cursor at (1,0): Code: mov dx,0001h mov ah,02h int 10h You can also simplify the code at lines [80,84] since they really just do a linefeed: Code: mov ax,0E0Ah int 10h I also looked at MYOS.ASM and have these few remarks In the lines 6 and 7 you setup DS=07C0h. This somewhat conflicts with the mention of ORG 7C00h. Luckily this bootloader does not use any DS-related operations. The lines 11, 12, and 13 are redundant because setting the cursor to (0,0) is part of the preceding SetVideoMode. _________________ Real Address Mode. |
|||
27 Sep 2015, 14:24 |
|
nkeck72 17 Nov 2015, 02:03
I have moved this OS to a GitHub site, where I am doing a complete rewrite of the OS:
https://github.com/nkeck720/nos |
|||
17 Nov 2015, 02:03 |
|
SeproMan 22 Nov 2015, 20:52
nkeck72,
I did a quick review of your "kernel.asm" Line 46 is superfluous because it is followed by an explicite clearing of AH. Line 51 is impossible to encode. You can't move an immediate value in a segment register. Lines 51 and 52 are supposed to setup a stack of 512 bytes when I read your memory layout. This is not what you are doing. Use: Code: mov ax,07C0h mov ss,ax mov sp,512 Lines 76, 82, 85, 88, 92, and 99 all use CX to address memory. You can't use CX for this purpose. Stick to BX, SI, DI, or BP. In lines 157 and 158 you must swap AX for BX. The offset goes in the lowest word, the segment goes in the highest word. Putting an immediate between brackets to obtain a segment addressing won't work! Don't write things like [2000h:CX] or [0000:21h*4][/list] Keep up the good work. _________________ Real Address Mode. |
|||
22 Nov 2015, 20:52 |
|
BAiC 23 Nov 2015, 13:12
Quote: Lines 51 and 52 are supposed to setup a stack of 512 bytes when I read your memory layout. This is not what you are doing. Use: - Stefan |
|||
23 Nov 2015, 13:12 |
|
nkeck72 01 Dec 2015, 23:37
Thanks guys for the feedback, will change and commit. I have a feedback thread going at http://board.flatassembler.net/topic.php?t=18774, I would appreciate it if you would place any further comments there.
I would greatly appreciate it if anyone is interested in becoming a dev to email me or create pull requests on my GitHub site. I have hopes to see this OS grow to something like SmiddyOS or MikeOS, maybe not now but in the future _________________ It may look hard, but it won't take long if you take it one byte at a time. NOS: www.github.com/nkeck720/nos |
|||
01 Dec 2015, 23:37 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.