南华大学微机原理汇编实验5 键盘上输入两个数求和

更新时间:2023-09-06 06:10:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

从键盘上输入两个数(数的大小在±9之间),然后在屏幕上显示两数之和(结果在±18之间)。完成创建源程序文件,汇编,连接,运行,实验结果显示。

微机原理实验5 一位带符号数加法的汇编语言程序设计

班级 学号 姓名 实验时间: 年 月 日 实验成绩:

1.实验目的

从键盘上输入两个数(数的大小在±9之间),然后在屏幕上显示两数之和(结果在±18之间)。完成创建源程序文件,汇编,连接,运行,实验结果显示。

2.实验原理

3.实验仪器设备

4.实验过程

5.实验结果

DSEG SEGMENT

s1 db ' please input the first number ','$'

s2 db 10,13, ' please input the second number ','$'

s3 db 10, 13, ' the sum is ','$'

s4 db 10, 13, ' there are input errors!!!!! ','$'

d1 db ?

d2 db ?

d3 db ' ','$'

DSEG ENDS

CSEG SEGMENT

assume cs:CSEG, ds:DSEG

MAIN PROC FAR

mov ax, dseg

mov ds, ax

mov bl,0

mov cl,0

mov ah,9h

从键盘上输入两个数(数的大小在±9之间),然后在屏幕上显示两数之和(结果在±18之间)。完成创建源程序文件,汇编,连接,运行,实验结果显示。

lea dx,s1

int 21h ;显示字符串1 mov ah,1

int 21h

cmp al,2dh

jnz m1

mov bl,1

mov ah,1

int 21h

m1: mov [d1],al ;读入第一个数

mov ah,9h

lea dx,s2

int 21h ;显示字符串2

mov ah,1

int 21h

cmp al,2dh

jnz m2

mov cl,1

mov ah,1

int 21h

m2: mov [d2],al ;读入第二个数

call subp

mov al,[d1]

call subp

cmp cl,bl

jnz btfh

mov al,[d2]

add al,[d1]

sub al,30h

cmp al,39h

jna mm

add al ,6

mov [d3+1],31h

sub al,10h

mm: mov [d3+2],al

cmp bl,1

jz fh

jmp zhh

从键盘上输入两个数(数的大小在±9之间),然后在屏幕上显示两数之和(结果在±18之间)。完成创建源程序文件,汇编,连接,运行,实验结果显示。

btfh: mov al,[d1]

cmp al,[d2]

jna mk

sub al,[d2]

add al,30h

mov [d3+1],al cmp bl,1

jz fh

jmp zhh

mk: mov al,[d2] sub al,[d1] add al,30h mov [d3+1],al cmp cl,1 jz fh

jmp zhh

fh:mov [d3],2dh zhh: mov ah,9h

lea dx,s3

int 21h ;显示字符串3

mov ah,9h

lea dx,d3 int 21h

mov ah,1 ;以下退出 int 21h

mov ax,4c00h

int 21h

MAIN ENDP

subp proc

cmp al,30h

jb k1

cmp al,39h

ja k1

jmp m9

k1: mov ah,9h

lea dx,s4 int 21h

m9: ret

subp endp

从键盘上输入两个数(数的大小在±9之间),然后在屏幕上显示两数之和(结果在±18之间)。完成创建源程序文件,汇编,连接,运行,实验结果显示。

CSEG ENDS END MAIN

本文来源:https://www.bwwdw.com/article/wcyh.html

Top