您的当前位置:首页正文

顺序结构程序设计

来源:个人技术集锦


实验报告

(一)

课 程: 微机原理 专 业: 建筑电气与智能化 班 级: 电16 学 号: 姓 名: 指导教师: 时 间: 2019年4月24日

实验1:顺序结构程序设计

1.实验目的:

掌握汇编语言程序的一般结构,掌握顺序结构程序设计方法。 2.实验内容: 实验任务:

编写程序用查表法求0~F这16个十六进制数对应的ASCII码。 源程序清单: DATA SEGMENT X DB 6

TABLE DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H DB 41H,42H,43H,44H,45H,46H DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,X

LEA BX,TABLE XLAT

MOV X, AL MOV AH,4CH INT 21H CODE ENDS

END START 实验结果:

实验2:分支结构程序设计

1.实验目的:

掌握条件转移语句,掌握基于条件转移的分支程序设计方法,掌握利用DEBUG修改参数检查结果的方法。 2.实验内容: 实验任务:

编程实现符号函数:

1

设输入数据为X,输出数据为Y,且皆为字节变量。 源程序清单: DATA SEGMENT X DB -25 Y DB ? DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,X CMP AL,0 JGE BIG MOV BL,-1 JMP EXIT BIG: JE EE

MOV BL,1 JMP EXIT EE: MOV BL,0 EXIT: MOV Y,BL MOV AH,4CH INT 21H CODE ENDS

END START实验结果:

将X DB -25改为X DB 25,结果如下:

将X DB 25改为X DB 0,结果如下:

2

实验3:循环结构程序设计

1.实验目的:

熟练掌握计数控制循环程序的设计方法和调试方法。 2.实验内容: 实验任务:

请编写程序对给定的若干字节单元中的字符进行分类统计,统计数字字符‘0’~‘9’、英文字符(包括大小写)、其他字符的个数,分别存放于变量NUM、LET和OTH中。 源程序清单: DATA SEGMENT

BUF DB '1','2','3','4','5' DB 'a','b','c','d','a' db '*','%','g','s','[' NUM db 0 LET DB 0 OTH DB 0 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,BUF

MOV CX,NUM-BUF AGAIN:MOV AL,[SI] CMP AL,30H JB OTHR CMP AL,39H JA ULET INC NUM JMP NEXT

ULET:CMP AL,41H JB OTHR CMP AL,5AH JA LLET INC LET JMP NEXT LLET:CMP AL,61H JB OTHR CMP AL,7AH JA OTHR INC LET JMP NEXT OTHR:INC OTH NEXT:INC SI

3

LOOP AGAIN MOV AH,4CH INT 21H CODE ENDS END START 实验结果:

实验4:DOS功能调用程序设计

1.实验目的:

熟练掌握条件/状态控制循环程序设计与调试方法 2.实验内容: 实验任务:

将字变量INTEGER中存放的16位二进制数(无符号数)转换成等值的十进制数,然后从显示器输出。 源程序清单:

DATA SEGMENT SHI DB 5 DUP(0) SHI_END = $ DOL DB '$'

INTEGER DW 2333 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX

MOV SI,OFFSET SHI_END DEC SI

MOV AX,INTEGER MOV CX,10

NEXT:CMP AX,10 JB CHANGE MOV DX,0 DIV CX

ADD DL,30H MOV [SI],DL DEC SI JMP NEXT

4

CHANGE:ADD AL,30H MOV [SI],AL MOV DX,SI MOV AH,9 INT 21H

MOV AH,4CH INT 21H CODE ENDS END START

实验结果:

将INTEGER DW 0FFFFH改为INTEGER DW 12345H,结果如下:

5

因篇幅问题不能全部显示,请点此查看更多更全内容