ORG 0000H
MOV DPTR,#TAB DPTR此时指向0C0H,以后由于A值的不停加1会不停的往后指,在循环
MAIN:MOV R5,#0 给初值
MOV A,R5A=0
LP: MOVC A,@A+DPTR 查表
MOV P1,A显示
MOV A,R5
INC A 加1
MOV R5,A
LCALL DELAY 延时
CJNE A,#10,LP 是否 到9.
SJMP MAIN
DELAY:MOV R3,#255
DEL1: MOV R4,#255
DEL2: NOP
DJNZ R4,DEL2
DJNZ R3,DEL1
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H共阳字符。0-9。
END 如有疑问,可以HI我。。
data segmentINPUT db 'The ASCII code of $'
OUTPUT db ' is $'
msg db 0dh,0ah,'is 0DH $'
A db 0
data ends
code segment
start proc far
assume cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
AGAIN: MOV DX,OFFSET INPUT
MOV AH,9
INT 21H
MOV AH,1
INT 21H
cmp al,0dh
jz tj
MOV A,AL
MOV AH,9
MOV DX,OFFSET OUTPUT
INT 21H
mov bl,a
mov bh,0
call dispa以十进制形式显示ASCII码
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
jmp again
tj:
lea dx,msg
mov ah,9
int 21h
mov ah,1
int 21h
ret
start endp
dispa proc near
mov cx,100d
call dec_div
mov cx,10d
call dec_div
mov cx,1d
call dec_div
ret
dec_div proc near
mov ax,bx
mov dx,0
div cx
mov bx,dx
mov dl,al
add dl,30h
mov ah,2
int 21h
ret
dec_div endp
dispa endp
code ends
end start
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)