当前位置:首页 > 内存 > 正文

寄存器往内存写值(内存和寄存器哪个存取速度快)

  • 内存
  • 2024-06-10 12:17:52
  • 6714

一、电脑检测卡显示数字是20怎么解决?

屏幕20:确定8259中断位中固定的电压。

开始基本的64K高速缓存测试将很快测试地址线。从属DMA寄存器测试正在进行或失败。尝试更换内存,如果不起作用,请检查内存电源。也可能是内存问题,你可以尝试重装一下,如果你找到这个检测板的错误代码表找出代码20对应的错误原因,就可以更准确地知道错误点。


扩展信息:

其他代码:

01:处理器测试1,处理检查验证状态,如果测试失败,则无限循环。处理器寄存器的测试即将开始,不可屏蔽中断即将被禁用。CPU注册表测试正在进行或失败。

02:确定诊断类型(正常或制造)。如果键盘缓冲区包含数据,则键盘缓冲区将失效。禁用不可屏蔽中断;从延迟开始。cmos写入/读取正在进行或失败。

03:移除8042键盘控制器并执行测试kbrd(aah)命令。启动延迟完成。romb10s检查组件是否正在运行。

04:重置8042键盘控制器并确认testkbrd。键盘控制器重置/开机已测试。可编程间隔计时器测试正在进行或失败。

05:不断重复生产测试1到5,即可得到8042控制状态。软重置/启动确认ROM启动即将开始。DMA初始准备正在进行或失败。


二、汇编程序求解释DKCX0:;MOVTMOD,#20H;DKCX0子程序启动********************
;MOVTCON,#40H;初始化引脚类型单片机电平
;MOVPCON,#00H;初始化单片机模式类型
;MOVSCON,#50H;初始化单片机模式类型
MOVTL1,#0FDH;设置T1低8位中断初始值
MOVTH1,#0FDH;设置T1高8位中断初始值
SETBTR1;使能定时器中断1
;MOV1FH,#0FFH;给内存地址赋值
MOV7CH,#00H;在内存地址中赋值
错误:CLRA;清除寄存器ACC
MOVR0,#20H给寄存器r0赋值
RCLR:MOV@R0,将A赋给值寄存器r0的内存地址
INCR0;r0增加1
CJNER0,#40H,RCLR;如果r0值大于40h则跳转,否则继续;
MOVR0,#20H;给寄存器r0赋值
MOVR1,#8;给寄存器r1赋值
CLRC;清除寄存器c的值
WAIT:;JBT0,WAIT;设置程序程序关闭电源继续根据to的值进行等待
;JNBT0,$;根据to的值设置程序关闭并继续等待
;JBT0,$;设置程序程序正在上电关闭模式并根据to的值继续等待
MAI2:MOVR5,#5;赋值
MAI3:MOVR6,#0FFH;赋值
MAI4:JBT0,MAI5;设置程序根据to的值设置程序关机并继续等待
DJNZR6,MAI4;根据56的值设置程序关机并继续等待
DJNZR5,MAI3;根据tr5
RET的值将程序设置为断电模式并继续等待;结束子程序DKCX0
;**********************************
MAI5:MOVR5,#5
MAI6:MOVR6,#0FFH
MAI7:JNBT0,MAI8
DJNZR6,MAI7
DJNZR5,MAI6
RET
MAI8:MOV@R0,#1;2006.11。6
WATP:MOVR7,#152;142
WAT1:JBT0,WAT2;0_1
DJNZR7,WAT1
RET;LJMPWAT77;11.6ERROT>640uS
WAT2;:CJNER7,#56,WAT3
WAT3:JNCWAT5;T<384uS
DJNZR1,WAT4;384uS>T<640uS
MOVR1,#8
INCR0
CJNER0,#30H,WAT4;40
SJMPYM
WAT4:MOVA,@R0
RLA
MOV@R0,A;"0"
WAT5:DJNZR1,WAT6
MOVR1,#8
INCR0
CJNER0,#30H,WAT6;40
SJMPYM
WAT6:MOVA,@R0
RLA
MOV@R0,A;"0"
WAT77:MOVR7,#152;142
WAT7:JNBT0,WAT8;1_0
DJNZR7,WAT7
RET;WAT8:CJNER7,#56,WAT9
WAT9:JNCWAT11;T<384uS
DJNZR1,WAT10;384uS>T<640uS
MOVR1,#8
INCR0
CJNER0,#30H,WAT10;40
SJMPYM
WAT10:MOVA,@R0
RLA
INCA
MOV@R0,A;"1"
WAT11:DJNZR1,WAT12
MOVR1,#8
INCR0
CJNER0,#30H,WAT12;40
SJMPYM
WAT12:MOVA,@R0
RLA
INCA
MOV@R0,A;"1"
SJMPWATP
YM:MOVR6,#128;0;11.6
YM0:MOVA,20H
CJNEA,#6AH,YM1
MOVA,21H
CJNEA,#0AAH,YM1
MOVA,22H
;第一个子程序与此类似。你可以自己看一下,不会很难理解的,哈哈!
三、汇编语言利用堆栈复制内存中的数据原则上先修改栈的相关寄存器指向0000:200或0000:20F;
然后从03FF:0~03FF:F中取数,一一进行入栈操作来模仿。;
最后记得恢复扎鲁栈的相关寄存器值;
如果是8086系统,修改0段数据是相当危险的;