微机原理复习题 下载本文

5D14H,OF=0,SF=0,ZF=0,AF=0,PF=1,CF=1。

编程题

1、编写一个程序,统计AX中“1”的个数,并将结果送入CX中

MOV CX,0

AGAIN: AND AX,AX JZ EXIT SHL AX,1 JNC AGAIN INC CX JMP AGAIN EXIT: HLT

2、在内存的数据段中存放了若干个8位带符号数,数据块长度为COUNT(不超过255),首地址为TABLE,试统计其中正数,负数及零的个数,并分别将结果存入PLUS,MINUS和ZERO单元。 DATA SEGMENT

TABLE DB -10,-9,73?38 PLUS DB ? MINUS DB ? ZERO DB ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE DS:DATA

START: MOV AX,DATA MOV DS,AX LEA SI,TABLE MOV AL,0 MOV PLUS,AL MOV MOV MOV CHECK: MOV INC OR JS JZ INC JMP X1: INC JMP X2: INC NEXT: LOOP HLT

MOV INT MINUS,AL ZERO,AL CX,COUNT AL,[SI] SI AL,AL X1 X2

BYTE PTR PLUS NEXT

BYTE PTR MINUS NEXT ZERO CHECK AH,4CH

21H

CODE ENDS ENDS START

3、设内存中有三个互不相等的无符号字数据7138H,84A6H,29EH,连续存放在ARG开始的字单元,编制程序将其中最大值存入MAX中 DATA SEGMENT

ARG DW 7138H,84A6H,29EH MAX DW 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE DS:DATA

START: MOV AX,DATA MOV DS,AX LEA SI,ARG MOV AX,[SI] MOV BX,[SI+2] CMP AX,BX JAE MAX1 MOV AX,BX MAX1: CMP AX,[SI+4] JAE MAX2 MOV AX,[SI+4]

MAX2: MOV MAX,AX MOV AH,4CH INT 21H CODE ENDS

ENDS START

4、给定以下符号函数:任意给定x值,假定为-25,且存放在X单元,函数值y存放在Y单元,则根据x的值确定函数y的值。 1 (x>0) y= 0 (x=0) -1 (x<0) DATA SEGMENT

X DB -25 Y DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,X CMP AL,0 JGE G1

MOV AL,-1 JMP STORE

G1: JZ Z1 MOV AL,1 JMP STORE Z1: MOV AL,0 STORE: MOV Y,AL MOV AH,4CH INT 21H CODE ENDS END START

5、编写程序段,已知BUT单元有一字节无符号数x,假设为9,试根据下列函数关系编写程序求Y值(仍为单字节),并将结果存入RESULT单元。

x-5 (x>=10) y= 5x (x<10) DATA SEGMENT BUF DB 9 RESULT DB ? DATA ENDS