西安电子科技大学微机原理上机要求及必做题目答案(汇编实现)

更新时间:2023-07-18 11:37:01 阅读量: 实用文档 文档下载

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

必做题目: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

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

CALLDISPAL

;-------------------------------------EXITPROC:

MOVAH,4CH;结束程序MOVAH,1INT21H

;-------------------------------------DISPALPROCNEAR

PUSHAXPUSHBXPUSHCXPUSHDXPUSHDILEADI,SUMMOVCX,4

DISPAL2:

MOVAL,[DI]SHRAL,1SHRAL,1SHRAL,1SHRAL,1MOVAH,2MOVDL,ALADDDL,30HINT21H

MOVAL,[DI]ANDAL,0FHMOVAH,2MOVDL,ALADDDL,30HINT21HINCDI

LOOPDISPAL2POPDIPOPDXPOPCXPOPBXPOPAXRET

DISPALENDPCODEENDSENDSTART2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

编程要求及提示:

[1]参加排序的数据及个数由学生自己定义。

[2]要将排序前的数组和排序后的数组在屏幕上显示出来。汇编语言实现如下:

N=20

STACKSEGMENTSTACK'STACK'

DW100HDUP(00)

TOPLABELWORDSTACKENDSDATASEGMENTDATABUFDWN

DBNDUP(?)

ORIGINALDB13,10,13,10,'THEORIGINALDATA:$'ORDEREDDB13,10,13,10,'THEORDEREDDATA:$'DATAENDSCODESEGMENT

ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACK

START:

MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXLEASP,TOP

;随机数据

MOVCX,DATABUFLEASI,DATABUF+2MOVBL,18MOVAL,13

L:

MOV[SI],ALINCSI

ADDAL,BLLOOPL

LEADX,ORIGINALMOVAH,9INT21HCALLDISPAL

;下面给数据排序程序

MOVCX,DATABUFDECCX

LEASI,DATABUF+2

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

ADDSI,CX

L1:

PUSHCXPUSHSI

L2:

;SI指向数据区末地址

MOVAL,[SI]CMPAL,[SI-1]JBENOXCHGXCHGAL,[SI-1]MOV[SI],AL

NOXCHG:

DECSILOOPL2POPSIPOPCXLOOPL1

LEADX,ORDEREDMOVAH,9INT21HCALLDISPAL

EXITPROC:

MOVAH,4CH;结束程序MOVAH,1INT21H

DISPALPROCNEAR

PUSHAXPUSHBXPUSHCXPUSHDXPUSHDI

LEADI,DATABUF+2MOVCX,20

DISPAL2:

MOVAL,[DI]SHRAL,1SHRAL,1SHRAL,1SHRAL,1

CALLCHANG;----------------------------------MOVAH,2MOVDL,ALINT21H

MOVAL,[DI]ANDAL,0FH

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

CALLCHANGMOVAH,2MOVDL,ALINT21HMOVAH,2MOVDL,20HINT21HINCDI

LOOPDISPAL2POPDIPOPDXPOPCXPOPBXPOPAXRET

DISPALENDPCHANGPROCNEAR

CMPAL,10JNGECHANG1ADDAL,7

CHANG1:

ADDAL,30HRET

CHANGENDPCODEENDSENDSTART

;-------------------------------------

;为了让结果看得清楚,让显示的数用空格空开

PS:这是当时学微机原理时编的,希望对西电的同学们有所帮助。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

三.具体操作步骤举例

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

三.具体操作步骤举例

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

必做题目:1、编写求十进制数12678532与21736543之和的程序,并将和以十进制数的形式送屏幕显示。2、有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

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

Top