微机原理输入一个数输出平方

微机原理输入一个数输出平方,第1张

利用查表的方法编写Y= X2 (X=0,1,2…稿晌9 )的程序

ORG 1000H

MOV A,30H ;取数到累加器A

MOV DPTR,#SQTAB ;DPTR取得数据表的没吵首地址

MOVC A,@A+DPTR;查表,取平方值送累加器A

MOV 31H,A ;存键察锋结果

SJMP $

SQTAB: DB 0,1,4,9,16,25,36,49,64,81

;定义平方表

END

查表程序设计实验

一、实验目的

学习查表程序的设计方法

二、实验内容及步骤

所谓查表,就是根据某孙拆个值,在数据表格中寻找与之对应的一一个数据,在很多情况下,通

过查表比通过计算要使程序更简单,更容易编制。

通过查表的方法实现十六进制数转换为ASCII码。根据2.2章节的表2.1可知,0~9的

ASCII码为30H~39H,而A~F的ASCII码为41H~46H,这样就可以将0~9与A~F对

应的ASCII码保存在-一个数据表格中。当给定一个需要转换的十六进制数时,就可以快速的在

表格中找出相应的ASCII码值。

实验步骤:

1.根据设计思想绘制程序流程图,编写实验程序(例程文件名为: A8-1 .ASM)。

2.经编译、链接无误后,则旅枣将目标代码装入系统。

3.将变量HEX, ASCH, ASCL添加到变量监视窗口中,并修改HEX的值,如12。

4.在语句JMP AA1处设置断点,然后运行程序。

5.程序会在断点行停止运行,并更新变量窗镇销口中变量的值,查看变量窗,ASCH应为31,

ASCL应为32。

6.反复修改HEX的值,观察ASCH与ASCL的值,验证程序功能。

程序代码:

ASSUME DS:DATA,CS:CODE

DATA SEGMENT

TABLE DB 30H,31H,32H,33H,34H,35H,36H,37H

DB 38H,39H,40H,41H,42H,43H,44H,45H

HEX DB 08H

ASCLL DB 0

DATA ENDS

CODE SEGMENT

START:

MOV AX,DATA

MOV DS,AX

LEA SI,TABLE

MOV AL,HEX

MOV BX,SI

XLAT

MOV ASCLL,AL

CODE ENDS

END START

Z8279 EQU212H

D8279 EQU210H

LEDMODEQU00左边输入,八位显示外部译码八位显纯碰谈示

LEDFEQEQU38H 扫做碰描频率

CODE SEGMENT

ASSUME CS:CODE,DS:code

START:push cs

popds

calldelay

MOVDX,Z8279

MOVAL,LEDMOD

OUTDX,AL

MOVAL,LEDFEQ

OUTDX,AL

MOVCX,06H

XZ: MOVDX,D8279

MOVAL,00H

OUTDX,AL

LOOP XZ

MOVDX,D8279

MOVAL,5eH

OUTDX,AL

MOVDX,D8279

MOVAL,77H

OUTDX,AL以上为写(AD )

NOP

bg: movdx,208h

moval,0

outdx,al

calldelay

in al,dx

这里用ah保存输入的低4位值

movah,al

andah,0fh

=======================

movcl,04h

roral,cl

andal,0fh

查表,将键码放入AL中

push ax

mov dx,z8279

mov al,83h

out dx,al

pop ax

LEA BX,LED

XLAT

这里已经处理了al中的高4位,还需要处理ah中的低4位

XCHGah,al

XLAT

=======================

MOV DX,D8279 将AL中内容写到数码管上

OUT DX,AL

这里再将高4位显示在led上

OUT DX,AH

=======================

calldelay

jmp bg

LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H

DB 5EH,79H,71H

delay proc near

push cx

mov cx,0f00h

loop $

pop cx

ret

delay endp

CODE ENDS

END START

并不需要修改LED表,由吵历于不是很清楚该LED芯片如何下配置,仅以你提供的代码来改写的话就是在我上面标注的那些地方插入那些代码应该就可以了

但是不排除需要修改控制码值的情况,但是那种情况我就没办法推测如何修改了。


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

原文地址:https://54852.com/yw/12487032.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-25
下一篇2025-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存