汇编语言的题!求大神,答的越多越好

汇编语言的题!求大神,答的越多越好,第1张

STC12C2052AD单片机看门狗及其溢出时间计算公式

;本程序用于验证 STC12C2052AD 系列单片机的看门狗及其溢出时间计算公式

;看门狗及其溢出时间 = (12 Pre_scale 32768)/Oscillator frequency

WDTCR EQU 0E1H ;看门狗地址

WDT_TIME_LED EQU P15 ;用 P15 控制看门狗溢出时间指示灯,

;看门狗溢出时间可由该指示灯亮的时间长度或熄灭的时间长度表示

WDT_FLAG_LED EQU P17 ;用 P17 控制看门狗溢出复位指示灯, 如点亮表示为看门狗溢出复位

Last_WDT_Time_LED_Status EQU 00H ;位变量, 存储看门狗溢出时间指示灯的上一次状态位

;WDT 复位时间(Oscillator frequency = 18432MHz):

;Pre_scale_Word EQU 00111100B ;清0、启动看门狗,预分频数=32 068S

Pre_scale_Word EQU 00111101B ;清0、启动看门狗,预分频数=64 136S

;Pre_scale_Word EQU 00111110B ;清0、启动看门狗,预分频数=128 272S

;Pre_scale_Word EQU 00111111B ;清0、启动看门狗,预分频数=256 544S

ORG 0000H

AJMP MAIN

ORG 0100H

MAIN:

MOV A, WDTCR ;检测是否为看门狗复位

ANL A, #10000000B

JNZ WDT_Reset ;WDTCR7 = 1, 看门狗复位, 跳转到看门狗复位程序

;上电复位, 冷启动, RAM 单元内容为随机值

SETB Last_WDT_Time_LED_Status ;上电复位,

;初始化看门狗溢出时间指示灯的状态位 = 1

CLR WDT_TIME_LED ;上电复位, 点亮看门狗溢出时间指示灯

MOV WDTCR, #Pre_scale_Word ;启动看门狗

WAIT1:

SJMP WAIT1 ;循环执行本语句(停机),等待看门狗溢出复位

;看门狗复位, 热启动, RAM 单元内容不变, 为复位前的值

WDT_Reset: ;看门狗复位, 热启动

CLR WDT_FLAG_LED ;点亮看门狗溢出复位指示灯

JB Last_WDT_Time_LED_Status, Power_Off_WDT_TIME_LED

;根据看门狗溢出时间指示灯的上一次状态位设置 WDT_TIME_LED 灯,

;若上次亮本次就熄灭, 若上次熄灭本次就亮

CLR WDT_TIME_LED ;上次熄灭本次点亮看门狗溢出时间指示灯

CPL Last_WDT_Time_LED_Status ;将看门狗溢出时间指示灯的上一次状态位取反

WAIT2:

SJMP WAIT2 ;循环执行本语句(停机),等待看门狗溢出复位

Power_Off_WDT_TIME_LED:

SETB WDT_TIME_LED ;上次亮本次就熄灭看门狗溢出时间指示灯

CPL Last_WDT_Time_LED_Status ;将看门狗溢出时间指示灯的上一次状态位取反

WAIT3:

SJMP WAIT3 ;循环执行本语句(停机),等待看门狗溢出复位

END

;用STC的MCU的IO方式控制74HC595驱动8位数码管。

;用户可以修改宏来选择时钟频率

;用户可以在"用户定义宏"中选择共阴或共阳 推荐尽量使用共阴数码管

;显示效果为: 显示时间或8个数码管循环显示0,1,2,A,BF, (编译选择)

;使用Timer0的16位自动重装来产生1ms节拍,程序运行于这个节拍下, 用户修改MCU主时钟频率时,自动定时于1ms

;/

;/ 用户定义宏 /

Fosc_KHZ EQU 22118 ;22118KHZ

STACK_POIRTER EQU 0D0H ;堆栈开始地址

RTC_ENABLE EQU 1 ; 1: 显示时间, 0: 8个数码管循环显示0,1,2,A,BF,消隐

LED_TYPE EQU 000H ; 定义LED类型, 000H -- 共阴, 0FFH -- 共阳

Timer0_Reload EQU (65536 - Fosc_KHZ) ; Timer 0 中断频率, 1000次/秒

DIS_DOT EQU 020H

DIS_BLACK EQU 010H

DIS_ EQU 011H

;

;

AUXR DATA 08EH

P4 DATA 0C0H

P5 DATA 0C8H

; IO口定义 /

P_HC595_SER BIT P40 ; //pin 14 SER data input

P_HC595_RCLK BIT P54 ; //pin 12 RCLk store (latch) clock

P_HC595_SRCLK BIT P43 ; //pin 11 SRCLK Shift data clock

; 本地变量声明 /

Flag0 DATA 20H

B_1ms BIT Flag00 ; 1ms标志

LED8 DATA 30H ; 显示缓冲 30H ~ 37H

display_index DATA 38H ; 显示位索引

hour DATA 39H ;

minute DATA 3AH

second DATA 3BH ;

msecond_H DATA 3CH ;

msecond_L DATA 3DH ;

;

;

ORG 00H ;reset

LJMP F_Main

ORG 03H ;0 INT0 interrupt

RETI

LJMP F_INT0_Interrupt

ORG 0BH ;1 Timer0 interrupt

LJMP F_Timer0_Interrupt

ORG 13H ;2 INT1 interrupt

LJMP F_INT1_Interrupt

ORG 1BH ;3 Timer1 interrupt

LJMP F_Timer1_Interrupt

ORG 23H ;4 UART1 interrupt

LJMP F_UART1_Interrupt

ORG 2BH ;5 ADC and SPI interrupt

LJMP F_ADC_Interrupt

ORG 33H ;6 Low Voltage Detect interrupt

LJMP F_LVD_Interrupt

ORG 3BH ;7 PCA interrupt

LJMP F_PCA_Interrupt

ORG 43H ;8 UART2 interrupt

LJMP F_UART2_Interrupt

ORG 4BH ;9 SPI interrupt

LJMP F_SPI_Interrupt

ORG 53H ;10 INT2 interrupt

LJMP F_INT2_Interrupt

ORG 5BH ;11 INT3 interrupt

LJMP F_INT3_Interrupt

ORG 63H ;12 Timer2 interrupt

LJMP F_Timer2_Interrupt

ORG 83H ;16 INT4 interrupt

LJMP F_INT4_Interrupt

;

;

IF (RTC_ENABLE == 1)

;//========================================================================

;// 函数: F_DisplayRTC

;// 描述: 显示时钟子程序。

;// 参数: none

;// 返回: none

;// 版本: VER10

;// 日期: 2013-4-1

;// 备注: 除了ACCC和PSW外, 所用到的通用寄存器都入栈

;//========================================================================

F_DisplayRTC:

PUSH B ;B入栈

MOV A, hour

MOV B, #10

DIV AB

MOV LED8, A

MOV LED8+1, B

MOV LED8+2, #DIS_;

MOV A, minute

MOV B, #10

DIV AB

MOV LED8+3, A;

MOV LED8+4, B;

MOV LED8+5, #DIS_;

MOV A, second

MOV B, #10

DIV AB

MOV LED8+6, A;

MOV LED8+7, B;

POP B ;B出栈

RET

/ RTC演示函数 /

;//========================================================================

;// 函数: F_RTC

;// 描述: RTC演示子程序。

;// 参数: none

;// 返回: none

;// 版本: VER10

;// 日期: 2013-4-1

;// 备注: 除了ACCC和PSW外, 所用到的通用寄存器都入栈

;//========================================================================

F_RTC:

INC second ; second + 1

MOV A, second

CLR C

SUBB A,#60

JC L_QuitRTC ; second >= 60

MOV second, #0;

INC minute ; minute + 1

MOV A, minute

CLR C

SUBB A,#60

JC L_QuitRTC ; minute >= 60

MOV minute, #0

INC hour ; hour + 1

MOV A, hour

CLR C

SUBB A,#24

JC L_QuitRTC ; hour >= 24

MOV hour, #0

L_QuitRTC:

RET

ENDIF

; 主程序 /

F_Main:

MOV SP, #STACK_POIRTER

MOV PSW, #0 ;选择第0组R0~R7

MOV display_index, #0

MOV R0, #LED8

MOV R2, #8

L_ClearLoop:

MOV @R0, #DIS_BLACK ;上电消隐

INC R0

DJNZ R2, L_ClearLoop

CLR TR0

ORL AUXR, #(1 SHL 7) ; Timer0_1T();

ANL TMOD, #NOT 04H ; Timer0_AsTimer();

ANL TMOD, #NOT 03H ; Timer0_16bitAutoReload();

MOV TH0, #Timer0_Reload / 256 ;Timer0_Load(Timer0_Reload);

MOV TL0, #Timer0_Reload MOD 256

SETB ET0 ; Timer0_InterruptEnable();

SETB TR0 ; Timer0_Run();

SETB EA ; 打开总中断

MOV hour, #12 ; 初始化时间值

MOV minute, #0

MOV second, #0

IF (RTC_ENABLE == 1)

LCALL F_DisplayRTC

ENDIF

L_Main_Loop:

JNB B_1ms, L_Main_Loop ;1ms未到

CLR B_1ms

; MOV A, msecond_L ;msecond + 1

; ADD A, #1

; MOV msecond_L, A

; MOV A, msecond_H

; ADDC A, #0

; MOV msecond_H, A

INC msecond_L ;msecond + 1

MOV A, msecond_L

JNZ $+4

INC msecond_H

MOV A, msecond_L ;msecond - 1000

CLR C

SUBB A, #LOW 1000

MOV A, msecond_H

SUBB A, #HIGH 1000

JC L_Main_Loop ;if(msecond < 1000), jmp

MOV msecond_L, #0 ;if(msecond >= 1000)

MOV msecond_H, #0

IF (RTC_ENABLE == 1)

LCALL F_RTC

LCALL F_DisplayRTC

ELSE

MOV R0, #LED8

MOV R2, #8

L_LoadLoop:

MOV @R0, second

INC R0

DJNZ R2, L_LoadLoop

INC second ;8个数码管循环显示0,1,2,A,BF

ANL second, #0FH

ENDIF

LJMP L_Main_Loop

;/

; 显示相关程序

T_Display: ;标准字库

; 0 1 2 3 4 5 6 7 8 9 A B C D E F

DB 03FH,006H,05BH,04FH,066H,06DH,07DH,007H,07FH,06FH,077H,07CH,039H,05EH,079H,071H

; black - H J K L N o P U t G Q r M y

DB 000H,040H,076H,01EH,070H,038H,037H,05CH,073H,03EH,078H,03dH,067H,050H,037H,06EH

; 0 1 2 3 4 5 6 7 8 9 -1

DB 0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH,087H,0FFH,0EFH,046H

T_COM:

DB 001H,002H,004H,008H,010H,020H,040H,080H ; 位码

;//========================================================================

;// 函数: F_Send_595

;// 描述: 向HC595发送一个字节子程序。

;// 参数: ACC: 要发送的字节数据

;// 返回: none

;// 版本: VER10

;// 日期: 2013-4-1

;// 备注: 除了ACCC和PSW外, 所用到的通用寄存器都入栈

;//========================================================================

F_Send_595:

PUSH 02H ;R2入栈

MOV R2, #8

L_Send_595_Loop:

RLC A

MOV P_HC595_SER,C

SETB P_HC595_SRCLK

CLR P_HC595_SRCLK

DJNZ R2, L_Send_595_Loop

POP 02H ;R2出栈

RET

;//========================================================================

;// 函数: F_DisplayScan

;// 描述: 显示扫描子程序。

;// 参数: none

;// 返回: none

;// 版本: VER10

;// 日期: 2013-4-1

;// 备注: 除了ACCC和PSW外, 所用到的通用寄存器都入栈

;//========================================================================

F_DisplayScan:

PUSH DPH ;DPH入栈

PUSH DPL ;DPL入栈

PUSH 00H ;R0 入栈

MOV DPTR, #T_COM

MOV A, display_index

MOVC A, @A+DPTR

XRL A, #NOT LED_TYPE

LCALL F_Send_595 ;输出位码

MOV DPTR, #T_Display

MOV A, display_index

ADD A, #LED8

MOV R0, A

MOV A, @R0

MOVC A, @A+DPTR

XRL A, #LED_TYPE

LCALL F_Send_595 ;输出段码

SETB P_HC595_RCLK

CLR P_HC595_RCLK ; 锁存输出数据

INC display_index

MOV A, display_index

ANL A, #0F8H ; if(display_index >= 8)

JZ L_QuitDisplayScan

MOV display_index, #0; ;8位结束回0

L_QuitDisplayScan:

POP 00H ;R0 出栈

POP DPL ;DPL出栈

POP DPH ;DPH出栈

RET

;

; 中断函数

F_Timer0_Interrupt: ;Timer0 1ms中断函数

PUSH PSW ;PSW入栈

PUSH ACC ;ACC入栈

LCALL F_DisplayScan ; 1ms扫描显示一位

SETB B_1ms ; 1ms标志

POP ACC ;ACC出栈

POP PSW ;PSW出栈

RETI

F_Timer1_Interrupt:

RETI

F_Timer2_Interrupt:

RETI

F_INT0_Interrupt:

RETI

F_INT1_Interrupt:

RETI

F_INT2_Interrupt:

RETI

F_INT3_Interrupt:

RETI

F_INT4_Interrupt:

RETI

F_UART1_Interrupt:

RETI

F_UART2_Interrupt:

RETI

F_ADC_Interrupt:

RETI

F_LVD_Interrupt:

RETI

F_PCA_Interrupt:

RETI

F_SPI_Interrupt:

RETI

END

psp模拟器最新版的是06 2211 只要楼主电脑配置够好就可以玩jpcsp 06模拟器正确使用方法:

1首先下载"jpcsp-windows-x86rar"压缩包和"Javaexe"安装程序。因为jpcsp模拟器是基于"Java"语言编写的模拟器,即没有"Java"程序就不能运行jpcsp模拟器。

2成功安装完"Java"程序后,打开"jpcsp-windows-x86rar"压缩包,解压文件。(这样才能使用jpcsp模拟器,如果未安装"Java"程序,那么即使双击"start-windows-x86"----这是jpcsp模拟器的启动程序,程序也不会有反应)

3打开"jpcsp-windows-x86"文件夹,找到"start-windows-x86"程序,双击打开。模拟器界面出现后,可以改语言成“中文”。加载游戏:选择“文件”----"加载 UMD",接着在d出的对话框中选择游戏载入模拟器即可运行游戏。(比较笨的办法就直接把游戏丢umdimages文件夹,然后再“文件”----"加载 UMD"就有了。捷径是不用拷贝游戏过去,游戏可以放在任意目录下,在设置里更改UMD路径即可。)

注意事项:

加载的游戏最好是破解过的。比较新的jpcsp可模拟部分未破解"EBOOT"的psp游戏镜像文件。打过“普罗米修斯”补丁的游戏可以用改进的JPCSP模拟器试试。战神:奥林匹斯之链从psptgbuscom下的iso就是破解好的,楼主直接运行就好了

程序运行的结果不会是100

因为这个程序的功能是实现从99+97+95++5+3+1,也就是计算1-100之间的所的的奇数和。

它的值应该是2500。

程序运行的过程是:

S=0‘给s赋初值

for x=99 to 1 step-2'第一次进入循环时,确定循环变量为x,循环初值为99,终值为1,步长为-2,第二次及以后再来到这一句时,都要把x的值跟终值比较,小于终值后循环结束。

s=s+x’第一次进入时s=0+99=99,第二次进入时s=99+97=196,第三次进入时,s=196+96=292

next x'这一步把x加上步长,本题目中也就是减去2之后,回到for那一句。

print s'循环结束后,打印s的值,即打印出2500

关于花屏的问题解决办法: 1、由于机箱散热不好,导致显卡温度升高引起的花屏 。 解决方法就是,排除散热问题。 检查风扇运转是否正常,给风扇加油,清理机箱内的灰尘,解决散热问题后故障即可排除。 2、由于显卡或者显示器不支持高分辨率造成的解决方法:

(1)重启电脑,连续按F8键,跳出高级启动菜单,选择进入“安全模式”回车登陆系统,然后在windows下进入显示设置,选择16色状态后,点击“应用”按钮,点击“确定”按钮 (2)重新启动电脑,在windows正常模式下,进入设备管理器,删除显卡驱动程序,重新启动电脑即可。

(3)显卡松动,关机后拔下显卡重新安插通常就可以解决问题。 (4)系统过热,包括CPU温度过高和显卡芯片温度过高。可在机箱中相应位置安装散热风扇,或者将机箱放在通风良好的地方。

netstat -tunlp |grep 8000

用这个命令就能看到是哪个程序了,最右面的是程序名

我这没有8000的程序,列一下22的

[root@localhost tmp]# netstat -tunlp |grep 22

tcp 0 0 0000:42957 0000: LISTEN 2230/rpcstatd

tcp 0 0 0000:22 0000: LISTEN 2443/sshd

tcp 0 0 127001:631 0000: LISTEN 2292/cupsd

tcp 0 0 :::22 ::: LISTEN 2443/sshd

tcp 0 0 ::1:631 ::: LISTEN 2292/cupsd

tcp 0 0 :::57609 ::: LISTEN 2230/rpcstatd

udp 0 0 0000:5353 0000: 2211/avahi-daemon

udp 0 0 0000:631 0000: 2292/cupsd

udp 0 0 0000:37167 0000: 2230/rpcstatd

udp 0 0 0000:52291 0000: 2211/avahi-daemon

udp 0 0 0000:68 0000: 2207/dhclient

udp 0 0 0000:710 0000: 2230/rpcstatd

udp 0 0 :::39834 ::: 2230/rpcstatd

华为手机锁屏状态下出现广告或新闻信息要如何取消

简单的两种方法。第一软件解锁:在电脑上下载安装刷机精灵,甜椒手机助手或者其他类似的软件,用USB将手机和电脑连接,打开软件里面有清除密码锁(前提是手机USB调试要打开和手机内存要足)。第二种方法进入recovery解锁:手机关机状态下同时按住音量+和开机键不放,直到出现界面,按主页d出选项,选择双清(分别带有wipe的两个选项),再重启系统(此方法就是恢复出厂设置)。不同的手机进入recovery模式的方法可能有所不同,上面的只是大多数手机进入的方法。

如何取消手机新闻信息

“0000”发送“10086”查定制短信服务

“00000”发送“186201”可退订短信

我的手机也有新闻短信,这个方法是几个月前一个网友在赶集网上发的,我没试过只记了下来,你可以考虑考虑,应该灵吧。如果实在不行就只有去当地的移动营业厅问问了。我也没订这个业务,开始免费后来一月3元,简直是一种强制收费!而且会自动续订,很无奈。但是在北京奥运会时到是挺管用的。好象支持彩信这个服务就会跟过来。

华为手机锁屏状态下语音拨号如何取消?

拨号下面的菜单设置;通话设置,有一个“熄屏快呼” 改为“禁用”就可以了;

安卓系统 可以安装 讯飞语点 ,不联网的状态下也可以语音拨号,打开软件(也可以在软件中设置摇一摇),直接说 :打电话给 某某某 ;

手机自动会拨号,遇到多个联系人名字类似的情况下会语音报出: 找到几个 联系人 。  再点一下就可以自动拨号了;

讯飞语点还可以在离线的状态下语音 *** 作发短信和打开应用程序:比如:给某某某发信息; 打开“优酷”;

效果都不错,得益于讯飞多年的语音识别技术研究,中文识别国内暂时无人能敌。他们家的语音输入法在联网的状态下也是超好用的;

华为手机锁屏后总是出现广告怎样取消

你可以打开设置>通知和状态栏>通知管理>找到该软件>把锁屏显示的关闭试试。

如何搜索新闻信息?

可以多看一些杂志,书本,电脑上的新闻趋势,股票,学生课本,家长读物等等

我试过的

顶用!

OPPO手机出现广告锁屏如何取消?

手机出现广告锁屏一般是由于下载了带有恶意插件的软件,或者手机中毒导致。出现这个情况,可以尝试以下 *** 作:

1、观察手机出现该情况前是否有下载软件,卸载相应软件即可。

2、手机连接电脑杀毒。

3、备份重要资料后(联系人、多媒体文件等),然后恢复出厂设置。

若问题依然存在,请你携带购机发票、保修卡和机器送到OPPO客户服务中心检测,由专业工程师为你解决。

坚果3手机锁屏状态下出现红屏

白色壁纸?白色壁纸的话会毕竟明显,屏幕发色特性,有些手机是偏冷,有些手机是偏黄,有些手机是发轻微红,不是质量问题。如果介意,建议选择更换深色壁纸。

如何阻止QQd新闻信息

第一 成为QQ会员(不过要钱钱) 不可取

下载这个版本的QQ``

无病毒``无插件``无广告``属于三无产品``我也在用这个

:rsdown/downinfo/2211

用了1个多星期了```没d出广告!!

金立手机锁屏的状态下出现信息栏怎么回事

锁屏之前你那个手机设置里的u 调试模式开启了的话,你可以下个刷机精灵,里面有个解锁功能,可以解开你的手机。如果没开启u 调试,只能是双wipe清除数据 恢复出厂模式了。在关机状态下按住电源键+音量下键之后进入recovery模式,选择wipe date/factory reset清除数据并恢复出厂设置,和wipe cache partition清除缓存数据,都点击了确定之后,再选择reboot system now重启系统。

以上就是关于汇编语言的题!求大神,答的越多越好全部的内容,包括:汇编语言的题!求大神,答的越多越好、电脑上怎么玩战神:奥林匹斯之链、vb题,下列程序运行后s的值是 S=0 for x=99 to 1 step-2 s=s+x n等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9643372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存