当前位置:首页 > 2016年秋季学期《微机原理与接口技术》综合练习题
二十五. 指出下列指令的错误
(1)MOV CS,BX (2)MOV CH,SI (3)PUSH AL
(4)MOV DX,[BX][BP] (5)SHL AX,CX (6)MOV CL,100H
二十六. 写出下列程序段执行后;AX= H?
MOV AX,0ABCDH MOV CL,4 AND AL,0FH AND AL,30H SHL AH,CL AND AH,0F3H
二十七. 根据以下要求写出相应的汇编语言程序段;
(1)把AX寄存器和DX寄存器内容相减,结果存入DX寄存器中。 (2)用寄存器BP和DI的基址变址寻址方式,把存储器数据段中的一个字节与AL寄存器的内容相减,结果保存在存储器单元中。
二十八. 下列变量各占多少字节?
NUMBYTE DB 1,10DUP(?),‘$’
NUMWORD DW 11H,25H
NUMDWORD DD 20H,10 DUP(?),20H NUMDUP DB 2DUP(5DUP(1,2,‘xyz’)) STING DB‘I AM A STUDENT’,‘$’
二十九. 该程序中数据段定义如下:
DSEG SEGMENT
STRG DB‘I AM A TEACHER!’,‘$’ MSPA DB 2DUP(?)
NUM DB 1,2,3,4,5,6,7,8 DISP DW 2 DSEG ENDS
(1)执行下列指令段后 LEA BX,NUM ADD BX,DISP
MOV AX,WORD PTR[BX]
AX= H BX= H (2)执行下列指令段后 XOR BX,BX MOV AX,[DISP]
MOV SI,OFFSET NUM ADD BX,WORD PTR[SI]
AX= H ,BX= H
三十. 在程序的括号中分别填入下述指定的指令后,给出程序的执行结果。
程序如下:
9
CSEG SEGMENT
ASSUME CS:CSEG START:MOV AX,2 MOV BX,3
MOV CX,4 MOV DX,5
NEXT:ADD AX,AX MUL BX SHR DX,1
( )
MOV AH,4CH INT 21H CSEG ENDS
END START
(1)若括号中填入LOOP NEXT指令 执行后 AX= H BX= H CX= H DX= H
(2)若括号中填入LOOPZ NEXT指令,执行后 AX= H BX= H CX= H DX= H
(3)若括号中填入LOOPNZ NEXT指令,执行后 AX= H BX= H CX= H DX= H
三十一. 阅读程序,给出该程序的功能
DSEG SEGMENT
ARFA DB 500DUP(?) BRTA DB 100DUP(?) DSEG ENDS; CSEG SEGMENT
ASSUME CS:CSEG ,DS:DSEG START PROC FAR
MOV AX,DSEG MOV DS,AX
MOV CX,100 MOV BX,CX ADD BX,BX ADD BX,BX XOR SI,SI
10
AND DI,0000H
LP1: MOV AL,ARFA[BX][SI] MOV BRTA[SI],AL
INC SI LOOP LP1 QQQ:MOV AH,4CH INT 21H START ENDP CSEG ENDS
END START (1)该程序完成何功能
(2)程序执行到QQQ处,SI= H,DI= H,
BX= H,CX= H,
三十二. 阅读程序
DSEG SEGMENT
DATA1 DW 01H, 2BBH,3CCCH,4DDDH,5EEEH DISP1 DW 3 DSEG ENDS; CSEG SEGMENT
ASSME CS;CSEG,DS:DSEG BEGIN:
MOV AX,DSEG MOV DS,AX MOV CX,DATA1
MOV BX,OFFSET DATA1 ADD BX, DISP1 NEXT:DECBX
MOV AX,[BX+4] LOOP NEXT PPP: MOV AX,4C00H
INT 21H CSEG ENDS
END BEGIN
该程序执行到PPP外:AX= H BX= H
CX= H
11
共分享92篇相关文档