必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。
西安电子科技大学微机原理上机必做题目及汇编程序答案
1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。
编程要求与提示:
[1]两个加数均以压缩(组合)十进制数形式存放在ADD1和ADD2为首址的存贮器单元。[2]和以压缩十进制数的形式存入SUM以下单元。
[3]将和送到屏幕显示部分功能的实现采用子程序的形式。汇编语言实现如下:STACKSTACKDATAADD1ADD2SUMDATACODESTART:
MOVAX,DATAMOVDS,AXMOVAX,DATAMOVES,AXMOVAX,STACKMOVSS,AXLEASI,ADD1[3]LEABX,ADD2[3]LEADI,SUM[3]MOVCX,4CLC
L1:
MOVAL,[SI]ADCAL,[BX]DAA
MOV[DI],ALDECSIDECBXDECDILOOPL1
SEGMENTSTACKDB10HDUP(00)ENDSSEGMENT
DB12H,67H,85H,32HDB21H,73H,65H,43HDB4HDUP(?)ENDS
SEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACK