MOV CX,10 JC END0
MOV SUM,AX DON:INC BX MEXT: (1) (3)
ADC AH,0 ENDO:HLT
JNC DON 答: (1) ADD AL, [BX] (2) MOV AX, SUM (3) LOOP NEXT
37.阅读下面程序段并填空:
LEA SI,STR MOV AL,ODH XOR CX,CX
GOON:CMP AL,[SI] JZ NEXT INC CX INC SI JMP GOON
NEXT:MOV COUNT,CX
字节变量STR中存放着一个字符串?abcdefGHIJK?
,执行以上指令后字变量COUNT= 11 的功能是 求字符串长度
38.下列程序片段用来分别统计 ARRAY 数组中奇数和偶数的个数。请在空白处填写合适的指 令。
DATA SEGMENT
ARRAY DW 23ABH,1570H,567,1765H,46,5210H COUNT EQU ($-ARRAY)/2 DA1 DB ? DA2 DB ? DATA ENDS
……
LEA SI,ARRAY MOV CX,COUNT
LOP1:MOV AX,[SI]
TEST AX,0001H JZ LOP2 INC BL JMP LOP3
LOP2:INC BH LOP3: ADD SI,2
DEC CX JNZ LOP1
MOV DA1,BL MOV DA2,BH
39.阅读下面程序段并填空: DATA SEGMENT
S9 DB0,1,2,3,4,5,6,7,8,9 DATA ENDS
┇
LEA SI,S9 LEA,DI,S9+1 MOV CX,5
LOP: MOV AL,[SI] XCHG AL,[DI] MOV [SI],AL ADD SI,2 ADD DI,2 LOOP LOP
上述程序段运行后,S9 开始的 10 个字节存储单元内容是什么? S9 DB 1,0,3,2,5,4,7,6,9,8 41.程序段如下:
BLK1 DB 46,84,34,-5,20,122,73 :
MOV CX,7 LEA S1,BLK1
NEXT: MOV AL,[SI] INC SI
TEST AL,81H LOOPZ NEXT MOV BL,[SI] :
请回答程序段运行后:
(BL)=___14H 或 20______
44.下述程序段完成计算 2~20 之间的偶数的和,
XOR AX,AX MOV BX,0
MOV CX,10 或MOV CX,0AH
CONT: ADD AX,BX
ADD BX,2 LOOP CONT
46.下述程序段完成计算 2~20 之间的偶数的和,
XOR AX,AX MOV BX,0
MOV CX,10 或MOV CX,0AH
CONT: ADD AX,BX
ADD BX,2 LOOP CONT
49.阅读下面程序段并填空: FACT PROC
PUSH DX MOV DX,AX CMP AX,0
JZ DONE DEC AX CALL FACT MUL DX POP DX RET
DONE: MOV AX,1
POP DX RET
FACT ENDP
执行该子程序后(AX)= 120 。
50.已知 21000h 处字单元的内容为 BE00H,对于如下程序:
(1)
mov ax,2000h (2)
mov ds,ax (3)
mov bx,1000h (4)
mov ax,[bx] (5)
inc bx (6)
inc bx (7)
mov [bx],ax (8)
inc bx (9)
inc bx (10)
mov [bx],ax (11)
inc bx (12)
mov [bx],al (13)
inc bx (14)
mov [bx],al 程序执行后,内存中字单元 2000:1005 中的内容为__0000H____。51.assume cs:code
code segment start: mov ax,3 jmp s1 s: mov bx,0 mov ax,bx s1: mov cx,3 s2: add ax,2 loop s2
s3: mov ax,4c00h int 21h code ends end s
上面代码执行到 s3 处的指令之前,ax 的值是_6____。 52.阅读下面程序段并填空: MOV AX,7452H
,
ADD AL,AH DAA
XCHG AH,AL SUB AL,AH DAS
程序段运行后,AX=__2648H_________,CF=_____0_______。 53.已知 AX=7865H,BX=89AAH CLC
ADD AX,BX OR BX,AX RCR AX,1 RCL BX,1
程序执行后,AX=____0107H________BX=__175FH_________CF=_____1_______ 54.阅读下面程序段并填空: BCD1 DB 46H
M
MOV AL,BCD1 MOV CL,4 SHR AL,CL SAL AL,1 MOV CL,AL SAL AL,1 SAL AL,1 ADD AL,CL MOV CL,BCD1 AND CL,0FH ADD AL,CL
上述程序段完成的功能是什么? (把 BCD1 中两位压缩 BCD 码转换成 8 位的二进制数) 程序段运行结束后 AL=____ZEH________。 55.
MOV BL,64H MOV CL,03H XOR AX,AX
AGAIN:ADD AL,BL
ADC AH,0 DEC CL JNZ AGAIN
问:
(2)AX=__012CH______。
56.下面的程序段是实现从键盘输入 10 个 1 位十进制数后累加,最后累加和以非压缩 BCD 码存放,请补充程序。
XOR DX, DX MOV CX,10
LOP1: MOV AH,01H
INT 21H MOV AH,DH ADD AL,DL AAA
MOV DX,AX LOOP LOP1
下列程序段求数组 FLD 的平均值,结果在 AL 中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 _LEA SI,FLD______ MOV CX, 8 XOR AX, AX
R1:__ADD AX ,[SI]_____ ADD SI, 2 LOOP R1 MOV CL, 8 IDIV CL HLT
57.阅读下面程序段并填空: MOV AX, 1090H SUB AX, 4AE0H JC L1 JO L2 JMP L3
上述程序执行后 AX=___C5B0____,程序转向_____L1__ 58.假设寄存器 AX=1234H,DX=0A000H MOV BX, 0 MOV CX, BX SUB CX, AX SBB BX, DX MOV AX, CX MOV DX, BX
上述程序段执行后 AX=___0EDCCH____ ,DX=__5FFFH_____ 60.阅读下面程序段并填空:
DA1 DB 83H,72H,61H,94H,5AH
┇
MOV CX,WORD PTR [DA1] AND CX,0FH MOV AL,[DA1+3] SHL AL,CL
上述指令序列执行后,AL=___0A0H____,CL=___03H____。 61.阅读如下程序片段 MOV AL,4CH MOV BL,0B5H ADD AL,BL