人人范文网 范文大全

东北大学上机实验3

发布时间:2020-03-02 09:25:24 来源:范文大全 收藏本文 下载本文 手机版

实验三顺序结构程序设计实验

一、实验目的

1.掌握顺序结构程序的基本设计方法; 2.掌握数据传送指令和算术运算指令的用法; 3.掌握逻辑操作指令和移位操作指令的用法; 4.掌握状态标志位操作指令的用法; 5.掌握简单的I/O功能调用。

二、实验要求

1.熟练掌握DEBUG中的各命令的使用方法;

2.学会利用系统功能调用,来实现键盘输入字符、显示字符的方法;

3.学会十进制数字与其对应的ASCII码相互转换的方法; 4.学会十六进制数字与其对应的ASCII码相互转换的方法; 5.学会利用查表的方法实现代码的转换。

三、实验内容

1.编写十六进制数的乘法程序。要求从键盘上输入两个一位十六进制数据,乘积存入SUM单元。

2.编写程序,求表达式5X+Y的值,要求:X、Y值从键盘输入,X、Y均为一位十六进制数据,将计算结果存入SUM单元。

四、解题思路

利用INT 21H的1号功能可以从键盘上输入数据, 通过通用寄存器保存中间结果,完成各项计算功能。将结果的ASCII码保存在内存单元和DL寄存器中,然后利用INT 21H的2号功能将其输出到屏幕上。输出到屏幕上一次只能显示4位二进制数,所以一个字节需要分两次才能显示出来。

五、编程实现 5.1 内容1 DSEG

SEGMENT HTAB

DB

\'0123456789ABCDEF\' SUM

DW

0,0 DSEG

ENDS CSEG

SEGMENT

ASSUME CS:CSEG,DS:DSEG

START: MOV

MOV

MOV AX,DSEG

;初始化DS寄存器 DS,AX AH,01H

;从键盘上输入一个数X(默认放入AL)

INT

SUB

MOV

MOV

MOV

INT

MOV

INT

SUB

MUL

MOV

MOV

MOV

MOV

MOV

INT

MOV

SHR

MOV

LEA

XLAT

MOV

MOV

INT

AND

MOV

XLAT

MOV

MOV

INT

MOV

INT CSEG

ENDS

END

21H AL,30H

BL,AL

DL,\'*\'

AH,02H

21H AH,01H

21H AL,30H

BL

SUM,AX

CH,AL

DH,AL DL,\'=\'

AH,02H 21H CL,4 DH,CL

AL,DH

BX,HTAB

DL,AL

AH,02H 21H CH,0FH

AL,CH

DL,AL AH,02H 21H AH,4CH 21H START

;输入的数据ASIIC码翻译成十六进制 ;X放入到BL中

;规定要显示的符号必须在DL中 ;显示’*’

;从键盘输入第二个数Y(默认放入AL) ;输入的数据ASIIC码翻译成十六进制 ;AL*BL

保存数据到SUM中 ;利用CH和DH存放 ;规定要显示的符号必须在DL中 显示‘=’

;DH中保存了之前AL中的高四位 ;查表规定数据必须在AL中 ;利用查表方法显示 ;显示AL中的高四位

;CH中保存了之前AL中的低四位 ;查表规定数据必须在AL中 ;查表方法显示

; ;

运行结果如下如图3-1

图3-1 5.2 内容2 DSEG HTAB SUM DSEG SEGMENT DB DW ENDS \'0123456789ABCDEF\' 0,0 CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG START: MOV

MOV

MOV

INT

SUB

MOV

MUL

MOV

MOV

MOV

INT

MOV

LEA

XLAT

MOV

MOV

INT

MOV

MOV

INT

MOV

INT

SUB

AX,DSEG DS,AX AH,01H 21H AL,30H BL,5 BL CX,AX DL,\'*\'

;BL中保存数据5 ;X*5默认保存到AX中 ;X*5保存在CX中

;屏幕上显示\'*\'前规定需要保存到DL中 ;显示’*’

;利用查表法输出5,之前必须放入到AL中 ;查表获取地址 ;查表转换

;屏幕显示数据5之前规定需要放到DL中 ;显示5

;屏幕显示’+’之前规定需要放到DL中 ;屏幕显示’+’ ;从键盘上输入数据Y

;从键盘上输入X,默认保存到AL中

AH,02H 21H AL,05H BX,HTAB

DL,AL AH,02H 21H DL,\'+\'

AH,02H 21H AH,01H 21H AL,30H

MOV

MOV

ADC

MOV

MOV

MOV

INT

MOV

MOV

MOV

SHR

MOV

LEA

XLAT

MOV

MOV

INT

AND

MOV

XLAT

MOV

MOV

INT

MOV

INT CSEG

ENDS BL,AL BH,00H CX,BX SUM,CX DL,\'=\' AH,02H 21H BH,CL CH,CL CL,4 BH,CL

;右移4位,即为原来结果的高4位 ;放到AL中,便于查表转换后显示出来 ;查表

;显示结果的高4位 AL,BH BX,HTAB DL,AL

;Y保存到BL寄存器中 ;实现5X+Y ;保存结果

;屏幕显示‘=’之前规定需放入到DL寄存器中 ;显示’=’

;保存CL,因为下面指令SHR需用到CL寄存器 ;保存CL,因为下面指令SHR需用到CL寄存器

AH,02H 21H CH,0FH AL,CH

;原来结果低4位处理 ;查表转换 ;显示结果低4位 DL,AL AH,02H 21H AH,4CH 21H

END

START 运行结果如图3-2

图3-2

六、实验总结 6.1 心得体会

6.2 遇到的问题

实验过程中遇到的问题很多,我就挑典型的几个错误分享一下。 1.实验内容1中,INT 21H会改变AL中的值,所以AL中的数据要在该语句之前保存;

2.实验内容2中,我刚刚开始输入Y时忘记写SUB AL,30H,后来运行结果屏幕显示的结果总是比实际结果大3,这个错误找了很久,给我印象深刻。

上机实验作业3材料

上机实验要求

上机实验八

上机实验四

计算方法上机实验

数据库上机实验

实验(上机)内容教学大纲

会计上机实验心得

数据库系统上机实验题

第十次上机实验 实验报告

东北大学上机实验3
《东北大学上机实验3.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档