;myc0.asm
extrn _main:near
public __heapstart
_TEXT segment byte public 'CODE'
_TEXT ends
_DATA segment para public 'DATA' ;初始化静态区
_DATA ends
_BSS segment para public 'BSS' ;非初始化静态区
_BSS ends
_STACK segment para stack 'STACK' ;栈
_STACK ends
DGROUP group _DATA,_BSS,_STACK
assume cs:_TEXT,ds:DGROUP,es:DGROUP,ss:DGROUP
_TEXT segment
start: cli
mov ax,seg DGROUP
mov ds,ax
mov es,ax
mov ax,seg DGROUP
mov ss,ax
mov ax,offset DGROUP:stackend
mov sp,ax
sti
call _main
mov ax,4C00H
int 21H
_TEXT ends
_STACK segment
db 1024 dup (3)
stackend label word
db 16 dup (5)
stackend_2 label word ;记录堆初始地址
_STACK ends
_DATA segment
__heapstart dw DGROUP:stackend_2
_DATA ends
end start
- [游客] 说的不错,一看就不是俺这菜鸟级别的。不过,俺对硬件没啥兴趣,学习汇编就是为了能更好的理解计算机整个知 04/08 08:10
- [游客] 这么牛?给王爽的课程体系提建议!! 高人啊!看样子还要整个系列。呵呵。不过,我觉得你要是想让自己的 04/07 21:09
- [mywiil] 是这样,因为&&后面的限制条件能够起作用。 我写的就罗索了,我用了两个循环,第一个循环判断是否是在 02/10 17:46
- [answerooo] 回复楼上: ------------------------------------------- 02/10 17:05
- [游客] 我觉得博主的free函数中有问题。 for(p = startup; ;p = p->s.next 02/10 16:49
- [mywiil] 回头我在修改一下。 02/10 14:40
- [mywiil] 谢谢老哥对我的提醒。 02/10 14:38