完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
下面的多个或门电路是选择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位大小。 选择80H端口和81H端口,允许CPU对端口进行访问。将80H设置为写端口,将81H设置为读端口。 对应80H这个读端口。当开关闭合时D端为0信合,通过D触发器脉冲信号将数据传到Q端。将80H端的DB8赋值为0。 当81H端口被选中时,将DB0里的值赋给D端,若值为0,点亮LED灯。 将0f8000H这一地址存放到0ffee0H中。0f8000H中存放的是程序abc。 将找到xyz程序的地址赋值到ds:bx中,将xyz的内容复制到es:di所指向的地址0ffff0H。需要循环10次,但段地址不需要改变,ds还是指向xyz段地址,es还是指向0ffffH。只需要将偏移加2,继续赋值。 与上一段程序类似,只是将abc这段程序存放在0f8000H为首地址的存储器中。用lan来表示循环次数。 将xyz程序复制到0ffffH,将abc程序复制到0f8000H中。8086芯片从0fffffH处执行,执行xyc程序,程序指向0ffee0H所指向的地址0f8000H,从而执行abc程序。 .model small .386 .stack .data .code .startup ;将系统功能程序【BIOS】入口地址0f8000h写入ROM空间中自定义的系统功能程序起始入口地址的存放位置0ffee0h【位置用(DS):(BX)表示】 mov ax,0ffeeh mov ds,ax ;将ds段的段基址赋值为0FFEEH mov bx,0 ;用(DS):(BX)表示位置0ffee0h mov ax,0 mov word ptr [bx],ax mov word ptr [bx],ax ;写入BIOS入口地址0f8000h的低字00H,写到(DS):(BX)中,bx=0 mov ax,0f800h inc bx inc bx mov word ptr [bx],ax ;写入BIOS入口地址0f8000h的高字0f8H,写到(DS):(BX)中,bx=2 ;将启动转移程序代码【位置标号xyz用(DS):(BX)表示】写入ROM空间中系统启动地址【位置0ffff0h用(DS):(BX)表示】 mov cx,10 ;循环10次 mov ax,seg xyz mov ds,ax ;将xyz的段地址存放在数据段寄存器ds中 mov bx,offset xyz ;将xyz的偏移地址存放在寄存器bx中 mov ax,0ffffh mov es,ax ;将0ffffH存放在es中 mov di,0 ;选中es指向的0ffffH段的偏移量至为0,即指向0ffff0H x1:mov ax,word ptr [bx] ;将ds:bx中的数据送给ax mov es:word ptr [di],ax ;将ax赋值给es:di mov es:word ptr [di],ax inc bx ;bx加一 inc bx ;bx加一 inc di inc di loop x1 ;循环跳转到x1 ;将系统功能程序【BIOS】代码【位置位置标号abc用(DS):(BX)表示】写入ROM空间中【BIOS】入口地址【位置0f8000h用(DS):(BX)表示】 mov cx,lan ;循环lan次 mov ax,seg abc mov ds,ax ;将abc的段地址存放在数据段寄存器ds中 mov bx,offset abc ;将abc的偏移地址存放在寄存器bx中 mov ax,0f800h mov es,ax ;将0f800H存放在es中 mov di,0 ;选中es指向的0f800H段的偏移量至为0,即指向0f8000H x2:mov ax,word ptr [bx] ;将ds:bx中的数据送给ax mov es:word ptr [di],ax ;将ax赋值给es:di mov es:word ptr [di],ax inc bx ;bx加一 inc bx ;bx加一 inc di inc di loop x2 ;循环跳转到x2 ;启动转移程序 xyz:mov ax,0ffeeh mov ds,ax mov bx,0 ;找ds:bx即地址0ffee0H指向的abc程序的地址0f8000H jmp dword ptr [bx] ;转移到系统功能程序【BIOS】的入口0f8000h ;系统功能程序【BIOS】 abc: mov ax,0 mov ds,ax mov bx,8000h in al,81H out 80H,al mov cx,20 x3:mov byte ptr [bx],al inc al inc al inc bx loop x3 jmp abc lan equ [$-abc]/2+1 ;系统功能程序【BIOS】代码的长度 .exit end |
|
|
|
只有小组成员才能发言,加入小组>>
4345个成员聚集在这个小组
加入小组3287 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4232 浏览 1 评论
4238 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 22:33 , Processed in 0.626875 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号