当前位置:文档之家› 汇编语言程序设计——顺序结构

汇编语言程序设计——顺序结构

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

SSEG SEGMENT STACK
STK DB 20 DUP(0)
SSEG ENDS
DSEG SEGMENT
SUM DB ?
HTAB DB '0123456789ABCDEF'
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
ASSUME ES:DSEG,SS:SSEG
START: MOV AX,DSEG
MOV DS,AX
MOV ES,AX
MOV AX,SSEG
MOV SS,AX
MOV SP,LENGTH STK
MOV AH,01H
INT 21H
SUB AL,30H
MOV CH,AL
MOV DL,'*'
MOV AH,02H
INT 21H
MOV AH,01H
INT 21H
SUB AL,30H
MUL CH
MOV SUM,AL
MOV CH,AL
MOV DL,'='
MOV AH,02H
INT 21H
MOV AL,CH
MOV CL,4
SHR AL,CL
LEA BX,HTAB
XLAT
MOV DL,AL
MOV AH,02H
INT 21H
AND CH,0FH
MOV AL,CH
XLAT
MOV DL,AL
MOV AH,02H
INT 21H
MOV DL,'H'
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END START

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

SSEG SEGMENT STACK
STK DB 20 DUP(0)
SSEG ENDS
DSEG SEGMENT
SUM DB ?
HTAB DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H
DB 41H,42H,43H,44H,45H,46H
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
ASSUME SS:SSEG
START: MOV AX,DSEG
MOV DS,AX
MOV AX,SSEG
MOV SS,AX
MOV SP,LENGTH STK
MOV DL,'5'
MOV AH,02H
INT 21H
MOV DL,'*'
MOV AH,02H
INT 21H
MOV AH,01H
INT 21H
MOV BL,05
MUL BL
MOV CH,AL
MOV DL,'+'
MOV AH,02H
INT 21H
MOV AH,01H
INT 21H
ADD CH,AL
MOV SUM,CH
MOV DL,'='
MOV AH,02H
INT 21H
SUB CH,20H
MOV AL,CH
MOV CL,4
SHR AL,CL
LEA BX,HTAB
XLAT
MOV DL,AL
MOV AH,02H
INT 21H
MOV AL,CH
AND AL,0FH
LEA BX,HTAB
XLAT
MOV DL,AL
MOV AH,02H
INT 21H
MOV DL,'H'
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CSEG ENDS
END START
3.编写程序,求表达式Y=AX^2+BX+C的值,已知A,B,C的值分别存放在DATAA,DATAB和DATAC字节单元中,X的值存放在DATAX字节单元中,计算结果存入DATAY字节单元。要求在DEBUG下多次修改X的值,观察计算结果。
SSEG SEGMENT STACK
STK DB 20 DUP(0) :不确定对错
SSEG ENDS
DSEG SEGMENT
DATAA DB 31H
DATAB DB 32H
DATAC DB 33H
DATAX DB ?
DATAY DB ?
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
ASSUME SS:SSEG
START: MOV AX,DSEG
MOV DS,AX
MOV AX,SSEG
MOV SS,AX
MOV SP,LENGTH STK
MOV BL,DATAA
MOV BH,00H
MOV AH,01H :输入第一个数
INT 21H
SUB AL,30H
MOV DATAX,AL
MUL AL
MUL BX
ADD BL,AL
MOV SUM,BL :结果存入SUM单元
MOV AH,4CH
MOV AL,0
INT 21H
CSEG ENDS
END START

4.从键盘上输入0-9之间的任意一个数字,利用查表的方法,计算其平方值,并将结果以十进制形式在屏幕上显示出来。

SSEG SEGMENT STACK
STK DB 20 DUP(0)
SSEG ENDS
DSEG SEGMENT
HEX DW ?
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
AS

SUME SS:SSEG
START: MOV AX,DSEG
MOV DS,AX
MOV AX,SSEG
MOV SS,AX
MOV SP,LENGTH STK
MOV AH,01H :输入第一个数
INT 21H
SUB AL,30H
MUL AL
MOV DL,AX
MOV AH,02H
INT 21H
CSEG ENDS
END START

5.利用查表的方法,计算X^2+y^2的值(0<=X,0<=Y<=15),X、Y分别存放在DAX和DAY单元中,计算结果存入SUM单元。



相关主题
文本预览
相关文档 最新文档