NASM - 1

Programming/OS Development 2009. 3. 11. 23:10
1. mov
    -> mov di, 0  :  di 에 0을 넣어라.
    -> [label], ax : label 의 부분에 ax값을 넣어라.

2. add
    -> add di, 2  :  di 에 2를 더하라.

3. jnz
   ->  jnz paint : ZF가 ON이면 다음 줄로, OFF 이면 Paint 로 점프
                       cx 레지스터 - 화면 전체에 그릴때 값을 저장하는 레지스터(?)
cx 레지스터 가 0이 되면 CPU의 Flag Register에 있는 Zero Flag가 ON이 된다.

4. byte[ : ]
   -> byte형의 포인터. ex) mov byte[ es : edi ], 0x06    : es : edi 에 byte만큼 써라. es : edi에서 byte만 
       큼의 문자

5. inc / dec
    -> inc edi : edi 를 1 증가 / dec edi : edi 를 1 감소

6. jmp
    -> 특정 위치로 Jump. $ : 현재 행의 주소값.( 현재 줄 )

7. db
    -> db 0x40 : 1byte 를 0x40 으로 쓰기.

8. dw
    -> dw 0xFFFF : 2byte 를 0xFFFF 로 쓰기

9. dd
    ->  dd 0xFFFFFFFF : 4byte 쓰기.

10. int
    -> int 0x13 : interupt를 걸어서 BIOS 에 있는 프로그램을 실행하는 BIOS CALL 명령어.
                      0x13 은 어느 섹터부터 몇 개의 섹터를 읽어라는 뜻.

'Programming > OS Development' 카테고리의 다른 글

naked 함수  (0) 2009.05.11
Stack Frame  (0) 2009.05.11
Segmant and Offset  (0) 2009.03.08
Real Mode, Protected Mode  (0) 2009.03.08
1. 부트스트랩  (0) 2009.03.08

설정

트랙백

댓글