您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页微机原理例题

微机原理例题

来源:意榕旅游网


第五章 汇编语言和汇编程序

一、 回答下列问题

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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务