第五章 汇编语言和汇编程序
一、 回答下列问题
1、 根据下列要求编写一个汇编语言程序::
(1)代码段的段名为COD_SG
(2)数据段的段名为DAT_SG
(3)堆栈段的段名为STK_SG
(4)变量HIGH_DAT所包含的数据为95
(5)将变量HIGH_DAT装入寄存器AH,BH
(6)程序运行的入口地址为START
DAT_SG SEGEMNT
HIGH_DAT DB 95
DAT_SG ENDS
;
STK_SG SEGMENT
DW DUP(?)
STK_SG ENDS
;
COD_SG SEGMENT
MAIN PROC FAR
ASSUME CS: COD_SG, DS: DAT_SG, SS: STK_SG
START: MOV AX, DAT-SG
MOV DS, AX
MOV AH, HIGH_DAT
MOV BH, AH
MOV DL, AH
MOV AH, 4CH
INT 21H
MAIN ENDP
COD_SG ENDS
END START
2、定义一个数据段的字符变量和数据变量。
(1) TRING为字符串变量:‘Personal computer’
(2) VALD为十进制数字节变量12,99
(3) VALH为十六进制数字变量32H,0FAH
(4) VALZ为10个零的字节变量
(5) VALW为20个字单元
DATA SEGMENT
TRING DB ‘Personal computer’
VALD DB 12,99
VALH DB 32H,0FAH
VALZ DB 10 DUP(‘0’)
VALW DW 20 DUP(?)
3、 DATA SEGMENT
TABLE_ADDR DW 1234H
DATA ENDS
.
.
MOV BX, TABLE_ADDR
LEA BX, TABLE_ADDR
请写出上述两条指令执行后, BX寄存器中的内容。
答案:
MOV BX,TABLE_ADDR ; 执行后(BX)=1234H
4、VR1和VAR2为字变量,LAB为标号,试指出下列指令的错误之处。
(1)ADD VAR1,VAR2 (2)SUB AL,VAR1
(3)JMP LAB[SI] (4)JNZ VAR1
源和目的不能同为内存变量
两个类型不匹配
LAB为标号不为符号常量
JNZ可跳转到标号,不能跳转到变量。
二、填空题
1、假设(DS)=2000H,(BX)=1256H,(SI)=528FH;位移量TABLE=20A1H,(232F7H)=3280H,(2E5H)=2450H,则
执行指令JMP BX后,(IP)= 1256H ;
执行指令JMP TABLE[BX]后,(IP)= 3280H ;
执行指令JMP [BX][SI]后,(IP)= 2450H 。
2、数据段中有以下定义:
ARRAY1 EQU 16H ARRAY2 DW 16H
请指出下面两条指令的寻址方式:
MOV AX,ARRAY1; 寻址方式立即数寻址方式 。
MOV AX,ARRAY2; 寻址方式 直接寻址方式 。
3、指令“AND AX,STR1 AND STR2”中,STR1和STR2是两个已赋值的变量,两个AND的区别是前一个AND是一个命令,后一个AND是一个运算符。
4、调用指令CALL可分为段内直接,段内间接,段间直接,段间间接等四种调用。
5、在汇编语言中,一个过程有NEAR和FAR两种属性。NEAR属性表明主程序和子程序 在同一个段内 ,FAR属性表示主程序和子程序 不在同一个段内 。
6、串处理指令规定源寄存器使用 SI ,源串在 DS 段中;目的寄存器使用 DI ,目的串必须在 ES 段中。
7、 ENDP 是过程定义结束伪指令,与 过程名 配套使用。 ENDS 是段定义结束伪指令,与 段名 配套使用。
1、执行下列程序,选择正确的结果:
MOV SP,2000H MOV AX,0F0H
MOV SI,1234H
MOV DX,5678H
PUSH SI
POP DI
SHL DX,1
TEST AX,DX
PUSH DX
HLT
D(1)SP= ;
A)2000H B)1FFFH
C)2001H D)1FFEH
A(2)DH内容所在存储器的偏移地址为 ;
A)1FFFH B)1FFEH
C)1FFDH D)1FFCH
B(3)DL内容所在存储器的偏移地址为 ;
A)1FFFH B)1FFEH
C)2000H D)1FFCH
C(4)(AX)= ;
A)0H B)78H
C)0F0H D)56H
A(5)(DI)= 。
A)1234H B)5678H
C)2000H D)00F0H
B(6)(DX)= ;
A)5678H B)0ACF0H
C)2B3CH D)0ABF0H
A(7)标志位ZF= 。
A)0 B)1 C)不定 D)无值
2、下面是多字节加法程序,第一个数是8A0BH,第二个数是D705H。
(1)、B (2)、A (3)、D (4)、C (5)、B (6)、A (7)、C
DATA SEGMENT
FIRST DB 0BH, 8AH,0H
SECOND DB 05, D7
DATA
ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX MOV CX, 2 MOV SI,0
CLC NEXT: MOV AL,SECOND[SI] ADC FIRST[SI],AL INC SI
LOOP NEXT
MOV AL,0
ADC AL, AL MOV FIRST[SI],AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
请选择正确的答案填入空格中:
(1)A)8AH C)D7H (2)A)8AH C)D7H (3)A)8AH C)D7H (4)A)8AH C)D7H (5)A)3 C)1 B)0BH
)05H
B)0BH
D)05H
B)0BH
D)05H
B)0BH
D)05H
B)2
D)4
D
(6)A)CLC B)CLD
C)STC D)CLI
(7)A)1 B)-1
C)0 )0FFH
D
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务