微机考试资料

  • 格式:doc
  • 大小:1.16 MB
  • 文档页数:73

程序题

下列程序段要求在 100 个带符号数中找出其中最大的一个数。设该数据区首址的偏移地址=2000H,最后要求将最大值存入偏移地址=2100H 的单元中,试填空完成该程序。

MOV BX, ________

MOV AX, [BX]

MOV CX, ________

LOP1: INC BX

CMP AL, [BX]

_____ LOP2

MOV AL,_______

LOP2: LOOP ______

MOV ______,AL

三、

MOV BX, 2000H

MOV AX, [BX]

MOV CX, 100

LOP1:INC BX

CMP AL, [BX]

JNG LOP2

MOV AL, [BX]

LOP2:LOOP LOP1

MOV [2100H],AL

阅读程序,并写出结果

1、 MOV AL, 05H

MOV BX, 1050H

XOR AX, AX

ADD AL, BL

执行结果; AX=_________, CF=_________。

2、 MOV BL, 15H

MOV AL, BL

MOV CL, 2

SAL AL,CL

ADD AL,BL

执行结果: AL=_________,CF=__________。

三、 阅读程序,并写出结果

1、AX=0050H CF=0

2、AL=69H CF=0

、分析下列指令和伪指令

1.已知下列四条等值语句。

S1 EQU 50H

S2 EQU 200H

S3 EQU 1000H

S4 EQU 2000H

下列指令哪些是错的?哪些是对的?

(1)ADD AL,S1+S2 ( )

(2)MOV BL,S4-S3 ( )

(3)SUB BX,S2-S1 ( )

(4)SUB AH,S4-S3-S3 ( )

(5)ADD AL,S1 ( )

2.指出下列标志位的含义

(1)CF

(2)OF

(3)AF

(4)ZF

(5)DF

3.指出下列伪指令的含义

(1)ASSUME

(2)=

(3)DB

(4)DW

(5)DD

四、

若STR是字符串的首地址,指出下列程序的功能。并加上注解。

LEA BX,STR

MOV CX,30

LP: CMP [BX],‘$’

JNZ NEXT

MOV [BX],‘&’

NEXT: INC BX

LOOP LP

HLT

三、 (1)错

(2)错

(3)对

(4)错

(5)对

2.

(1)进位标志。若运算结果的最高位产生一个进位或借位,则CF=1,否则CF=0。

(2)溢出标志。若在算术运算中带符号数的运算结果,当字节运算时大于+127或小于一128;字运算时大于十32767或小于一32768,则OF=1,否则OF=0。

(3)辅助进位标志。若在字节操作时,由低半字节向高半字节有进位或借位;或在字操作时,由低位字节向高位字节有进位或借位,则AF=1,否则AF=0。

(4)零标志。若运算结果为0,则ZF=1,否则ZF=0

(5)方向标志。若用指令置DF=1,则串操作指令就为自动减量指令,也就是从高地址向低地址处理串;若使DF=0,则串操作指令就为自动增量指令,也就是从低地址向高地址处理串。

3.

(1)指定段址。

(2)将“=”右侧表达式的值赋给左侧的符号名。在程序中允许重复定义。

(3)定义字节。

(4)定义字。

(5)定义双字。

四、

程序功能:将字符串STR(长度30字节)中所有’$’用’&’代替。

LEA BX,STR ;置地址指针

MOV CX,30 ;置计数器初值

LP: CMP [BX],’$’ ;取字符与’$’比较

JUZ NEXT ;不是’$’转NEXT

MOV [BX],’&’;是’$’则用’&’替换

NEXT: INC BX ;地址加1

LOOP LP ;CX一1为0继续

HLT

、分析下列指令和伪指令

1.指出下列指令源操作数的寻址方式

(1)MOV BX,100H

(2)MOV AX,DAT[BX][DI]

(3)MOVSE

(4)ADD AX,BX

(5)MOV BX,[100]

2.指出下列指令的错误

(1)MOV AH,BX

(2)ADD 15H,BX

(3)MOV CS,AX

(4)MOV AX,[SI][DI]

(5)MOV BYTE PTR[BX],1000

3.指出下列伪指令的含义

(1)ABC EQU 300

(2)C DB ‘HELLO’

(3)D DB (2+3)*4

(4)AA DW 25 DUP(?)

(5) ASSUME CS:CODE 四、若STR是字符串的首地址,指出下列程序的功能,并将语句加上注解。

LEA BX,STR

MOV CX,20

LP: CMP [BX],‘&’

JNZ NEXT

MOV [BX],‘$’

NEXT: INC BX

LOOP LP

HLT

、分析下列指令和伪指令

1.指出下列指令源操作数的寻址方式

(1)MOV BX,100H

(2)MOV AX,DAT[BX][DI]

(3)MOVSE

(4)ADD AX,BX

(5)MOV BX,[100]

2.指出下列指令的错误

(1)MOV AH,BX

(2)ADD 15H,BX

(3)MOV CS,AX

(4)MOV AX,[SI][DI]

(5)MOV BYTE PTR[BX],1000

3.指出下列伪指令的含义

(1)ABC EQU 300

(2)C DB ‘HELLO’

(3)D DB (2+3)*4

(4)AA DW 25 DUP(?)

(5) ASSUME CS:CODE

四、若STR是字符串的首地址,指出下列程序的功能,并将语句加上注解。

LEA BX,STR

MOV CX,20

LP: CMP [BX],‘&’

JNZ NEXT

MOV [BX],‘$’

NEXT: INC BX

LOOP LP

HLT

五、读程序填空 1. MOV BL,68H

MOV CL,0B7H

MOV AL,0

ADD CL,BL

JNO L1 MOV AL,0FFH

L1:HLT

上述程序段完成后

(AL)=_______,

(CL)=_______。

2. ORG 0010H

DA1 DB 3 DUP(0)

MOV AL,10H

LEA BX,DA1

MOV CX,3

LOP:MOV 〔BX〕,AL ADD AL,BL

INC BL

LOOP LOP

上述程序段执行后,以DA1为首地址的前两个字节存储单元中依次存放的内容为______,_______。

3. ORG 0200H

DA1 DW 1289H,7543H

MOV AX,DA1 MOV BX,OFFSET DA1

试问上述指令序列运行后,AX=_______,BX=_______。

4. XOR AL,AL

MOV AH,AL

ADD AH,9

JZ NEXT

XCHG AH,AL

JMP K1

NEXT:MOV AH,0FFH

K1:„

上述程序段执行后

(AH)=_______,(AL)=_______。

5.CODE SEGMENT

ASSUME CS:CODE

START:MOV CX,1

MOV BX,2

AGAIN:MOV AL,BL

INC BL

MUL BL

ADD CX,AX

CMP AX,002AH

JB AGAIN

MOV AH,4CH

INC 21H

CODE:ENDS

END START

试问(1)该程序完成的功能可用算术表达式表示为_______;

(2)程序完成后,(CX)=_______。

、读程序填空

1. 0 1FH

2. 10H 20H

3. 1289H 0200H

4. 0 9

5. CX←—1+2×3+3×4+4×5+5×6+6×7

(CX)=6FH 或111

(CS)=1000H,(DS)=2000H,(ES)=3000H,(SS)=4000H,(SP)=100H,(BX)=200H,(SI)=1,(20200H)=400H,(30200H)=1400H,(20202H)=0004,(20204H)=202H,(21400H)=1234H,(21405H)=5678H。

执行下列程序段(注意:不是单条指令),填空回答问题:

MOV BP,256 ;源字段的寻址方式是

;指令执行后(BP)= H

PUSH E5:[BX] ;源操作数物理地址= H

MOV DI,3[BX][SI] ;(DI)= H