微机原理实验编程题(完整)
汇编语言实验指导/报告 汇编语言实验指导/报告 明PAGE \* MERGEFORMAT- 6 \* MERGEFORMAT- 7 -1)(正确)比较两个无符号数的大小(量个数放在内存S3的连续两个单元中),将大数存入MAX单元中。DATAS SEGMENT BUF DB 1,2 CNT EQU $-BUF DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX MOV CX,CNT-1 LEA BX,BUF MOV AL,[BX]L2: INC BX CMP AL,[BX] JAE L1 MOV AL,[BX]L1:LOOP L2 ADD AL,30H MOV DL,AL MOV AH,2 INT 21H MOV AH,4CH INT 21HCODES ENDS END STAR2)(正确)试编一程序,求三个带符号数据中的最大值,并将最大值存入MAX单元中,设三个带符号数分别在三个变量X,Y,Z中存储。DATAS SEGMENT X DB 5 Y DB -2 Z DB 0 MAX DB ? DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX MOV AL,X MOV BL,Y CMP AL,BL JG L1 MOV AL,BLL1:MOV BL,ZCMP AL,BLL2: MOV MAX,AL MOV AH,4CH INT 21HCODES ENDS END START3)(正确)根据MODE单元中编号0-7分别转向L0-L7标号处,执行L0-L7处分别完成显示‘0-7’字符,即当MODE=0时,转向L0标号,完成显示‘0’,当MODE=7时,转向L7标号,完成显示‘7’。DATAS SEGMENT MODE DB 0DATAS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATASSTART: MOV AX,DATAS MOV DS,AX MOV AL,MODE CMP AL,0JZ L0CMP AL,1JZ L1CMP AL,2JZ L2CMP AL,3JZ L3 CMP AL,4JZ L4CMP AL,5JZ L5CMP AL,6JZ L6MOV DL,'7'MOV AH,02HINT 21HJMP L8L0:MOV DL,'0'MOV AH,02HINT 21HJMP L8L1:MOV DL,'1'MOV AH,02HINT 21HJMP L8L2:MOV DL,'2'MOV AH,02HINT 21HJMP L8L3:MOV DL,'3'MOV AH,02HINT 21HJMP L8L4:MOV DL,'4'MOV AH,02HINT 21HJMP L8L5:MOV DL,'5'MOV AH,02HINT 21HJMP L8L6:MOV DL,'6'MOV AH,02HINT 21HJMP L8L8:MOV AH,4CHINT 21HCODES ENDSEND START4)(正确)根据输入值(0-4)的不同,执行不同的操作,用转移标法编写程序。CODE SEGMENTASSUME CS:CODESTART:LEA BX, TABMOV AH,1INT 21HSUB AL,30HMOV AH,0 ADD AX,AXADD BX,BXJMP BXTAB:JMP SHORT MODE0JMP SHORT MODE1 JMP SHORT MODE2JMP SHORT MODE3JMP SHORT MODE4MODE0:MOV DL,30HJMP EXITMODE1:MOV DL,31HJMP EXITMODE2:MOV DL,32HJMP EXITMODE3:MOV DL,33HJMP EXITMODE4:MOV DL,34HEXIT:MOV AH,2INT 21HMOV AH,4CHINT 21HCODE ENDSEND START 5. (正确)统计数据块中正数和负数个数(设有7个数,分别为-32,25,