2015.11.8, 微机原理试题集题库(带答案) 联系客服

发布时间 : 星期一 文章2015.11.8, 微机原理试题集题库(带答案)更新完毕开始阅读bbc5d88703d276a20029bd64783e0912a2167cad

ADD DI, 2 ADD BX, 2 POPF

LOOP AA HLT

7.要求编写完整源程序实现:求1+2+3+····+100的和,并将累加和保存在AX中。(7分)

答:程序如下:

; ------堆栈段定义,本段定义可省略 S1 SEGMENT STACK

DB 100 DUP(0) S1 ENDS

; ---------程序段定义,不可省略 C1 SEGMENT

ASSUME: CS:C1, SS:S1

START: MOV CX, 64H ;即将100给CX

XOR AX,AX CLC

A1: ADC AX,CX

LOOP A1 MOV AH,4CH INT 21H C1 ENDS

END START

8. 以NUM为首址的存储区中存有若干个字型数,其长度存于NUM1字节单元。求

出数据中的最大值,存入NUM2字单元。

41

MOV SI, OFFSET NUM MOV CX, NUM1 AA2: MOV AX, [SI] AA3: INC SI

CMP AX, [SI] JC AA2 LOOP AA2 HLT

9.设AX寄存器中有一个16位二进制数,编一程序,统计AX中“1”的个数,统计结果送CX中

解答: START :MOV CX ,0 LOOP: SUB AX,0 JZ STP SAL AX,1 JNC NOD INC CX NOD:JMP LOOP STP:HLT

10.编一程序段,完成符号函数(-128≤x≤127):

1 (x.>0)

y= 0 (x=0) -1 (x<0)

假设x的值存放在DATAl中,y的值存放在DATA2中。 解答: START :MOV AL ,DATA1 AND AL,AL JGE BIGR MOV AL,0FFH MOV DATA2.AL HLT BIGR:JE EQUL MOV AL,1 MOV DATA2,AL

42

HLT

EQUL:MOV DATA2,AL HLT

9-1.编一程序段,实现下列功能

?1?Y??0?10?

MOV AX, X CMP AX, 0 JGE AA1 MOV BL, 0AH JMP AA3 AA1: JZ AA2 MOV AL, 01H JMP AA3 AA2: MOV AL, 0H AA3: MOV Y, AL HLT

x?0x?0 x?0

11.假设在数据段X_SEG、附加段Y_SEG和堆栈段Z_SEG中分别定义了字变量X,Y和Z。试编制一完整的程序计算

X?X+Y+Z 答: X-SEG SEGMENT

43

X DW ? X-SEG ENDS Z-SEG SEGMENT Z DW ? Z-SEG EMDS Y-SEG SEGMENT Y DW ? Y-SEG ENDS CODE SEGMENT MAIN PROC FAR

ASSUME ES:Y-SEG,CS:CODE,DS:X-SEG,SS:Z-SEG START PUSH DS SUB AX AX PUSH AX

MOV AX ,Y_SEG MOV ES ,AX MOV AX,Z_SEG MOV SS,AX MOV AX,X_SEG MOV DS,AX MOV AX,DS:X MOV BX,ES:Y ADD AX BX JO OVERFLOW MOV BX ,SS:Z ADD AX,BX JO OVERFLOW MOV DS:X,AX OVERFLOW :RET MAIN ENDP CODE ENDS END START

12.读下面程序段,请问:在什么情况下,本段程序的执行结果是AH=0? BEGIN: IN AL,5FH TEST AL,80H JZ BRCHl MOV AH,0 JMP STOP BRCHl: MOV AH,0FFH

44