第一范文网 - 专业文章范例文档资料分享平台

微机原理及接口技术-习题答案

来源:用户分享 时间:2025/5/25 10:42:11 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

.

JNE DONE

MOV SI, [BP+4] DEC WORD PTR[SI] MOV SI, DI DEC DI REP MOVSB DONE: POP DI POP SI POP BP RET

DELCHAR ENDP CODE ENDS END START

解:从字符串中删去多余的‘X’字符。

15. 显示两位压缩BCD码值(0~99),要求不显示前导0。

解:DATA SEGMENT

BUF DB ? ; 内存中的两位压缩BCD码 DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA

MOV DS,AX

MOV AL, BUF MOV BL,AL NEXT: MOV CL,4

SHR AL, CL AND AL,0FH CMP AL,0 JZ GOON ADD AL,30H ;显示高位BCD码 MOV DL,AL

MOV AH,2 INT 21H GOON: MOV AL,BL AND AL,0FH

ADD AL,30H ;显示低位BCD码 MOV DL,AL

MOV AH,2 INT 21H

MOV AH,4CH INT 21H

CODE ENDS

END START

精选范本

.

16. 某数据区中连续存放着100个整数,要求将其中为0的元素删除,并将保留的数

据连续存放。 解:

DATA SEGMENT STRING DB 100(?) LENG DW 100 KEY DB 0 DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA MAIN PROC FAR

START:MOV AX, DATA MOV DS, AX MOV ES, AX LEA BX, STRING LEA CX, LENG PUSH BX PUSH CX MOV AL, KEY CALL DELCHAR MOV AH, 4CH INT21H MAIN ENDP

DELCHAR PROC PUSH BP MOV BP, SP PUSH SI PUSH DI CLD MOV SI, [BP+4] MOV CX, [SI] MOV DI, [BP+6] REPNE SCASB JNE DONE

MOV SI, [BP+4] DEC WORD PTR[SI] MOV SI, DI DEC DI REP MOVSB DONE: POP DI POP SI POP BP RET

DELCHAR ENDP CODE ENDS

精选范本

.

END START

17. 编程,把以DATA为首址的两个连续单元中的16位无符号数乘以10。

解: DATA SEGMENT

BUFFER DB A3H,27H DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA

MOV DS,AX

LEA SI,BUFFER

MOV AX,[SI] SHL AX,1 MOV BX,AX MOV CL,3 MOV AX,[SI] SHL AX,CL ADD AX,BX MOV BUFFER,AL MOV BUFFER+1,AH

MOV AH,4CH INT 21H

CODE ENDS

END START

3

注:2X+2X=2X+8X=10X

18. 编程,比较两个字串是否相同,并找出其中第一个不相等字符的地址,将该地址

送BX,不相等的字符送AL。两个字符串的长度均为200个字节,M1为源串首地址,M2为目标串首地址。

解:DATA SEGMENT

M1 DB 100DUP(?) DATA ENDS

EDATA SEGMENT

M2 DB 100DUP(?) EDATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA ,ES:EDATA START: MOV AX,DATA

MOV DS,AX MOV AX,EDATA MOV ES,AX

LEA SI,M1 ;(SI)←源串首地址

LEA DI,M2 ;(DI)←目标串首地址

精选范本

.

STOP:

MOV CX,200 ;(CX)←串长度

CLD ;(DF)=0,使地址指针按增量方向修改 REPE CMPSB ;若相等则重复比较

AND CX,0FFFFH ;检查(CX)是否等于零 JZ STOP ;(CX)=0则转STOP

DEC SI ;(SI)-1,指向不相等单元 MOV BX,SI ;(BX)←不相等单元的地址 MOV AL,[SI] ;(AL)←不相等单元的内容 MOV AH,4CH INT 21H

CODE ENDS

END START

19. 编程,在内存的数据段中存放了100个8位带符号数,其首地址为TABLE,试统

计其中正元素、负元素、和零元素的个数,并分别将个数存入PLUS,MINUS,ZERO等3个单元中;

解:DATA SEGMENT

TABLE DB 100DUP(?) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA

MOV DS,AX XOR AL,AL

MOV PLUS,AL MOV MINUS,AL MOV ZERO,AL LEA SI,TABLE MOV CX,100 CLD CHECK:LODSB OR AL,AL JS X1 JZ X2 INC PLUS JMP NEXT

X1: INC MINUS JMP NEXT

X2: INC ZERO NEXT: LOOP CHECK : MOV AH,4CH

INT 21H CODE ENDS

END START

精选范本

搜索更多关于: 微机原理及接口技术-习题答案 的文档
微机原理及接口技术-习题答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3mgge1c6bi06i7k4fff923x6i11g5t00roz_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top