文档库 最新最全的文档下载
当前位置:文档库 › 南华大学微机原理汇编实验5 键盘上输入两个数求和

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

微机原理实验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

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

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

CSEG ENDS END MAIN

相关文档