北京理工大学微机原理总汇编语言上机实验题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一

请在数据段中定义两个数,要求编写程序分别计算出这两个数的和、差、积、商,并用Debug 的相关命令查询计算结果。

(略)

实验二

内存自TABLE开始的连续16个单元中存放着0-15的平方值,查表求DATA中任意数X(0≤X ≤15)的平方值,并将结果放在RESULT中。

DATA1 SEGMENT

TABLE DB 0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225

DATA DB 10

RESULT DB ?

DATA1 ENDS

STAC SEGMENT

DB 100 DUP (?)

STAC ENDS

CODE SEGMENT

ASSUME DS:DATA1,SS:STAC,CS:CODE

SR:MOV AX,DATA1

MOV DS,AX

MOV AX,STAC

MOV SS,AX

LEA BX,TABLE

MOV AH,0

MOV AL,DATA

XLAT

MOV RESULT,AL

MOV AH,4CH

INT 21H

CODE ENDS

END SR

实验三

试编写一程序:比较两个字符串STRING1 和STRING2所含的字符是否相同。若相同则显示‘MATCH’,否则显示‘NO MATCH’。

DATA1 SEGMENT

STRING1 DB 10,?,10 DUP (?)

STRING2 DB 10,?,10 DUP (?)

REM1 DB 'PLEASE INPUT STR1: $'

REM2 DB 'PLEASE INPUT STR2: $'

MESS1 DB 'MATCH$'

MESS2 DB 'NO MATCH$'

DATA1 ENDS

CODE1 SEGMENT

ASSUME CS:CODE1,DS:DATA1

STT: MOV AX,DATA1

MOV DS,AX

MOV ES,AX LEA DX,REM1 MOV AH,09H INT 21H

LEA DX, STRING1 MOV AH, 0AH INT 21H

MOV DL, 0DH MOV AH, 6

INT 21H

MOV DL, 0AH MOV AH, 6

INT 21H

LEA DX,REM2 MOV AH,09H INT 21H

LEA DX, STRING2 MOV AH, 0AH INT 21H

MOV DL,0DH MOV AH,6

INT 21H

MOV DL,0AH

MOV AH,6

INT 21H

LEA SI, STRING1

LEA DI,STRING2

MOV CL,[SI+1]

MOV BL,[DI+1]

CMP CL,BL

JNE NOM

CLD

MOV CH,0

ADD CL,2

REPZ CMPSB

JNZ NOM MAT: LEA DX,MESS1

JMP SHORT DISP1 NOM: LEA DX,MESS2

DISP1: MOV AH,09H

INT 21H

MOV AH,4CH

INT 21H

CODE1 ENDS

END STT

实验四

设有10个学生的成绩分别为:56,69,84,82,73,88,99,63,100,80分。试编写程序分别统计低于60分、60-69分、70-79分、80-89分、90-99分及100分的人数,并将各分数段的人数在屏幕上显示出来。

DATA SEGMENT

SCORE DB 56,69,84,82,73,88,99,63,100,80

NUM_UNDER60 DB 0

NUM_60TO69 DB 0

NUM_70TO79 DB 0

NUM_80TO89 DB 0

NUM_90TO99 DB 0

NUM_100 DB 0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

XOR AX,AX

MOV CX,10

LEA BX,SCORE

COMPARE:

CMP BYTE PTR [BX],60 JL UNDER60

JMP IS60TO69

IS60TO69:

CMP BYTE PTR [BX],70 JL _60TO69

JMP IS70TO79

IS70TO79:

CMP BYTE PTR [BX],80 JL _70TO79

JMP IS80TO89

IS80TO89:

CMP BYTE PTR [BX],90 JL _80TO89

JMP IS90TO99

IS90TO99:

CMP BYTE PTR [BX],100 JL _90TO99

JZ EQUAL100

UNDER60:

ADD NUM_UNDER60,1 JMP CON

_60TO69:

ADD NUM_60TO69,1 JMP CON

_70TO79:

ADD NUM_70TO79,1 JMP CON

_80TO89:

ADD NUM_80TO89,1 JMP CON

_90TO99:

ADD NUM_90TO99,1 JMP CON

EQUAL100:

ADD NUM_100,1 CON:

相关文档
最新文档