教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

微机原理及应用试验指导书(6)

来源:网络收集 时间:2026-02-23
导读: MULTI PROC MOV AX,SI MUL CX MOV SI,AX MOV AX,DI MOV DI,DX MUL CX ADD DI,AX RET MULTI ENDP CODE ENDS END Start 要求:画出程序框图 24 实验十 多分支程序设计 实验目的 掌握汇编语言的编程,熟悉程序散转的设

MULTI PROC

MOV AX,SI MUL CX MOV SI,AX MOV AX,DI MOV DI,DX MUL CX ADD DI,AX RET MULTI ENDP CODE ENDS END Start

要求:画出程序框图

24

实验十 多分支程序设计

实验目的

掌握汇编语言的编程,熟悉程序散转的设计方法。

实验内容

编写程序,根据送入的数据转移运行。

设计思想

多分支结构相当于一个多路开关,在程序设计中通常是根据某寄存器或某单元的内容进行程序转移。在设计多分支转移程序时,如果分支太多,则平均转移速度太慢,本实验采用转移地址表实现多分支转移,可以提高平均转移速度。

程序框图及程序

CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE ORG 3130H

S8: JMP A81

TAB DW LED0,LED1,LED2,LED3,LED4,LED5,LED6,LED7 DW LED8,LED9,LEDA,LEDB,LEDC,LEDD,LEDE,LEDF A81: MOV BX,OFFSET TAB MOV SI,4000H

MOV AL,[SI] AND AL,0FH SHL AL,1 MOV AH,00H ADD BX,AX

;左移一位相当于乘2,因为地址表地址是字存放

JMP [BX] LED0: MOV AL,0C0H JMP LEDX

25

LED1: MOV AL,0F9H JMP LEDX LED2: MOV AL,0A4H JMP LEDX LED3: MOV AL,0B0H JMP LEDX LED4: MOV AL,99H JMP LEDX LED5: MOV AL,92H JMP LEDX LED6: MOV AL,82H

JMP LEDX

LED7: MOV AL,0F8H JMP LEDX LED8: MOV AL,80H JMP LEDX LED9: MOV AL,90H JMP LEDX LEDA: MOV AL,88H JMP LEDX LEDB: MOV AL,83H JMP LEDX LEDC: MOV AL,0C6H JMP LEDX LEDD: MOV AL,0A1H JMP LEDX LEDE: MOV AL,86H JMP LEDX LEDF: MOV AL,8EH JMP LEDX LEDX: MOV DX,0FFDCH

OUT DX,AL MOV CL,20H

MOV DX,0FFDDH

LEDX1: MOV AL,CL OUT DX,AL PUSH CX CALL DLL POP CX ROR CL,1

JMP LEDX1

DLL: MOV BX,0020H DL1: DEC BX CMP BX,0000

26

JZ DL3

MOV CX,04FFH

LOOP $

JMP DL1 DL3: RET CODE ENDS END S8

编程提示

字形口和字位口都是控制数码管的,字形口地址连接在保存代码数据的一片数据缓冲器74LS273的CLK上,若有效则让数码管显示相应的代码显示,字位口地址是连接在另一片74LS273的CLK上,输出Q1-Q6分别接在实验仪的6位数码管上,若有效则负责开通具体哪个数码管,实验台有6个数码管,最高两位缺省,对应数据为1则开通显示。

字形口地址:FFDCH 字位口地址:FFDDH 键扫显示控制电路:

LED数码管0-F的字形代码: 0 C0 1 2 3 B0 4 5 6 82 7 8 9 A B C C6 D A1 E 86 F 8E 灭 FF F9 A4 99 92 F8 80 90 88 83 D0-D7分别对应相应的发光管,为1发光管灭,为0亮,例如:C0为1100 0000则

显示“0”

27

6位LED数码管的字位代码(从左到右,最高两位缺省):

字位 代码 1 20 2 10 3 08 4 04 5 02 6 01 相应位的位码为1,则该数码管允许输出,如位码输出为0000 0001则最右一位数码管导通。

实验步骤

在4000H中分次输入00,01,02?0F,每次运行程序后,观察数码管上数字循环情况; 搞清楚显示的方法和延时的作用以及是如何延时的。 思考题:

如何显示多位(例如显示AAA循环右移,显示ABC左移);

有一个首地址为MEM的100D字数组,编写程序删除数组中所有为0的项,并将后续项想前压缩,最

后将数组的剩余部分补上0。

数据段中已定义了一个有N个字数据的数组M,编写一程序求出M中绝对值最大的数,把它放在数据

段的M+2N单元中,并将该数的偏移地址存放在M+2(N+1)单元中。

28

…… 此处隐藏:128字,全部文档内容请下载后查看。喜欢就下载吧 ……
微机原理及应用试验指导书(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/402989.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)