热心网友
回答时间:2024-05-15 18:54
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV R0,#0FEH
MOV R1,#4
loop1:
MOV A,R0
MOV P1,A
LCALL delay
MOV A,R0
RL A
RL A
MOV R0,A
DJNZ R1,loop1
MOV R0,#07FH
MOV R1,#4
LOOP2:
MOV A,R0
MOV P1,A
Lcall Delay
MOV A,R0
RR A
RR A
MOV R0,A
DJNZ R1,LOOP2
MOV R0,#0EFH
MOV R2,#0F7H
MOV R1,#10
MOV A,R0
ANL A,R2
loop3:
MOV P1,A
ACALL DELAY
MOV A,R0
RR A
MOV R0,A
MOV A,R2
RL A
MOV R2,A
ANL A,R0
DJNZ R1,LOOP3
SJMP $
DJNZ R4,$
DJNZ R3,D2
DJNZ R2,D1
RET
DELAY:
MOV R5,#10
D2:
MOV R6,#200
D1:
MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,D2
RET
END
收起
热心网友
回答时间:2024-05-15 18:55
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:CALL LOOP1
CALL LOOP2
CALL LOOP3
JMP MAIN
loop1:MOV R0,#0FEH
MOV R1,#8
MOV A,R0
MOV P1,A
LCALL delay
MOV A,R0
RL A
RL A
MOV R0,A
DJNZ R1,loop1
MOV R0,#07FH
MOV R1,#4
LOOP2:
MOV A,R0
MOV P1,A
Lcall Delay
MOV A,R0
RR A
RR A
MOV R0,A
DJNZ R1,LOOP2
MOV R0,#0EFH
MOV R2,#0F7H
MOV R1,#10
MOV A,R0
ANL A,R2
loop3:
MOV P1,A
ACALL DELAY
MOV A,R0
RR A
MOV R0,A
MOV A,R2
RL A
MOV R2,A
ANL A,R0
DJNZ R1,LOOP3
SJMP $
DJNZ R4,$
DJNZ R3,D2
DJNZ R2,D1
RET
DELAY:MOV R6,#5
D2: MOV R7,#250
D1: NOP
NOP
DJNZ R7,D1
DJNZ R6,D2
RET
END
收起
热心网友
回答时间:2024-05-15 18:55
;用汇编语言 编密码程序设计 要求: 输入一个3位密码为123,正确时显示欢迎信息,错误时显示错误信息
;用MASM5.0编译通过,运行结果如下:
;E:\masm>1125h
;
;Please input:****
;Error!
;Press any key ...
;E:\masm>1125h
;
;Please input:***
;Welcome!
;Press any key ...
;E:\masm>1125h
;
;程序如下:
data segment
s0 DB 0dh,0ah,'Please input:$'
s1 DB 0dh,0ah,'Welcome!$'
s2 DB 0dh,0ah,'Error! $'
s3 DB 0dh,0ah,'Press any key ... $'
num db 0 ;输入字符个数
d1 db 0,0,0
db 100 p('0')
data ends
code segment
main proc far
assume cs:code
start:
push ds
mov ax,0
push ax
mov ax,data
mov ds,ax
lea dx,s0 ;Please input
mov ah,9
int 21h
mov bx,offset d1
NEXT:
MOV AH,07 ;输入字符(不回显)
INT 21H
cmp al,0dh
je input_end
inc num ;输入字符个数
mov [bx],al
call disp_star ;显示‘*’
inc bx
jmp next
input_end:
MOV AL,NUM
CMP AL,3
JNE ERR ;输入字符个数<>3,则ERR
mov bx,offset d1
mov al,[bx]
cmp al,'1'
jne err
inc bx
mov al,[bx]
cmp al,'2'
jne err
inc bx
mov al,[bx]
cmp al,'3'
jne err
mov ah,09
mov dx,offset s1 ;Welcome!
int 21h
jmp down
err:
mov ah,09
mov dx,offset s2 ;Error!
int 21h
down:
mov ah,09
mov dx,offset s3 ;Press any key ...
int 21h
mov ah,08
int 21h
ret
main endp
;============
disp_star PROC NEAR
MOV DL,'*'
MOV AH,2
INT 21H
RET
disp_star ENDP
;=============
code ends
end start
收起
热心网友
回答时间:2024-05-15 18:56
。。。
根本就能没有100分
。。。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。
收起