2.某外部可屏蔽中断的类型码为12H,它的中断服务程序的入口地址为1000H:2000H,请将中断服务程序入口地址填在中断向量表中.
37
七、程序题
1. 编制程序段,要求实现:将0404H单元开始的256单元清零。 ( 6分)
答: CLD ;清方向标志 LEA DI,0404H ;DI指向字串地址 MOV CX,256 ; 共256个字节 XOR AX,AX ;AX清零 REP STOSB HLT
2.程序分析题。现有下列程序段:(6分) MOV SP, 2000H MOV AX, 3000H
MOV BX, 5000H :
PUSH AX PUSH BX POP AX
试回答:上述程序段执行后SP=___1FFEH______
(AX)=_____5000H______,(BX)=_____5000H______
3.程序分析题。现有下列程序段: (6分) MOV AX,6540H MOV DX,3210H MOV CL,04
SHL DX,CL ;DX=2100H MOV BL,AH ;BL=65H
38
SHL AX,CL ;AX=5400H SHR BL,CL ;BL=06H
OR DL,BL ;DL=06H,故DX=2106H 试问上述程序段运行后,
(AX)=__5400H___________ (BL)=____06H_________ (DX)= _____2106H________
4.请完成如下程序段,使它完成求|AX-BX|,结果放在AX的功能。 CMP AX,BX(1分) JC AA (1分) SUB AX,BX
JMP AA1(2分)
AA:SUB BX(1分) , AX(1分)
MOV AX,BX AA1:HLT
5. 要求从外设71号中取一个数M,判断其值是否在10和20之间,即10≤M<20.如果M≥20H,则送0FFH给外设73H;如果M<10,则送00H给外设73H; 如果10≤M<20,则送88H给外设73H.
。要求编写完整源程序实现上述功能(9分) 答:程序如下:
; ---------程序段定义,不可省略 C1 SEGMENT
START: IN AL, 71H CLC
CMP AL, 10
39
JC LP1 CMP AL, 20 JC LP2 MOV BL, 0FFH LP3: MOV AL, BL
OUT 73H, AL
INT 21H
MOV AH, 4CH LP1: MOV BL, 00 JMP LP3 LP2: MOV BL, 88H JMP LP3 C1 ENDS
END START
6. 编一程序段,要求实现:求两个多字节数之和,这两个数在10050H地址开始的内存单元中,连续存放,低位在小地址一端,结果放在 这两个数之后。设这两个多字节数均为8个字节。(8分)
答: MOV AX, 1000H MOV DS, AX MOV SI, 50H MOV DI, 58H MOV BX, 60H MOV CX, 4 CLC
AA: MOV AX, [SI] ADC AX, [DI] MOV [BX], AX PUSHF
ADD SI, 2
40