完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
关于代码前半部分的具体内容就不再多说,这里只阐述代码的作用和功能。
0ffffH存放一个start_pro程序,跳转到ffee0H所指向的f8000H单元,运行f8000H里的程序。F8000H存放bios_pro程序,F9000H存放sub_pro程序。 下面的多个或门电路是选择08000H~08FFFH中的奇地址和偶地址。配合着上面的两个4K8位的存储器使用,共8KB。可以用作4K16位的存储器(AB0和 B H E BHE BHE同时选中),也可以用作8K8位的存储器(AB0选中时为偶地址, B H E BHE BHE选中时为奇地址)。 图片下面的与门电路是选择0F8000H~0FFFFFH之间的地址,连接的是两片27c128芯片。一片是16K8位。两个芯片可扩展至16K*16位。这一组存储器没有最低位AB0,不能选择奇地址和偶地址,只能将其合为一个整体看做为16位大小。 先用八位或电路和74ls138电路选出80H和81H、82H和83H、84H和85H这三个地址,再将其具体拆分开。用 C S 0 CS0 CS0表示80H端口, C S 1 CS1 CS1表示81H端口, C S 2 CS2 CS2表示82H端口, C S 3 CS3 CS3表示83H端口, C S 6 CS6 CS6表示84H端口, C S 7 CS7 CS7表示85H端口。 申请堆栈空间供中断使用。将74hc245产生的中断类型号向类型30h号矢量空间写入0f9000h。即当中断产生时,会产生中断类型号,其空间中会有中断程序的地址0f9000H。初始化设备,使80H端口有效,点亮LED灯,测试是否可用,再使82H端口有效,熄灭LED灯。对日志进行初始化,设置日志的位置0ffe00H,并赋值为0。循环等待中断。 报警时,通过作图的80H端口有效,点亮LED灯。按下右图的按钮,将81H端口中的值置为0,再将81H中的值赋值给82H,82H有效。左图D触发器s端有效,LED灯灭。 .model small .386 .stack .data .code .startup ;将系统功能程序【BIOS】入口地址0f8000h写入ROM空间中自定义的系统功能程序起始入口地址的存放位置0ffee0h【位置用(DS):(BX)表示】 mov ax,0ffeeh mov ds,ax mov bx,0 ;用(DS):(BX)表示位置0ffee0h mov ax,0 mov word ptr [bx],ax mov word ptr [bx],ax ;写入BIOS入口地址0f8000h的低字00H mov ax,0f800h inc bx inc bx mov word ptr [bx],ax ;写入BIOS入口地址0f8000h的高字0f8H ;将启动转移程序代码【标号start_pro位置用(DS):(BX)表示】写入ROM空间中系统启动地址【位置0ffff0h用(DS):(BX)表示】 mov cx,10 mov ax,seg start_pro mov ds,ax mov bx,offset start_pro mov ax,0ffffh mov es,ax mov di,0 x1:mov ax,word ptr [bx] mov es:word ptr [di],ax mov es:word ptr [di],ax inc bx inc bx inc di inc di loop x1 ;将系统功能程序【BIOS】代码【标号bios_pro位置用(DS):(BX)表示】写入ROM空间中【BIOS】入口地址【位置0f8000h用(DS):(BX)表示】 mov cx,biospro_lan mov ax,seg bios_pro mov ds,ax mov bx,offset bios_pro mov ax,0f800h mov es,ax mov di,0 x2:mov ax,word ptr [bx] mov es:word ptr [di],ax mov es:word ptr [di],ax inc bx inc bx inc di inc di loop x2 ;将子程序代码入口安排在0f9000h mov cx,subpro_lan mov ax,seg sub_pro mov ds,ax mov bx,offset sub_pro mov ax,0f900h mov es,ax mov di,0 x9:mov ax,word ptr [bx] mov es:word ptr [di],ax mov es:word ptr [di],ax inc bx inc bx inc di inc di loop x9 ;启动转移程序 start_pro: mov ax,0ffeeh mov ds,ax mov bx,0 jmp dword ptr [bx] ;转移到系统功能程序【BIOS】的入口0f8000h |
|
|
|
只有小组成员才能发言,加入小组>>
4680个成员聚集在这个小组
加入小组3384 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4309 浏览 1 评论
4342 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-2 17:51 , Processed in 0.664620 second(s), Total 73, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号