汇编语言编写一简单查表程序

汇编语言编写一简单查表程序,第1张

0-9循环显示,经验证完全无误。。谢谢采纳。

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 segment

INPUT 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


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

原文地址: https://outofmemory.cn/yw/11554328.html

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

发表评论

登录后才能评论

评论列表(0条)

保存