微机原理习题4答案Word格式文档下载.doc

上传人:wj 文档编号:6979817 上传时间:2023-05-07 格式:DOC 页数:10 大小:70.50KB
下载 相关 举报
微机原理习题4答案Word格式文档下载.doc_第1页
第1页 / 共10页
微机原理习题4答案Word格式文档下载.doc_第2页
第2页 / 共10页
微机原理习题4答案Word格式文档下载.doc_第3页
第3页 / 共10页
微机原理习题4答案Word格式文档下载.doc_第4页
第4页 / 共10页
微机原理习题4答案Word格式文档下载.doc_第5页
第5页 / 共10页
微机原理习题4答案Word格式文档下载.doc_第6页
第6页 / 共10页
微机原理习题4答案Word格式文档下载.doc_第7页
第7页 / 共10页
微机原理习题4答案Word格式文档下载.doc_第8页
第8页 / 共10页
微机原理习题4答案Word格式文档下载.doc_第9页
第9页 / 共10页
微机原理习题4答案Word格式文档下载.doc_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理习题4答案Word格式文档下载.doc

《微机原理习题4答案Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《微机原理习题4答案Word格式文档下载.doc(10页珍藏版)》请在冰点文库上搜索。

微机原理习题4答案Word格式文档下载.doc

CODEENDS

ENDSTART

2.将8个16位无符号数相加,结果保存在32位无符号数SUM中;

COUNTEQU($-BUF)/2

SUMDD0

STACK1SEGMENTSTACK

DW100DUP(0)

CODE,DS:

DATA,SS:

STACK1

LEABX,BUF

MOVDX,0000H

LOP:

MOVAX,[BX]

ADDWORDPTRSUM,AX

ADCWORDPTRSUM+2,DX

INCBX

LOOPLOP

MOVAX,4C00H

INT21H

3.以十进制形式在计算机屏幕上显示内存中的一个8位有符号数,例如:

若内存单元中存放的数据为7FH,则在屏幕上显示+127,若内存单元存放的数据为0FFH,则应在屏幕上显示-1;

DATASEGMENT

VAR DB 0FFH

STR1DB'

THERESULTIS:

$'

DATAENDS

SS_SEGSEGMENTSTACK

DW 100DUP(0)

SS_SEGENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

SS_SEG

MOV AX,DATA

MOV DS,AX

LEA DX,STR1

MOV AH,09H

INT 21H

MOV DL,'

+'

CMP VAR,0

JGENEXT

-'

NEG VAR

NEXT:

MOV AH,02H

MOV AL,VAR

MOV BL,10

MOV CL,0

AND AH,0

DIV BL

PUSH AX

INC CL

CMP AL,0

JNZ LOP1

POP AX

MOV DL,AH

ADD DL,30H

MOV AH,2

INT 21H

LOOP LOP2

MOVAX,4C00H

CODEENDS

ENDSTART

4.从键盘输入一个4位十进制数,然后以16进制形式显示在屏幕上,试编程;

例如:

输入1024在屏幕上应该显示0400H

INPUTDATA:

BUF DB 20

DB 4

DB 4DUP(?

STR2DB0AH,0DH,'

'

'

$'

DB 100DUP(0)

MOV AH,0AH

LEA DX,BUF

MOV CX,03H

LEA SI,BUF+2

AND BX,0H

MOV DL,0AH

MOV AL,[SI]

SUB AL,30H

PUSH CX

MUL DL

POP CX

ADD BX,AX

INC SI

LOOP LOP1

AND CH,00H

MOV CL,[SI]

SUB CL,30H

ADD BX,CX

LEA DX,STR2

MOV AX,BX

ANDCH,00H

MOV CL,04H

MOV DH,04H

MOV DL,00H

AAA1:

AND AX,000FH

PUSH AX

DEC DH

INC DL

SHR BX,CL

CMP DH,0

JA AAA1

MOVCL,DL

BBB:

POP DX

CMP DL,09H

JB NEXT

ADD DL,07H

LOOP BBB

MOV DL,'

H'

MOV AX,4C00H

CODE ENDS

END START

5.数据段中存放有一个无符号字数据VAR,将其转换成非压缩格式的BCD码,存于BUF开始的单元中(高位在前);

若VAR为0800H,则转换后(BUF)=20H (BUF+1)=48H

DATASEGMENTPARA

VAR DW 0800H

BUF DB 2DUP(0)

DW 100DUP(0)

CODESEGMENTPARA

MOV CX,16

MAIN1:

SHL VAR,1

MOV BX,4

MOV CX,5

MAIN2:

MOV AL,BUF[BX]

ADC AL,AL

AAA

MOV BUF[BX],AL

DEC BX

LOOP MAIN2

LOOP MAIN1

EXIT:

MOV AX,4C00H

CODE ENDS

6.内存中以str1和str2开始分别存放了两个字符串,结束符为NULL(ASCII码为0),将str2连接到str1后,形成1个字符串,并将连接后的字符串str1输出到屏幕上;

STR1 DB '

GOODMORNING,'

00H

STR DB 50DUP(0)

STR2 DB '

MrWANG!

'

0AH,0DH,00H

MOVAX,DATA

MOV DS,AX

LEASI,STR1

CMP AL,00H

JE JP1

JP2:

JA JP2

JP1:

MOV CX,01H

LEA BX,STR2

MOV AH,[BX]

MOV [BX],AH

CMP AH,00H

JE JP3

MOV [SI],AH

JP4:

INC BX

INC CX

JA JP4

JP3:

INCSI

MOV[SI],BYTEPTR'

MOV AX,4C00H

CODE ENDS

7.统计10个有符号字节数中,大于0、小于0、等于0的个数,分别存放在NUM1、NUM2、NUM3三个变量中,并找出最大值、最小值分别存放到MAX、MIN变量中,再求10个数的和,将结果存放到16位有符号数SUM中。

NUM DB 0F0H,03H,0B4H,0AH,0AAH,00H,80H,7FH,99H,21H

COUNT EQU ($-NUM)

ORG 0010H

NUM1 DB 0

NUM2 DB 0

NUM3 DB 0

MIN DB 0

MAX DB 0

SUM DW 0

MOV SS,AX

LEA SI,NUM

MOV CX,COUNT

MOV BX,0000H

MOV DX,0000H

CMP AL,0

JG DA

JL XIAO

JE DENG

DA:

INC BH

JMP AAA1

XIAO:

INC BL

JMP AAA1

DENG:

INC DH

LOOP LOP

LEA SI,NUM1

MOV [SI],BH

LEA SI,NUM2

MOV [SI],BL

LEA SI,NUM3

MOV [SI],DH

MOV CX,COUNT-1

LEABX,NUM

MOVAL,[BX]

CMPAL,[BX]

JLENEXT

XCHGAL,[BX]

MOV[BX-1],AL

LOOP MAIN2

POP CX

LOOP MAIN1

LEA SI,MIN

MOVAL,NUM

MOV[SI],AL

LEA SI,MAX

MOVBL,NUM+9

MOV[SI],BL

MOVSI,OFFSET NUM

MOV CX,COUNT

MOV AX,0

ANDBX,0

MOV BL,[SI]

ADD AX,BX

INCSI

LEA SI,SUM

MOV [SI],AX

MOV AX,4C00H

INT 21H

END START

8若程序的数据段定义如下,写出各指令语句独立执行后的结果。

DSEGSEGMENT

DATA1DB10H,20H,30H

DATA2DW10DUP(?

StringDB‘123’

DSEGENDS

(1)MOVAL,DATA1 10H->

AL

(2)MOVBX,offsetDATA2 DATA2代表的首地址赋给BX

(3)LEASI,String String代表的首地址赋给BX

ADDDI,SI SI+DI->

DI

9假设数据项定义如下:

DATA1DB‘HELLO!

GOODMORNING’

DATA2DB20DUP(?

用串操作指令编写程序段,使其分别完成一下功能。

(1)从左到右将DATA1中的字符串传送到DATA2中;

LEA SI,DATA1

LEA DI,DATA2

MOV CX,20

CLD

REP MOVSB

(2)传送完后,比较DATA1和DATA2中的内容是否相同;

REPE CMPSB

(3)把DATA1中的第3个字节和第四个字节装入AX;

ADD SI,2

LODSW

(4)将AX的内容存入DATA2+5开始的字节单元中;

ADD DI,5

STOSW

10执行下列指令后,AX寄存器中的内容是多少?

TABLEDW10,20,30,40,50

ENTRYDW3

……

MOVBX,OffsetTABLE

ADDBX,ENTRY

MOVAX,[BX] [AX]=1400H

存储器

11图示以下数据段在存储器中的存放形式;

10H

34H

07H

09H

42H

00H

48H

45H

4CH

4FH

21H

CDH

ABH

DATASEGMENT

DATA1 DB10H,34H,07H,09H

DATA2 DW2DUP(42H)

DATA3DB‘HELLO!

DATA4EQU12

DATA5DDABCDH

12阅读下边的程序段,试说明它实现的功能是什么?

DATASEGMENT

DATA1DB'

ABCDEFG'

CODESEGMENT

ASSUMECS:

AAAA:

MOVAX,DATA

MOVDS,AX

MOVBX,OFFSETDATA1

MOVCX,7

MOVAH,2

MOVAL,[BX]

XCHGAL,DL

INCBX

INT21H

LOOPNEXT

MOVAH,4CH

ENDAAAA

此程序功能为:

输出字符串‘ABCDEFG’。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2