大神,求解,单片机汇编,在线等,挺急的

 
在MCS-51 的KeyCode (RAM 30H单元)存放着用户按键代码,代码值00H~04H,其中00H表示没有用户按键,01H~04H代表用户按下了加、减、乘、除四个键,根据用户按键计算:
 
R6 op R7=R3R4 (OP代表加、减、乘、除运算,R3R4保存运算结果 )试编写程序实现上述功能。
KeyCode EQU 30H ;EQU定义符号伪指令
Org 0000h ; Org汇编起始伪指令,规定了下面代码存放在rom中的起始地址
 
Ljmp Start ; 长跳转到主程序开始
 
 
 
Org 0100h; Org汇编起始伪指令,规定了下面代码存放在rom中的起始地址
 
Start:
 
nop ;在此处开始写你的程序
 
 
 

 
 
 
Sjmp $ ;程序执行到此处停止
 
End

KeyCode EQU 30H ;EQU定义符号伪指令
Org 0000h ;
Ljmp Start ; é•¿è·³è½¬åˆ°ä¸»ç¨‹åºå¼€å§‹
Org 0100h; Org汇编起始伪指令,规定了下面代码存放在rom中的起始地址
Start:
    MOV A,30H
    JZ Start
    DEC A
    JNZ S01
    MOV A,R6
    ADD A,R7
    MOV R4,A
    CLR A
    ADDC A,#0
    MOV R3,A
    SJMP Start
S01:
    DEC A
    JNZ S02
    MOV A,R6
    CLR C
    SUBB A,R7
    MOV R4,A
    JC S011
    MOV R3,#00H
    SJMP Start
S011:
    MOV R3,#0FFH
    SJMP Start
S02:
    DEC A
    JNZ S03
    MOV A,R6
    XCH A,B
    MOV A,R7
    MUL AB
    MOV R4,A
    XCH A,B
    MOV R3,A
    SJMP Start
S03:
    MOV A,R7
    XCH A,B
    MOV A,R6
    DIV AB
    MOV R4,A
    CLR A
    MOV R3,#0
    SJMP Start
Sjmp $ ;程序执行到此处停止
End
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答