微机原理与接口技术实验报告1- 汇编语言程序设计

西安交通大学实验报告

成绩

第 页 共 页

课 程 微机原理与接口技术实验

系 别 生 物 医 学 工 程 实 验 日 期 年 月 日 专业班级 组别 交 报告日期 年 月 日 姓 名 学号 报 告 退 发 (订正、重做) 同 组 者 教师审批签字

实验名称 汇编语言程序设计

一、实验目的

1. 掌握Lab6000p实验教学系统基本操作; 2. 掌握8088/8086汇编语言的基本语法结构; 3. 熟悉8088/8086汇编语言程序设计基本方法。

二、实验设备

1. Lab6000p实验教学系统; 2. IBM-PC机

三、实验内容

1. 有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,

BBH,7FH,0FH,D8H。编程并显示结果:

1) 如果数组是无符号数,求出最大值,并显示; 2) 如果数组是有符号数,求出最大值,并显示。

2. 将二进制数500H转换成二-十进制(BCD)码,并显示“500H的BCD

是:”

3. 将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD码7693的

ASCII是:”

4. 两个长度均为100的内存块,先将内存块1全部写上88H,再将内存块1

的内容移至内存块2。在移动的过程中,显示移动次数1, 2 ,3…0AH…64H

(16进制-ASCII码并显示子程序)

5. 键盘输入一个小写字母(a~z),转换成大写字母

显示:请输入一个小写字母(a~z): 转换后的大写字母是:

6. 实现4字节无符号数加法程序,并显示结果,如99223344H + 99223344H

= xxxxxxxxH

四、实验结果

1.有一个10字节的数组,其值分别是80H,03H,5AH,FFH,97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:

(1)如果数组是无符号数,求出最大值,并显示; (2)如果数组是有符号数,求出最大值,并显示。 程序:

(1)无符号数

#make_COM#

; COM file is loaded at CS:0100h ORG 100h JMP START

ABC DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H MAIN PROC FAR START: MOV SI,0

MOV AL,ABC[SI] A1: INC SI CMP SI,9 JNC EXIT

MOV BL,ABC[SI] CMP AL,BL JC A2 JMP A1 A2: XCHG BL,AL JMP A1

EXIT: MOV CL,16 DIV CL

MOV DX,AX MOV CL,9 CMP DL,CL JA E1

ADD DL,30H MOV AH,2 INT 21H E1: ADD DL,37H MOV AH,2 INT 21H

MOV DL,DH CMP DL,9 JA E2

ADD DL,30H MOV AH,2

INT 21H E2: ADD DL,37H MOV AH,2 INT 21H MOV DL,'H' MOV AH,2 INT 21H RET MAIN ENDP END START 结果:

(2)有符号数 #make_COM#

; COM file is loaded at CS:0100h ORG 100h JMP START

SHUZU DB 80H,03H,5AH,0FFH,97H,64H,0BBH,7FH,0FH,0D8H MAIN PROC FAR START: MOV SI,0

MOV AL,SHUZU[SI]

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4