??xml version="1.0" encoding="utf-8" standalone="yes"?>
那么如果一个段是expandupward的,他的offset只能?到l(f)imitQ而如果是expanddownward的,offset是从limit到FFFFQ且该栈的增长方向是limit-->FFFFQ即Q数据在内存中L从低地址攑ֈ高地址
今天受益匪浅.....我塞Q如果不是在|络上搜索到的这句话Q我自己~写的Kernelq程怎么也调试不好?br />今天太高兴了Q终于把Kernel的进E机制调整好了!Q!截个图,庆祝一下?br />不过截图有个错误Q就是应该是Process的,而不是ThreadQ这两个东西有本质区别?br />
]]>
org 0x100
[bits 16]
jmp loaderStart
_GRAPH_SEG_OFFSET_ equ 0xb800
_RootEntCnt_ equ 0xe0
BS_OEMName db 'XXXXXXXX'
BPB_BytsPerSec dw 0x200
BPB_SecPerClus db 1
BPB_RsvdSecCnt dw 1
BPB_NumFATs db 2
BPB_RootEntCnt dw _RootEntCnt_
BPB_totSec16 dw 0xb40
BPB_Media db 0xf0
BPB_FATSz16 dw 9
BPB_SecPerTrk dw 0x12
BPB_NumHeads dw 2
BPB_HiddSec dd 0
BPB_totSec32 dd 0
BS_DrvNum db 0
BS_Reserved1 db 0
BS_BootSig db 0x29
BS_VolID dd 0
BS_VolLab db '11111111111'
BS_FileSysType db 'FAT12 '
parameters:
screenPo dd 0
STR_LEN equ 12
bootStr db 'Loading... '
noLoaderStr db 'No Kernel...'
ready db 'Ready '
KernelBase equ 0x8000
KernelOffset equ 0x0
rootEntryNum db _RootEntCnt_
loaderName db 'KERNEL BIN'
loaderStart:
mov ax,cs
mov ds,ax
mov es,ax
mov ss,ax
mov sp,0100
mov ax,_GRAPH_SEG_OFFSET_
mov gs,ax
mov dh,0
call displayStr
xor ah,ah
mov dl,[BS_DrvNum]
int 0x13
mov ax,KernelBase
mov es,ax
mov bx,0
mov ax,19
mov cl,14
call readSector
xor edi,edi
anotherFile:
xor esi,esi
cmp byte [rootEntryNum],0
je noLoader
nextChar:
mov al,byte [es:edi]
cmp byte [ds:loaderName+si],al
jne notThisFile
cmp si,10
je found
inc esi
inc edi
jmp nextChar
notThisFile:
shr edi,5
inc edi
shl edi,5
dec byte [rootEntryNum]
jmp anotherFile
noLoader:
mov dh,1
call displayStr
jmp $
found:
mov dh,2
call displayStr
mov ax,word [es:edi+(0x10)]
mov cl,1
push ax
mov ax,KernelBase
mov es,ax
mov ebx,KernelOffset
pop ax
readEntry:
cmp ax,0xfff
je readEnd
push ax
add ax,19+14-2
call readSector
pop ax
add ebx,512
call getFATEntry
jmp readEntry
readEnd:
jmp toProtectMode
displayStr:
; dh: String index
push cx
push ax
push bx
push esi
push edi
mov cx,STR_LEN
mov edi,dword [screenPo]
mov esi,bootStr
xor eax,eax
mov al,dh
mov bl,STR_LEN
mul bl
add esi,eax
.1:
lodsb
mov [gs:edi],al
inc edi
inc edi
loop .1
mov dword [screenPo],edi
pop edi
pop esi
pop bx
pop ax
pop cx
ret
readSector: ;ax: starting sector cl:number of sectors
; ah 0x2 al:number of sector to read
; bx: es:bx
; ch:cylinder cl:start sector
; dh:head num dl:Drive
push bp
mov bp,sp
push cx
push dx
push ax
mov dl,[BPB_SecPerTrk]
div dl
mov cl,ah
inc cl
mov ch,al
shr ch,1
mov dh,al
and dh,1
mov dl,byte [BS_DrvNum]
.1:
mov ah,2
mov al,byte [bp-2]
int 0x13
jc .1
pop ax
pop dx
pop cx
pop bp
ret
getFATEntry:
FATBaseInMem equ 0x7000
;ax is the entry number
;return ax is the next entry
push es
push bx
push dx
push cx
mov bx,FATBaseInMem
mov es,bx
mov bx,3
mul bx ;dx:ax
mov bx,2
div bx ;dx is the rest
push dx
xor dx,dx
mov bx,[BPB_BytsPerSec]
div bx
mov cl,2
xor bx,bx
add ax,1
call readSector
mov bx,dx; mov byte index
pop dx
xor ax,ax
cmp dx,0
jne oddPart
mov ax,word [es:bx]
and ax,0x0fff
jmp after
oddPart:
mov ax,word [es:bx]
shr ax,4
after:
pop cx
pop dx
pop bx
pop es
ret
toProtectMode:
jmp start
%macro Descriptor 3
dw %2 & 0xffff
dw %1 & 0xffff
db (%1 >> 16) & 0xff
dw ((%2 & 0x0f0000) >> 8) | (%3 & 0xf0ff)
db (%1 >> 24) & 0xff
%endmacro
DummyGDT: Descriptor 0,0,0
CodeGDT: Descriptor 0,0xfffff,1100000010011010b
DataGDT: Descriptor 0,0xfffff,1000000010010010b
ScreenGDT: Descriptor 0xb8000,0xffff,0000000010010010b
GDTPtr dw $-DummyGDT-1
dd 0x9000*0x10+DummyGDT
CodeSelector equ CodeGDT-DummyGDT
DataSelector equ DataGDT-DummyGDT
ScreenSelector equ ScreenGDT-DummyGDT
start:
call killMotor
cli
mov dh,2
call displayStr
lgdt [GDTPtr]
in al,0x92
or al,10b
out 0x92,al
mov eax,cr0
or eax,1
mov cr0,eax
jmp dword CodeSelector:(0x9000*0x10+ProtectMode)
killMotor:
push dx
mov dx,0x3f2
mov al,0
out dx,al
pop dx
ret
[bits 32]
ProtectMode:
mov ax,ScreenSelector
mov gs,ax
xor edi,edi
.again:
inc byte [gs:edi]
jmp .again
mov ah,0
mov dl,0
int 0x13
mov ax,0x7f0
mov es,ax
mov ah,2
mov ch,0
mov dh,0
mov al,1
mov cl,2
mov dl,0
mov ebx,0
int 0x13
mov ax,0xb800
mov gs,ax
jmp 0x7f00
times 510-($-$$) db 0
dw 0xaa55
again:
.1:
inc byte [gs:8]
jmp .1
times 1024-($-$$) db 0
q个E序的执行成功说明有一D늚内存地址是不能够被int 0x13讉K的。但是具体是Z么需要进一步思考?/p>
需要的命o行:
nasm -f elf -o dest.o src.asm
gcc -c -o dest2.o src2.c (-c 的意思是仅仅compile)
ld -s -o final.o dest.o dest1.o
投稿者须知如下:
1.内容充实、立论正、有创新、重点突出、顺理成章?
2.文字_、言意赅Q一般在8000字左?q200-300字中、英文摘要及题目、作者和工作单位p名;首页脚注明作者职U、学历,如有基金资助L(fng)出项目编P文末请列Z要参考文献;q请附上W一作者通信地址、联pL式(?sh)话、EmailQ?BR> 3.来稿L光打华ͼ字迹要清楚,上角或下角、英文大、小写字母须分明;数学W号应准?附图ȝWORDl制Q请量不要使用囄Q,必须正确无误。格式上无特别要求,通栏、双栏均可?
4.本编辑部暂时只接受邮寄投E,请寄打印E一式两份,q上Y盘(Word格式Q,打印E和软盘内容请务必一致?
5.请勿一E两投?
论文书写格式如下 (具体实例请参考我?004q第1?:
W??: (通栏) 中文标题→中文作者姓名→中文作者单?(单位Q地址,邮编) →中文摘要、关键词→英文标题→英文作者姓名→英文作者单?单位Q地址,邮编) →英文摘要、关键词 ?脚注)基金资助说明、作者学历职U??
W?2v书写论文正文(双栏) 。最后书写参考文献表(双栏) ?
参考文献表的著录格式如?:
a.专著Q?标引w序号 著?书名.版本.其他责Q?出版圎ͼ出版者,出版q?文献数量Q选择)
b.专著中析出的文献Q?标引w序号 作?题名.?In)Q原文献责Q?书名.版本.出版圎ͼ出版者,出版q?在原文献中的位置 c.论文集中析出的文献: 标引w序号 作?题名.见(InQ?~?文集?出版圎ͼ出版者,出版q? 在原文献中的位置
d.期刊中析出的文献Q?标引w序号 作?题名.其他责Q?刊名Q年Q卷Q期Q:在原文献中的位置
e.报纸中析出的文献Q?标引序?作?题名.报纸?q_月-日(版次Q?
f.专利文献Q?标引w序号 专利甌?专利题名.专利国别.专利文献U类Q专利号.出版日期
g.学位论文或技术报告: 标引w序号 作?题名Q[学位论文或技术报告].保存圎ͼ保存者,q䆾
h.会议论文Q?标引w序号 作?题名.会议名称Q会址Q会议年?
怎样~写中、英文摘?
摘要是科技论文的重要组成部分,是一U以提供文献内容梗概为目的,不加评论和补充解释,明、确切地记述文献重要内容的短?。其基本要素包括研究的目的、方法、结果和l论。摘要可大致分ؓ 3U类型:报道性摘要、指C性摘要、报道—指C性摘要?BR> 报道性摘?是指明一ơ文献的主题范围及内Ҏ(gu)概的明摘要,相当于简介。报道性摘要一般用来反映科技论文的目的、方法或定量的信息,充分反映该研I的创新之处?
指示性摘?是指明一ơ文献的论题及取得的成果的性质和水q的摘要Q其目的是读者对该研I的主题的主要内容(即作者做了什么工作)有一个轮廓性的了解?BR> 报道 -指示性摘?q种摘要界于上述两者之_以报道性摘要的形式表述一ơ文献中信息价D高的部分Q而以指示性摘要的形式表述其余部分?
1Q中文摘要一般不宜超q?00-300字,外文摘要不宜过250个实词。如遇特D需要字数可以略多(Z扩大国际影响Q英文摘要尽量写长一些,行文ȝ合英语习惯,不必与中文摘要一一对应Q?
2Q除了实在无变通办法可用以外,摘要中不用图、表、化学结构式、非公知公用的符号和术语?BR> 3Q英文时态以lؓ佻I常用一般现在时、一般过L?BR> 4Q摘要中q去多用W三人称This paper…等开?现在們于采用更z的被动语态或原Ş动词开头?BR> 5.行文时最好不用第一人称Q以方便文摘刊物的编辑刊用?
MQ好的摘要既能读者了解论文的主要内容Q又能ؓU技情报人员和计机索提供方ѝ可以这栯Q摘要质量的高低Q直接媄响着论文的被录用情况和期刊的知名度?
?????/FONT> | 中科院计研I所 |
???? | 中科院Y件研I所 |
模式识别与h工智? | 中科院智能研I所 |
计算机研I与发展 | 中科院计研I所 |
????? | 中科院自动化研究所 |
型、微型计机pȝ | 中科院沈阌机技术研I所 |
计算机应用与软g | 上v计算技术所 |
???U?? | 中国U学技术信息研I所重庆分所 |
????E? | 华东计算技术研I所 |
???技 ? | 华北计算所 |
计算机工E与应用 | 华北计算所 |
计算机工E设? | 航天工业d?06研究所 |
??U?? | ?sh)信U学~辑?/FONT> |
中文信息学报 | 北京信息工程学院 |
????? | 中国自动化学?/FONT> |
???? | 中国?sh)子学会、中国A器A表学?/FONT> |
??? | 中国自动化学?/FONT> |
中国囑Ş图象学报 | 中国囑Ş图象学会 中国U学院遥感应用研I所 北京应用物理与计数学研I所 |
???? | 中国中文信息学会 |
微型?sh)脑应? | 上v市微型电(sh)脑应用学?/FONT> |
计算机工E与U学 | 国防U学技术大?/FONT> |
序号 | 期刊名称 | CN | ISSN | 刊期 | cd | ȝ | 邮编 | 地址 |
1 | ?sh)子计算Z外部讑֤ | 331126TP | 10075518 | 双月 | 310012 | 江省杭州市马睦?6?/FONT> | ||
2 | 工业控制计算? | 321193TP | 1001182X | 双月 | 210042 | 江苏省南京市太^门外锁金?/FONT> | ||
3 | 计算Z?/FONT> | 113724TP | 10069348 | 季刊 | 100037 | 北京市v淀(wn)区阜成\14?/FONT> | ||
4 | 计算助工E? | 311679TP | 10060871 | 季刊 | 工程技?/FONT> | 沈康? | 200135 | 上v东大道1550号上hvq学院内 |
5 | 计算助绘图设?BR>与制?英文? | 112862TP | 10034951 | 季刊 | 100083 | 退,q?北京市v淀(wn)区学院\37? | ||
6 | 计算助设?BR>与图形学学报 | 112925TP | 10039767 | 双月 | 工程技? | 刘慎?/FONT> | 100080 | 北京中关村中国科学院计算技术研I所 (北京?704信箱CAD分箱) |
7 | 计算助设计与刉? | 113419TP | 10058990 | 月刊 | 100037 | 北京市西城区百万庄\22?/FONT> | ||
8 | 计算机工E? | 311289TP | 10003428 | 月刊 | 201800 | |||
9 | 计算机工E与U学 | 431258TN | 1007130X | 双月 | 自然U学 | 王凤? | 410073 | 湖南长沙砚瓦池正?7号国防科技大学?/FONT> |
10 | 计算机工E与设计 | 111775TP | 10007024 | 双月 | 工程技?/FONT> | 莩行 | 100854 | 北京市v淀(wn)区永定\51?42信箱406分箱 |
11 | 计算机工E与应用 | 112127TP | 10028331 | 月刊 | 自然U学 | 谭U?/FONT> | 100083 | 北京德外蒂子 游曰?甲六?BR>(北京619信箱26分箱) |
12 | 计算机集成制造系l?BR>-CIMS | 113619TP | 10065911 | 双月 | 工程技? | 李芳? | 100081 | 北京市v淀(wn)R道沟10?BR>(北京2413信箱34分箱) |
13 | 计算机科?/FONT> | 511239TP | 1002137X | 双月 | 400013 | 四川省重庆市市中利\132?/FONT> | ||
14 | 计算机科学技术学?BR>(英文? | 112296TP | 10009000 | 双月 | 100080 | |||
15 | 计算机时? | 331094TP | 10068228 | 月刊 | 工程技?/FONT> | 虞国U?/FONT> | 310006 | 江杭州环城西\??/FONT> |
16 | 计算机系l应?/FONT> | 112854TP | 10033254 | 季刊 | 100080 | 北京市中x南四??/FONT> | ||
17 | 计算机学? | 112721TP | 02544164 | 月刊 | 100080 | 北京市中x中科院计所 | ||
18 | 计算机研I与发展 | 111777TP | 10001239 | 月刊 | 工程技?/FONT> | 刘国?/FONT> | 100080 | 北京市中x中国U院计算所?704信箱 |
19 | 计算机应?/FONT> | 511307TP | 10019081 | 月刊 | 自然U学 | 张v? | 610041 | 四川成都市h民南路四D九(ji)?/FONT> |
20 | 计算机应用研I?/FONT> | 511196TP | 10013695 | 月刊 | 张执?/FONT> | 610041 | 四川成都市h民南?D?1?h | |
21 | 计算机应用与软g | |||||||
22 | 计算Z农业 | 113838TP | 10076581 | 季刊 | U技 | 100081 | ||
23 | 计算Z数学工程 | |||||||
24 | 计算Z数字工程 | 421372TP | 双月 | 自然U学 | 张`?/FONT> | 430074 | 湖北省武汉市武昌74223信箱5分箱 | |
25 | 计算Z通信 | 113541TP | 1006186X | 月刊 | 工程技? | 吕晓?/FONT> | 100061 | 北京市崇文区夕照14?/FONT> |
26 | 计算ZC?/FONT> | 361137TP | 10062475 | 双月 | 330002 | |||
27 | 计算Z信息处理 标准?/FONT> |
112302TP | 10028307 | 季刊 | 100083 | 北京市d外苇子坑卧虎桥甲6?/FONT> | ||
28 | 计算Z应用化学 | 113763TP | 10014160 | 双月 | 100080 | 北京市中x中科院化工冶金研I所 | ||
29 | 计算动测量与控制 | 113725TP | 10070257 | 季刊 | 100830 | 北京?49信箱265分箱 | ||
30 | 交通与计算?/FONT> | 421144U | 10008837 | 双月 | 自然U学 | 张金? | 430063 | 湖北武汉市武昌余家头武汉交通科技大学 |
31 | 上v微型计算?/FONT> | 311427TP | 1007466X | 周刊 | 200042 | 上v市威\910?8?/FONT> | ||
32 | 数D与计算机应?/FONT> | |||||||
33 | 微电(sh)子学与计机 | 611123TN | 10007180 | 双月 | 710054 | 陕西省十?ji)号信?/FONT> | ||
34 | 微计机信息 | 141128TP | 10007016 | 双月 | 自然U学 | E希?/FONT> | 100080 | p长治?0信箱 |
35 | 微计机应用 | 112204TP | 10031944 | 双月 | 100080 | 北京市中x?7?/FONT> | ||
36 | 微小型计机 开发与应用 |
121122TP | 10018786 | 双月 | 300061 | 天|市友谊\N南道5?/FONT> | ||
37 | 微型计算?/FONT> | 511238TP | 1002140X | 双月 | 400013 | 四川省重庆市市中利\132?/FONT> | ||
38 | C计算?/FONT> | 441415TP | 10071423 | 月刊 | 自然U学 | 张纬?/FONT> | 510275 | q东q州新港西\135号中山大?/FONT> |
39 | 型微型计算机系l?/FONT> | 211106TP | 10001220 | 月刊 | 工程技?/FONT> | 张家?/FONT> | 110003 | 辽宁沈阳市和q_三好?00?/FONT> |
40 | 中国d计算?BR>成像杂志 | 311700TH | 10065741 | 季刊 | 自然U学 | 沈天? | 200040 | 上v市乌鲁木齐中?2?/FONT> |