SQR DB? DATA ENDS 答:
DATA SEGMENT DAT DB XXH
SQRTAB DB 0,1,4,9,?,81 SQR DB?
DATA EMDS
STACL1 SEGMENT PARA STACK DW 20H DUP(?) STACK1 ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA MOV DS,AX ┇
CALL SUBROT ┇
MOV AH,4CH INT 21H
SUBROT PROC
PUSH AX PUSH BX
LEA BX,SQRTAB MOV AL,DAT
TEST AL,80H JNS NEXT
NEG AL
NEXT: XLAT SQRTAB MOV SQR,AL POP BX POP AX RET
SUBROT ENDP CODE ENDS END SRART
6、设在内存单元SQTAB首址开始存放了0~15的平方数表。要求用直接查表法编一程序,求出A单元中给定数(<=15=的平方值送B单元保存)。 BC
答: DATA SEGMENT
SQTAB DB 0,1,4,9,16,25,36,49,64,81 DB 100,121,144,169,196,225 A DB 12 B DB?
DATA ENDS
31
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START PROC FAR PUSH DX XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET SQTAB MOV AL,A XLAT MOV B,AL RET
START ENDP CODE ENDS END START
7、FUNCTION MACRO P1,P2,P3 MOV AX,P1 P2 P3 ENDM 请回答下列问题:
⑴上面程序段中,MACRO和ENDM是一对伪指令,在 宏 定义中,它们成对出现。
⑵通过调用语句FUNCTION 100,SUB,AX调用之后,AX寄存器中的内容为 99 。 CXFX
32