【正确答案】10000H可以将段基址和偏移量划分为0FFFH:0010H开始的地址。
.886 ;支持对80386非特权指令的汇编
CSEG SEGMENT LJSE16 ;16位段
ASSUME CS: CSEG
N DB 0
BEGIN: MOV AX,0FFFH
MOV FS,AX
MOV CX,20H ;初始化32个双字
LP: MOV EAX,FS: [0010H+4*N]
PUSH CX ;将CX入栈保护
CALL TOHEX
MOV AL,'H'
CALL ECHO
CALL NEWLINE
INC N
POP CX;将CX恢复
LOOP LP
MOV AH,4CH
INT 21H
TOHEX PROC NEAR
COUNTB = 8
ENTER COUNTB,0
MOVZX EBP,BP
MOV ECX,COUNTB
MOVZX EDX,EAX
HEX1: MOV AL,DL
AND AL,0FH
MOV [EBP-COUNTB+ECX-1],AL
ROR EDX,4
LOOP HEX1
MOV CX,COUNTB
XOR EBX,EBX
HEX2: CMP BYTE PTR[EBP-COUNTB+EBX],0
JNZ HEX3
INC EBX
LOOP HEX2
DEC EBX
MOV CX,1
HEX3: MOV AL,[EBP-COUNTB+EBX]
INC EBX
CALL TOASC
CALL ECHO
LOOP HEX3
LEAVE
RET
TOHEX ENDP
;子程序名: TOASC
; 功能: 把一位十六进制数转换为对应的ASCⅡ码
;入口参数: AL=要显示的值
;出口参数: AL=ASCⅡ码
TOASC PROC NEAR
AND AL,0FH
ADD AL,'0'
CMP AL,'9'
SETA DL ;当AL中的值大于39H时,DL置1,否则清0
MOVZX DX,DL ;将DL中的内容扩展到DX中
IMUL DX,7
ADD AL,DL ;AL中为转换后的ASCⅡ码
RET
TOASC ENDP
ECHOCH PROC NEAR
MOV AH,02H
MOV DL,AL
INT 21H
RET
ENDP
NEWLINE PROC NEAR
MOV AH,02H
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
RET
ENDP
CODE ENDS
END BEGIN
【答案解析】