精品文档
HLT
(1)2000H:2A00H= 09H 。 (2)2000H:2A11H= 0EH 。 (3)2000H:2A12H= 0DH 。
3.下面程序是将10个8位无符号数按递减次序排序,请将程序填写完整。
DATA SEGMENT
ARRAY DB 05H,78H,FFH,7BH,00H DB 8CH,20H,A0H,F0H,60H DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA MAIN PROC FAR START:PUSH DS XOR AX,AX PUSH AX
MOV AX,DATA MOV DS,AX
AB1: MOV SI,OFFSET ARRAY MOV BL,0 MOV CX,10
DEC CX AGAIN:MOV AL,[SI] INC SI
CMP AL,[SI]
JNC CD1 MOV AH,[SI] MOV [SI],AL DEC SI
MOV [SI],AH INC SI MOV BX,1 CD1:LOOP AGAIN DEC BL
JZ AB1 RET MAIN ENDP CODE ENDS
END START 4.从BUF开始的11个单元中存放着11个整数,找出这11个数中正数并且是偶数的个数存入R中。
DATA SEGMENT
BUF DB –2,5,-3,6,100,0,-20,-9,8,-110,21 N= ① R DW ? DATA ENDS
。
36欢迎下载
精品文档
CODE SEGMENT
② BEGIN:MOV AX,DATA
③ LEA BX,BUF MOV CX,N
④ LOPA: CMP [BX],BYTE PTR 0 ⑤
TEST [BX],BYTE PTR 1 ⑥ INC AX NEXT : INC BX DEC CX
⑦ MOV R,AX
MOV AH,4CH INT 21H CODE ENDS
END ⑧
解:① $-BUF
② ASSUME CS:CODE,DS:DATA ③ MOV DS,AX ④ MOV AX,0 ⑤ JLE NEXT ⑥ JNZ NEXT ⑦ JNZ LOPA ⑧ BEGIN
C 类:
1.有一程序如下: MOV CX,0005 MOV DI,3000H
NEXT: MOV BL,0FFH MOV AL,BYTE PTR[DI] CMP AL,3AH JNB NEXT1 SUB AL,30H JB NEXT1 MOV BL,AL
NEXT1:MOV AL,BL MOV BYTE PTR[DI+0AH],AL INC DI LOOP NEXT HLT
37欢迎下载。
精品文档
已知数据段3000H单元开始内容为40H,30H,35H,59H,12H,放置的是字符的ASCII码
问:(1)程序执行完毕结果放置在何处? (2)内容是什么?
(3)用何DEBUG命令检查结果?
2.下面是多字节加法程序,第一个数是8A0BH,第二个数是D705H。请填写出正确结果。 DATA SEGMENT
FIRST DB , ,0H SECOND DB , DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX
MOV CX, MOV SI,0
NEXT: MOV AL,SECOND[SI] ADC FIRST[SI],AL INC SI LOOP NEXT MOV AL,0
ADC AL, MOV FIRST[SI],AL MOV AH,4CH INT 21H CODE ENDS END START
3. CLC
MOV AX,248BH MOV CL,3 RCL AX,CL
执行以上程序序列后, AX=____________________。 4.设TABLE DW 3467H,7367H,0A566H,665DH,767FH ENTRY DW 3
若执行下列指令:MOV BX,OFFSET TABLE ADD BX,ENTRY MOV AX,[BX]
结果,AX=___________(用十六进制表示) 5.
(A) (B)
MOV CX,77H MOV CX,77H MOV BX,88H MOV BX,88H NEXT: MOV AX,4500H NEXT: MOV AX,4500H DEC BX DEC BX
LOOP NEXT LOOPNZ NEXT 问程序段A,B执行中各循环多少次?
程序段 A循环_______________次,程序段B循环___________次。
。
38欢迎下载
精品文档
6.已知程序段如下:
MOV AX,1234H MOV CL,4 ROL AX,CL DEC AX MOV CX,4 MUL CX INT 20H
试问:(1)每条指令执行后,AX寄存器的内容是什么?(2)每条指令执行后,CF,SF
及ZF的值分别是什么?(3)程序运行结束时,AX及DX寄存器的值为多少? 7.阅读下列程序,并回答问题 NAME EAM4-2 DATA SEGMENT A DB 4H B DB 52H
C DB 2 DUP(?) DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,A ADD AL,B DAA
MOV C,AL LAHF
AND AH,01H MOV C+1,AH MOV AH,4CH INT 21H CODE ENDS
END START
问程序运行后:C DB , (注:请填上数据) 8.有一程序如下: MOV CX,0005 MOV DI,3000H
NEXT: MOV BL,0FFH MOV AL,BYTE PTR[DI] CMP AL,3AH JNB NEXT1 SUB AL,30H JB NEXT1 MOV BL,AL
NEXT1:MOV AL,BL MOV BYTE PTR[DI+0AH],AL INC DI LOOP NEXT HLT
已知数据段3000H单元开始内容为40H,30H,35H,59H,12H,放置的是字符的ASCII码(10分)
问:(1)程序执行完毕结果放置在何处? (2)内容是什么?
。
39欢迎下载
精品文档
(3)用何DEBUG命令检查结果?
9.下面是多字节加法程序,第一个数是8A0BH,第二个数是D705H。请填写出正确结果。 DATA SEGMENT
FIRST DB , ,0H SECOND DB , DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX
MOV CX, MOV SI,0
NEXT: MOV AL,SECOND[SI] ADC FIRST[SI],AL INC SI LOOP NEXT MOV AL,0
ADC AL, MOV FIRST[SI],AL MOV AH,4CH INT 21H CODE ENDS END START
10.已知8253端口地址为80H、82H、84H、86H,初始化程序如下,说明程序的含义。 MOV AL,67H OUT 86H,AL MOV AL,80H OUT 82H,AL
该程序含义是 11. MOV AX,9090H SUB AX,4AE0H JC L1 JO L2 JMP L3
上述程序执行后AX= ,程序转向 12.假设寄存器AX=1234H,DX=0A000H MOV BX,0 MOV CX,BX SUB CX,AX SBB BX,DX MOV AX,CX MOV DX,BX
上述程序段执行后AX= ,DX=
程序功能是
。
40欢迎下载