MOV AL,INF[BP+SI]—访问的是堆栈段 (1分) MOV AL,ES:INF[BP+SI]—访问的是附加段,实现了段超越 (1分) 三、每题5分,共10分 8259A占2个 (2分) 为20H,22H或24H,26H (2分) 20H或24H (1分) 8255A占4个 (2分) 为80H,82H,84H,86H (2分) 86H (1分) 四、每题2分,共8分 1();2( );3( ); 4( ); 五、共26分 1、 (2000H)=39H (2分) (2001H)=00H (2分) 将(2000H),(2001H)两相邻单元中存放的未组合型BCD码压缩成组合型BCD码,并存入(2000H)单元,0(2001H) (2分) 2、37H (2分) LAB2 (2分) 3、0 (1分) 1009H (1分) 0 (1分) 对数据段内1000H~1008H单元置数,依次送入1,2,4,8,16,32,64,128,0共九个 (3分) 4、计数器0 (1分) 工作于方式3 (1分) (2分) 5、 MOV AL, 80H OUT 8BH,AL (2分) MOV AL,ODH OUT 8BH,AL (2分) MOV AL,06H OUT 8BH,AL (2分) 六、共16分 酌情扣分 MOV CX,20 MOV BL,0 (2分) INLOOP:IN AL,41H TEST AL,01H JZ INLOOP (2分) IN AL,40H AND AL,OFH ;ASCII十进制 (BCD) ADD BL,AL
LOOP INLOOP ; 共输入20个 (2分) MOV AL,BL ;累加和AL MOV AH,0 MOV BL,100 (2分) DIV BL ;AXBLAL,余数AH MOV NBCDH,AL ; 存百位数 (2分) MOV AL,AH MOV AH,0 MOV BL,10 (2分) DIV BL ;十位数AL,个位数AH MOV CL,4 (2分) ROL AL,CL ;AL循环左移四位 OR AL,AH ;形成组合型BCD码 MOV NBCDL,AL ; 存十位,个位数 (2分) HLT