程序设计仿真练题-答案.docVIP

  • 180
  • 0
  • 约1万字
  • 约 9页
  • 2017-03-06 发布于广东
  • 举报
程序设计仿真练题-答案

8086程序设计仿真练习题 数组STRAING中存放着多个8位有符号数,以“$”结束,要求分成正数组和负数组分别存放,并统计两个数组的个数,分别存于正、负数组的第一个字节。 DATA SEGMENT STARING DB 25H,0BDH,02H,80H, 7FH,94H,65H,0A5H,$ DA2 DB 20 DUP 0 ;正数 DA3 DB 20 DUP 0 ;负数 DA4 DB 8 DATA ENDS CODE SEGMENT ASSUME CS:CODE DS:DATA START:MOV AX,DATA MOV DS,AX LEA BX,STARING LEA SI,DA2 LEA DI,DA3 MOV CX,0 MOV CL,DA4 LOP1: CMP [BX],80H JB LOP2 INC [DA3] MOV AL,[BX] INC DI MOV [DI],AL JMP LOP3 LOP2: INC [DA2] MOV AL,[BX] INC SI MOV [SI],AL LOP3: INC BX LOOP LOP1 CODE ENDS END START 将数据块DAT1中的20个单字节数,复制到DAT2中,并从中检索与2EH相同的数,将此单元的数换成空格符。如有多个与2EH相同的数,要求统计出个数,存在寄存器DL中。 DATA SEGMENT DAT1 DB 25H,0BDH,02H,80H,7FH,94H,65H,0A5H,00H,31H DB 2EH,33H,2EH,76H,78H,98H,23H,7AH,98H,38H DAT2 DB 20 DUP 0 DAT3 DB 20 DATA ENDS CODE SEGMENT ASSUME CS:CODE DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,DAT1 LEA DI,DAT2 MOV DX,0 MOV CX,0 MOV CL,DAT3 LOP1: MOV AL,[SI] MOV [DI],AL CMP [DI],2EH JZ LOP2 JMP LOP3 LOP2: MOV [DI],0 INC DL LOP3: INC SI INC DI LOOP LOP1 CODE ENDS END START 将变量VAR1中的16位二进制数取反,并统计原数中1的个数,将个数存在变量VAR2中。 DATA SEGMENT VAR1 DW 3425H VAR2 DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE DS:DATA START:MOV AX,DATA MOV DS,AX MOV AX,VAR1 LEA BX,VAR2 MOV CX,0 MOV DX,0 MOV CL,16 CLC LOP1: ROL AX,1 JNC LOP2 INC DL LOP2: LOOP LOP1 NOT AX MOV VAR1,AX MOV [BX],DL CODE ENDS END START 找出数据块DAT1中的15个8位有符号数中,最大的偶数和最小的奇数,分别存在变量MAX和MIN中。 DATA SEGMENT DAT1 DB 81H,8DH,78H,2AH,27H,034H,80H,90H,24H DB 43H,7FH,7EH,23H,76H,54H DAT2 EQU 15 MAX DB 0 MIN DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,DAT1 MOV CX,0 MOV AX,0 MOV CL,DAT2 LOP1: MOV AL,[SI] AND AL,01H JZ OUSHU LEA DI,MIN MOV DL,[DI] MOV AL,[SI] CMP AL,DL JG LOP2 MOV [DI],AL JMP LOP2 OUSHU:LEA DI,MAX MOV DL,[DI] MOV AL,[SI] CMP AL,DL JL LOP2 MOV [DI],AL LOP2: INC SI LOOP LOP1 CODE ENDS END START 将变量VAR1中的16位二进制数,变成4个ASCⅡ码,存在VAR2开始的4内存单元中。 DATA SEGMENT VAR1 DW 23E5H VAR2 DB 4 DUP 0 NUM EQU 4 DATA ENDS CODE SEGMENT ASSUME CS:COD

文档评论(0)

1亿VIP精品文档

相关文档