北京理工大学微机原理汇编语言上机实验题.docx
文本预览下载声明
实验一
请在数据段中定义两个数,要求编写程序分别计算出这两个数的和、差、积、商,并用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
显示全部