微机原理第四章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章
课后习题
4.3 什么是指示性语句,它和指令有什么区别
指示性语言是指与CPU的指令直接对应的助记符
而指令是有汇编开发系统识别和处理的助记符前者是不被汇编开发系统处理的助记符.
4.4 画出下列语句的数据在存储器中的存储情况ARRAYB DB 12,34H,’ABCD’,2, DUP(?,2)
ARRAYB DW 1234H,’AB’,’CD’,?,2 DUP(?,2)
4.5 求DLENGTH的值是多少
DATA1DW?
DATA2DB32DUP(?)
DATA3DD?
DLENGTH EQU$-DATA1
解:DLENGTH=38=26H
4.6在某程序中需要为一个变量BUF预留500个字节的存储空间,请写出相应的指令,如果要预留500个字的存储空间呢?
解:
DATA1 DB 500 DUP(?)
ADTA2 DW 500 DUP(?)
4.7程序定义如下
BUFFERB DB‘ABCDEF’
RESULT DB?
BUFFERW DW30DUP(?)
写出运行结果:
MOV AX,TYPE RESULT;AX=1
MOV BX,TYPE BUFFERW;BX=2
MOV CX,LENGTH BUFFERB;CX=1
MOV DX,LENGTH BUFFERW;DX=30
MOV AX,SIZE RESULT;AX=1
MOV BX,SIZE BUFFERW;BX=60
4.9
LENG表示符号值等于2
4.11
设BX=1103H,则执行下列指令后AX和CX各为多少?若BX=03H,则结果又如何?
MOV AX,BX AND0FFH
MOV CX,BX EQ1103H
解:
BX=1103H
AX=0003H,CX=0FFFFH
BX=03H
AX=0003H,CX=0
4.12
MOV AX,X
SBB A,Y
MOV BX,10
IDIV BX
MOVBX,4
MUL BX
MOV Z,AX
4.14
XOR BX,BX
MOV CX,10
LOP:MOV AH,01H
INT21H
SUB AL,30H
MOV DL,AL
MOV AX,BX
ADD AL,DL
AAA
MOV BX,AX
LOOP LOP
4.17
4. 13. 设A,B是长度为10的字节数组,用串操作指令编写程序实现AB两数组内容的相互交换,试完善本程序。
DATA SEGMENT
A DB1,2,3,4,5,6,7,8,9,0AH
DRG OO10H
B DB 0AH,9,8,7,6,5,4,3,2,1
DATA ENDS
…
LEA SI,A
LEA DO,B
MOV CX,10
LOP:LODSB
XCHG AL,[DI]
DEC DI
STOSB
INC DI
LOOP LOP
解:
XCHG SI, DI
XCHG SI, D
4.18
将内存中某数据块的正数和负数分开,并分别将这些正数和负数送同一数据段的两个缓冲区中,并在屏幕上显示正数和负数的个数。
DATA SEGMENT
BUF DB 12,15,-2,3,-7,-8,19,-25
N=$-BUF
BUF1 DB N DUP(?) ;存放正数
BUF2 DB N DUP(?) ;存放负数
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA BX,BUF ;BX指向BUF
LEA SI,BUF1 ;SI指向存放正数的缓冲区BUF1
LEA DI,BUF2 ;DI指向存放负数的缓冲区BUF2
MOV CX,N ;循环N次
MOV DX,0 ;DH表示负数的个数,DL表示正数的个数,都清零 CYCLE: MOV AL,[BX] ;将BX指向的数送给AL
CMP AL,0 ;比较AL与0的大小
JG GREAT ;AL>0,则转移至GREAT
MOV [DI],AL ;AL<=0,将AL存入负数的数组
INC DH ;负数的个数加1
INC DI ;DI指向下一个负数
JMP NEXT
GREAT: MOV [SI],AL ;AL>0,将AL存入正数的数组
INC DL ;正数的个数加1
INC SI ;SI指向下一个负数
NEXT: INC BX ;判断下一个数
LOOP CYCLE
ADD DL,30H ;将正数的个数变成字符输出
MOV AH,2
INT 21H
ADD DH,30H ;将负数的个数变成字符输出
MOV DL,DH
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS