Hozzászólások
-
SzerzőBejegyzés
-
könnyen meglehet 🙂
könnyen meglehet 🙂
Még az azért igazán elmondhatnátok, hogy miért pont NASM-mal szenvedek, amikor MASM-hoz 1000 ebookom van, NASM-hoz meg egy sincs…
Még az azért igazán elmondhatnátok, hogy miért pont NASM-mal szenvedek, amikor MASM-hoz 1000 ebookom van, NASM-hoz meg egy sincs…
Hehe!!
Még linux alatt is.. Valóban 🙂
Így oldottam meg:
Code:[BITS 16]
[ORG 0x7c00]%define WhiteBlack 0x0f ;macros are better for this purpose
;WhiteBlack db 0x0f ; define the black BG and white FG for textsegment .data
msg db ‘Hello’, 0
msg_len equ $-msgsegment .text
_start:
mov ax, 3
int 0x10
mov ax, 0xb800 ; move 0xb800 to AX register (video memory)
mov es, ax ; move 0xb800 value to ES register fr. AX register
xor ax, ax
cld
mov ds, [msg]
mov al, [ds:0x00]loopWr:
call _write
cont:
call _exit_exit:
jmp _exit_write:
mov byte [es:bx], al ; set char to be put out
mov byte [es:bx+1], WhiteBlack ; set BG and FG of char
add bx, 2 ; inc bx val by 2
cmp bx, 50
js loopWr
call cont
times 510-($-$$) db 0
dw 0xAA55Hát most itt tart a „project”… Azt kell még tudni, hogy folyamat közben tanulok. Most megint leültem, hogy megnézzem sikerül-e valamit csinni.
Ham már itt vagyunk
Ha van egy byte stringem (itt az msg), akkor annak a stringnek az első bítját hogy a pikulában kapom meg? Vagy a helyét a memóriában vagy valami, hogy utána tudjak vele operálni.Hehe!!
Még linux alatt is.. Valóban 🙂
Így oldottam meg:
Code:[BITS 16]
[ORG 0x7c00]%define WhiteBlack 0x0f ;macros are better for this purpose
;WhiteBlack db 0x0f ; define the black BG and white FG for textsegment .data
msg db ‘Hello’, 0
msg_len equ $-msgsegment .text
_start:
mov ax, 3
int 0x10
mov ax, 0xb800 ; move 0xb800 to AX register (video memory)
mov es, ax ; move 0xb800 value to ES register fr. AX register
xor ax, ax
cld
mov ds, [msg]
mov al, [ds:0x00]loopWr:
call _write
cont:
call _exit_exit:
jmp _exit_write:
mov byte [es:bx], al ; set char to be put out
mov byte [es:bx+1], WhiteBlack ; set BG and FG of char
add bx, 2 ; inc bx val by 2
cmp bx, 50
js loopWr
call cont
times 510-($-$$) db 0
dw 0xAA55Hát most itt tart a „project”… Azt kell még tudni, hogy folyamat közben tanulok. Most megint leültem, hogy megnézzem sikerül-e valamit csinni.
Ham már itt vagyunk
Ha van egy byte stringem (itt az msg), akkor annak a stringnek az első bítját hogy a pikulában kapom meg? Vagy a helyét a memóriában vagy valami, hogy utána tudjak vele operálni.Hehe… Nah volt valami progress. 🙂
De azért még mindig elég sok kérdésem van, sajnos nem mennek a dolog olyan könnyen, mint az ember szeretné:Code:[BITS 16]
[ORG 0x7c00]%define WhiteBlack 0x0f ;macros are better for this purpose
;WhiteBlack db 0x0f ; define the black BG and white FG for text_start:
mov ax, 0xb800 ; move 0xb800 to AX register (video memory)
mov es, ax ; move 0xb800 value to ES register fr. AX register
xor ax, axmov al, ‘a’
_loop:
call _write
jmp _loop
ret
jmp _start_write:
mov byte [es:bx], al ; set char to be put out
mov byte [es:bx+1], WhiteBlack ; set BG and FG of char
add bx, 2 ; inc bx val by 2
times 510-($-$$) db 0
dw 0xAA55Ezzel a kóddal annyi a baj, hogy a loopot nem akarja valamiért végrehajtani.. Ez miért lehet?
már megoldottam 🙂
Hehe… Nah volt valami progress. 🙂
De azért még mindig elég sok kérdésem van, sajnos nem mennek a dolog olyan könnyen, mint az ember szeretné:Code:[BITS 16]
[ORG 0x7c00]%define WhiteBlack 0x0f ;macros are better for this purpose
;WhiteBlack db 0x0f ; define the black BG and white FG for text_start:
mov ax, 0xb800 ; move 0xb800 to AX register (video memory)
mov es, ax ; move 0xb800 value to ES register fr. AX register
xor ax, axmov al, ‘a’
_loop:
call _write
jmp _loop
ret
jmp _start_write:
mov byte [es:bx], al ; set char to be put out
mov byte [es:bx+1], WhiteBlack ; set BG and FG of char
add bx, 2 ; inc bx val by 2
times 510-($-$$) db 0
dw 0xAA55Ezzel a kóddal annyi a baj, hogy a loopot nem akarja valamiért végrehajtani.. Ez miért lehet?
már megoldottam 🙂
Köszi srácok… Akkor máris letettem a gagyi és szar krimpelő fogókról 🙂 Kár hogy nulláról kell felépíteni a kis home-lab-emet, hogy meg tudjam csinni azt a xar CCNA vizsgát. :S
Köszi srácok… Akkor máris letettem a gagyi és szar krimpelő fogókról 🙂 Kár hogy nulláról kell felépíteni a kis home-lab-emet, hogy meg tudjam csinni azt a xar CCNA vizsgát. :S
-
SzerzőBejegyzés
legutóbbi hsz