微机原理与接口技术1-8习题解答王玉良(7)

2019-03-27 16:13

MOV SI,OFFSET FIRST MOV DI,OFFSET FORTH MOV AX,[SI] MOV DX,[SI+2] NOT AX

NOT DX ADD AX,1 ADC DX,0 MOV [DI],AX MOV [DI+2],DX RET

SUBP3 CODE

9.指令语句AND AX,OPD1 AND OPD2中,OPD1和OPD2是两个已赋值的变量,问两个AND操作分别在什么时间进行?有什么区别?

解 前面的AND是指令,在程序运行时执行,后面的AND是运算符,在汇编的时候由汇编程序计算,表达式计算结果出现在执行程序中。二者的区别在于,前者是指令,程序运行时执行,后者是运算符,汇编时计算。

10.如下指令或程序是否有错,若有错,请指出错在哪里?

ENDP ENDS END START

(1)KI EOU 1024

MOV K1,AX MOV DS,100 MOV [1000],[2000]

(2)

(3)IMP DB ?

MOV IMP,AX

(4)A1 DB ? A2 DB 10

CMP A1,A2

(5)将1000送入X1单元,用如下程序: X1 解

(1)MOV K1,AX错。因为K1为立即数,它不能作为目的操作数。

(2)这两条指令都是错的。第一条立即数不能直接送给段寄存器;第二条两个操作数不能同时为内存操作数。

(3)MOV IMP,AX错。两操作数类型不匹配,IMP是一字节内存单元,而AX寄存

DB ? ┇

MOV BX,X1 MOV [BX],1000

器中为16位数据。

(4)CMP A1,A2错。两个操作数A1与A2不能同时为内存操作数。

(5)MOV [BX],1000错。两操作数类型不匹配,[BX]只定义了一字节单元,而1000是16位数据。

11.8086汇编语言程序中段的类型有几种?各段如何定义?段定义语句中,定位类型、组合类型、类别各起什么作用?各有什么含义?

解 8086汇编语言中,段的类型有三种,即代码段、堆栈段、数据段(附加数据段可归属于数据段)。各段可用段定义语句(SEGMENT与ENDS)和段名赋给段寄存器语句(ASSUME)来定义。段定义语句中,定位类型表示此段的起始边界要求,可允许4种段的起始边界,即PAGE、PARA、WORD或BYTE。它们分别表示段的起始值为以页、节、字、字节为边界,若此项省略,则默认值为PARA。组合类型用来告诉连接程序本段与其他段的关系,分别为NONE、PUBLIC、COMMON、AT表达式、STACK或MEMORY。每一种的含义请参看主教材。类别是连接程序(LINK)需要的。它可以是任何合法的名称,必须用单引号括起来,连接程序只使同类别的段发生关联。典型类别如‘CODE’、'STACK'。

12.使用DOS功能调用0AH从键盘输入40个字符的字符串并将其送入一输入缓冲区。在按下Enter键后,显示这些字符。

NAME KBDINPUT CODE SEGMENT

ASSUME CS:CODE,DS:CODE

ORG 100H

START:JMP BEGIN BUF

DB 41

NUMB DB ? CHARS DB 41 DUP(?)

MSG1 DB 'Type anything,followed by enter.',0DH,0AH,'$'

MSG2 DB 0DH,0AH,'Contents of the KBD input buf:',0DH,0AH,'$' BEGIN:MOV AX,CS

MOV DS,AX

MOV DX,OFFSET MSG1 MOV AH,9 INT 21H

MOV DX,OFFSET BUF MOV AH,0AH INT 21 H

MOV DX,OFFSET MSG2 MOV AH,9 INT 21H XOR BX,BX MOV BL,NUMB MOV CHARS[BX],'$' MOV DX,OFFSET CHARS

MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS

END START

说明

本题把数据区放在代码段中,没有单独定义数据段。并且用ORG 100H语句把程序起始地址的偏移量放在100H开始的单元,用JMP BEGIN指令跳过数据区,这样可以把该程序经汇编、连接后的执行程序(.EXE)用EXE2BIN软件生成.COM文件。 或:

DATA BUF

SEGMENT DB 41

NUMB DB ? CHARS DB 41 DUP(?)

MSG1 DB 'Type anything,followed by enter.',0DH,0AH,'$'

MSG2 DB 0DH,0AH,'Contents of the KBD input buf:',0DH,0AH,'$' DATA

ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX


微机原理与接口技术1-8习题解答王玉良(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:备授课软件的使用说明资料

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: