微机原理课后习题答案(3)

2019-09-02 17:41

MOV CL,4

SHL DX,CL ;(DX)=F080H MOV BL,AH

SHL BL,CL ;(BL)=20H SHR BL,CL ;(BL)=02H OR DL,BL ;(DL)=82H

【答】将DX 中的低4 位数据8H 分离出来,将AH 中的低4 位数据2H 分离出来,合并为82H 存放在DL。

4.4 已知程序段如下: MOV AX,1234H MOV CL,4 ROL AX,CL DEC AX MOV CX,4 MUL CX

试问:(1)每条指令执行后,AX 寄存器的内容是什么?(2)每条指令执行后,CF,SF 及ZF 的值分别是什么?(3)程序运行结束时,AX 及DX 寄存器的值为多少? 【答】MOV AX,1234H ; (AX)=1234H, CF=SF=ZF=0 MOV CL,4

ROL AX,CL ; (AX)=2341H ,CF=1,SF=ZF=0 DEC AX ; (AX)=2340H, CF=1,SF=ZF=0 MOV CX,4 ;

MUL CX ;(AX)= 8000H ,CF=ZF=0,SF=1,DX=0 4.5 试分析下列程序段: ADD AX,BX JNC L2

SUB AX,BX JNC L3

JMP SHORTL5

如果AX、BX 的内容给定如下: AX BX

(1)14C6H 80DCH (程序转向L2)

(2)B568H 54B7H (程序转向SHORTL5 )

问该程序在上述情况下执行后,程序转向何处? 【答】(1) 程序转向L2。(2) 程序转向SHORTL5。

4.6 以下为某个数据段,试问各个变量分别占多少字节,该数据段共占多少字节? DATA SEGMENT

VAR1 DW 9 ;2 字节

VAR2 DD 10 DUP(?),2 ;44 字节

VAR3 DB 2 DUP(?,10 DUP(?)) ;22 字节 14

VAR4 DB ‘HOW ARE YOU' ;11 字节 DATA ENDS

【答】该数据段共占79 字节。

4.7 下列语句在存储器中分别为变量分配多少字节空间?并画出存储空 间的分配图。

VAR1 DB 10,2 ;2 字节

VAR2 DW 5DUP(?),0 ;12 字节

VAR3 DB ‘HOW ARE YOU?',‘$' ;13 字节 VAR4 DD -1,1,0 ;12 字节

4.8 编写一段程序,比较两个5 字节的字符串OLDS 和NEWS,若相同,在 RESULT 置0,否则置0FFH。 【答】参考程序: OLDS DB 1,2,3,4,5 NEWS DB 1,2,3,4,5 RESULT DB ?

MOV SI,OFFSET OLDS MOV DI,OFFSET NEWS MOV CX,10 CLD

REP CMPSB

JNZ NOEQU ;串不相等转 MOV AL,0 JMP OUTPT

NOEQU: MOV AL,0FFH OUTPT: MOV RESULT,AL STOP: JMP STOP

4.9 编程求和Y=A1 + A2 + ?. + A100 【答】

DATA SEGMENT

TABLE DW 12,3,45,.. YAL DW ? YAH DW ? DATA ENDS ???

MIAN PROC FAR PUSH DS MOV AX, 0 PUSH AX

MOV AX, DATA MOV DS, AX MOV DX,0

XOR AX, AX ;清AX MOV BX, OFFSET TABLE 15

MOV CX, 4 CLC

LP: ADD AX, [BX] ;求和

。其中Ai 为字节变量。

JNC DON INC DX CLC

DON: INC BX

INC BX ;指向下一个数 LOOP LP ;未加完,继续 MOV YAL,AX ;存和 MOV YAH,DX MAIN ENDP CODE ENDS END START

4.10 内存中以FIRST 和SECOND 开始的单元中分别存放着两个16 位组合的十进制(BCD 码) 数,低位在前。编程序求这两个数的组合的十进制和,并存到以THIRD 开始的单元。 【答】参考程序:1325+9839=? DATA SEGMENT

FIRST DB 05H,02H,03H,01H ; SECOND DB 09H,03H, 08H,09H; THIRD DB 20 DUP (?) DATA ENDS

STACK SEGMENT

ST1 DB 100 DUP (‘SA’) TOP1 EQU LENGTH ST1 STACK ENDS CODE SEGMENT

ASUMME CS:CODE,DS:DATA,SS:STACK MAIN PROC FAR

START: MOV AX, DAT ;初始化数据段 MOV DS, AX

MOV AX, STACK ;初始化堆栈段 MOV SS, AX MOV AX, TOP1 MOV SP, AX

MOV CX, 4 ;计算4 次

MOV SI , OFFSET DAT2 ;取数据地址 MOV DI , OFFSET SUM ;取结果地址 MOV AH, 00H ;将暂存标志的AH 清0 DON1: MOV AL, [BX] ;取第一个数 SAHF ;将AH 中的标志送标志寄存器 ADC AL, [DI] ;与第二个数带进位加 AAA ;十进制校正

LAHF ;将标志寄存器内容送AH OR AL, 30H ;计算值拼成ASCII 码 MOV [DI], AL ;存结果的ASCII 码 16

INC BX ;指向第一个数的下一位 INC SI ;指向第二个数的下一位 INC DI ;指向结果单元的下一位 LOOP DON1 ;未计算完,继续

AND AH, 01H ;将最高位的进位标志送AH OR AH, 30H ;最高位的进位位拼成ASCII 码 MOV [DI], AH ;存结果的最高位

MOV AH, 02H ;调用DOS 的02H 功能显示 MOV CX, 05H ;显示数据的位数 DON2: MOV DL,[DI] ;显示数据送DL INT 21H ;显示

DEC DI ;显示数据所在存储单元加一 LOOP DON2 ;未显示完,继续 MOV AH, 4CH ;返回DOS INT 21H RET

MAIN ENDP CODE ENDS END START

4.11 试编程序,统计由40000H 开始的16K 个单元中所存放的字符“A“的个数,并将结果 存放在DX 中。 【答】参考程序 DATA SEGMENT

DATA1 DB 'DFASFAAAFDFAAFFFA' COUNT EQU $-DATA1 DATA ENDS

STACK SEGMENT

STA DB 100 DUP (?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV CX,COUNT MOV DX,0

LEA SI,DATA1 MOV BL,'A'

NEXT : CMP [SI],BL JNZ OTHER

INC DX

OTHER: INC SI 17

LOOP NEXT CODE ENDS END BEGIN

4.12 统计数据块中正数与负数的个数,并将正数与负数分别送到两个缓冲区。 【答】

BLOCK DB -1,-3,5,6,-2,0,20,10 PLUS_D DB 8 DUP(?) ;正数缓冲区 MINUS_D DB 8 DUP(?) ;负数缓冲区 PLUS DB 0 MINUS DB 0

MOV SI,OFFSET BLOCK MOV DI,OFFSET PLUS_D MOV BX,OFFSET MINUS_D MOV CX, 8 ;数据个数送X GOON: LODSB ;AL← [SI] TEST AX, 80H

JNZ JMIUS ;为负数,转 INC PLUS ;正数个数加一 STOSB ;[DI] ←AL,传正数 JMP AGAIN

JMIUS: INC MINUS ;负数个数加一 XCHG BX, DI

STOSB ;送负数到缓冲区 XCHG BX, DI AGAIN: DEC CX JNZ GOON

4.13 编写一个子程序将AX 中的十六进制数,转换成ASCII 码, 存于ADR 开始的四个单元中。 提示:1)、AX 中的数从左到右,转换成ASCII 码,用循环左移ROL 和AND 指令,把提出的一 个十六进制数置BL 中;

2)、0 ~ 9 的ASCII 码:30 ~ 39H,A ~ F 的ASCII 码:41H ~ 46H。

( 先把每个数加30H,判断是否为数字0 ~ 9?若是A ~ F,再加07H,得字母的ASCII 码。) 【答】参考程序: DATA SEGMENT ADR DB 4 DUP(?) DATA ENDS CODE SEGMENT MAIN PROC FAR

ASSUME CS:CODE,DS:DATA

START: MOV AX,7EC3H ;假设ax 中存放7ec3h LEA SI,ADR MOV DL,4


微机原理课后习题答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2007年高考生物考试大纲新课标

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

马上注册会员

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