Programming/OS : OSASK
-
[NASK] Assembly 명령어Programming/OS : OSASK 2008. 11. 28. 10:26
; 자료형의 크기 DB ; "Data Byte"의 약어로 1Byte DW ; "Data Word"의 약어로 2Byte DD ; "Data Double-Word"의 약어로 4Byte CYLSEQU10; #define CYLS 10 ; 패딩 RESB10 ; "Reserve Byte"의 약어로 10바이트를 띄워놓는다 (0x00) RESB0x1FE - $ ; $는 선두로부터 몇바이트 떨어져이는지 ; 명령어 ORG0x7c00 ; 실행시에 PC의 메모리내의 어디에 로딩되는지 ($를 좌우) MOVAX,0 ; AX = 0 MOVBYTE[678], 123 ; BYTE[]캐스팅, '데이터크기[주소]' ADDSI, 1 ; SI += 1 CMPAL, 0 ; AL과 0의 비교 HLT ; CPU정지명령 ; JUMP명령 entry..
-
[NASK] 메모리 주소지정 방식 (세그먼트 레지스터)Programming/OS : OSASK 2008. 11. 28. 10:25
BIOS들이 설계된 시대에는 CPU는 32비트 레지스터를 붙이는것이 어려웠기 때문에 보조적인 역할을 하는 세그먼트레지스터라는것을 만들었습니다. 그리고 메모리의 번지를 지정할 때 이 세그먼트 레지스터를 사용하게 되었습니다 MOV AL, [ES:BX] 와 같이 사용하며 EX * 16 + BX 로 계산합니다. ES레지스터로 번지를 대략 정한후 BX로 세세하게 지정 세그먼트 레지스터의 종류 ES -------- 엑스트라 세그먼트 (Extra Segment: 덤 세그먼트) CS -------- 코드 세그먼트 (Code Segment) SS -------- 스택 세그먼트 (Stack Segment) DS -------- 데이터 세그먼트 (Data Segment) FS -------- 명칭없음 (덤 세그먼트 2) G..
-
[OS구조와원리] - 카와이 히데미Programming/OS : OSASK 2008. 11. 27. 11:46
책표지 요롷게 생긴거 만든답니다 대충 목차는 이렇다.. 초보가 하기엔 쉬운게 아닐듯.. OTL..Chapter 0 개발을 시작하기 전에 1. 시작하기에 앞서 2. OS란 무엇일까? 3. OS 제작법 요모조모 4. 모르면 모르는 대로 5. OS를 만들려면 어떻게 해야 되나요? 6. OS를 만들 때의 난점 7. 1장 이후를 읽기 전에(중요!) 8. 이후의 내용 흐름 Chapter 1 PC 구조부터 어셈블리 입문까지 1. 어쨌든 해 보는 거야! 2. 결국 무엇을 한 것인가? 3. 어셈블러 첫 체험 4. 첫 체험의 어셈블러 다시 써 보기 Chapter 2 어셈블러 학습과 Makefile 입문 1. 텍스트 에디터 소개 2. 개발 재개 3. 부트섹터만 만들도록 정리 4. 이후를 위한 Makefile 도입 Chapt..