教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

微机原理习题2008答案(9)

来源:网络收集 时间:2026-04-26
导读: mov bx, mess1-string2 cmp bx,cx jnz dispno lea lea lea repe jne mov lea int ret dx,addr ;若长度相同 si,string1 di,string2 ;地址指针赋初值 cmpsb dispno ah,9 21h ;不同,显示NO MATCH ;相同,显示MATC

mov bx, mess1-string2 cmp bx,cx jnz dispno lea lea lea repe jne mov lea int ret

dx,addr ;若长度相同 si,string1

di,string2 ;地址指针赋初值 cmpsb dispno ah,9 21h

;不同,显示NO MATCH

;相同,显示MATCH

dx,mess1

;比较

;比较两字符串的长度

dispno: mov ah, 9

lea int ret

main

endp end

start

prognam ends

21h

dx, mess2

15.编写一个完整的源程序,将数据35、-27、-13、6、-47、52、9、-3中的正数放入以BUFFER为首址的数据缓冲区中。

答:一种可能的程序如下实现:

DATA SEGMENT

BLOCK DB 35,-27,-13,6,-47,52,9,-3 COUNT EQU $-BLOCK BUFFER DB COUNT DUP(?)

DATA ENDS

STACK SEGMENT PARA STACK?STACK‘ DW 40 DUP(?)

STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK BEGIN: MOV AX,DATA MOV DS,AX MOV ES,AX ;需用STOS串操作指令 MOV CX,COUNT LEA SI,BLOCK ;源数据区指针 LEA DI,BUFFER ;正数存放区指针 CLD ;自动增量 AGAIN: LODSB ;取源数据,并修改SI TEST AL,80H ;取符号位,不影响AL JS GO ;符号位=1,是负数,不存 STOSB ;存正数并修改DI

25

GO: CODE LOOP

MOV INT ENDS END

AGAIN AH,4CH 21H BEGIN

;退出循环,返回DOS

16.从内存单元BUF开始的缓冲区中有7个8位无符号数,依次为13H、0D8H、92H、2AH、66H、0E0H、3FH。编程找出它们的中间值并放入RES单元,且将结果以―(RES) = ?‖的格式显示在屏幕上。

答:一种可能的程序如下实现: DATA SEGMENT BUF DB 13H,0D8H,92H,2AH,66H,0E0H,3FH RES DB ? ;中间数的存放单元 STR DB ?(RES)=‘ STR1 DB ?,?,?$‘ ;结果字符串 DATA ENDS SSEG SEGMENT PARA STACK?SSEG‘ DB 100 DUP(?) SSEG ENDS CODE SEGMENT ASSUME CS:CODE,SS:SSEG,DS:DATA,ES:DATA MAIN PROC FAR ;主程序 PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV ES,AX ;有STOS指令,需用ES MOV CX,6 ;外循环次数,比6次 AGN: MOV SI,OFFSET BUF MOV DI,SI

INC DI ;SI、DI指向相邻2数

MOV DX,6 ;内循环次数,比6次 AGN1: MOV AL,[SI] CMP AL,[DI] ;两个无符号数相比较 JB UNCH ;小于则转,不互换 EXCH: XCHG AL,[ DI ] ;前1单元较大,则互换 MOV [ SI ],AL ;大数放在后面 UNCH: INC SI ;修改指针,指向下一个数 INC DI DEC DX JNZ AGN1 ;未处理完,继续内循环 LOOP AGN ;外循环 DONE: MOV AL,[SI-3] ;排序完成,取中间数 MOV RES,AL AND AL,0F0H ;分离高半字节 MOV CL,4 SHR AL,CL CALL BATR ;调子程序,将AL值转换为ASCII码 LEA DI,STR1 ;DI指向结果单元

26

CLD STOSB ;存放转换结果 MOV AL,RES AND AL,0FH ;分离并转换低半字节 CALL BATR STOSB LEA DX,STR ;显示整个字符串 MOV AH,09H INT 21H RET MAIN ENDP ;主程序MAIN结束 ;子程序BATR,实现16进制数到ASCII码的转换 BATR PROC NEAR CMP AL,10 ;入口参数为AL JB NUM ;是数字,则转NUM ADD AL,‘A‘-10-‘0‘ ;字母 NUM: ADD AL,‘0‘ RET BATR ENDP ;子程序结束 CODE ENDS END MAIN

简析:本例的基本思路是:先把7个无符号数按大小排序,排序完成之后取位于中间的一个数即为中间值。然后将该16进制数转换为两个对应的ASCII码,再与要求的格式字符一起输出送显即可。

数据排序可以是从大到小、或从小到大排列,本参考程序完成从小到大排序,由一个双重循环结构实现。内循环完成一个数与其它数之间的一一比较,并使每次比较所得的小数置于低地址单元。外循环实现所有数之间的两两相较。共7个数据,故内、外循环中的比较次数均为6次。

编程时需注意:无符号数比较大小应使用JA、JB、JAE、JBE指令,本例完成从小到大的排列,故用JB控制转移到UNCH;若要从大到小排列,则用JA代替JB即可。

对两个循环体进行初始化时,需仔细考虑指针和循环控制寄存器的初值。在数据段的定义中,分别定义STR、STR1两个变量名字,是为了便于在STR1处存放转换结果;显示时使DX直接指向STR,以STR1末尾的―$‖为结束符。中间值找出之后,应把高、低半字节相分离,并分别转换为各所对应的ASCII码。

17.设某测试系统中,1号端口为测试口,所得数据是0~9之间的十进制整数;2号端口为显示口,对应于数字0~9的LED七段共阴显示码依次为:3FH、06H、5BH、4FH、66H、6DH、3DH、07H、7FH、6FH。编写一段查表送显的程序,要求:先从测试口读入一个数据,再查表将相应的显示码从显示口送出,如此反复进行直至读入数据―0FFH‖为止。

答:一种可能的程序如下实现:

DATA

SEGMENT

27

TAB

DB 3FH,06H,5BH,4FH,66H DB 6DH,3DH,07H,7FH,6FH ;0~9的七段码

DATA ENDS

STACK SEGMENT PARA STACK?STACK‘

DW 50 DUP(?)

STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK,DS:DATA START: MOV MOV LE NEXT: IN CMP JE XLAT OUT JMP STOP: MOV INT CODE ENDS END AX,DATA DS,AX BX,TAB AL,1 AL,0FFH STOP TAB 2,AL NEXT AH,4CH 21H START

;BX指向表首址 ;从测试口输入 ;是0FFH,结束 ;不是0FFH,查表转换 ;向显示口输出七段码 ;继续测试 28

第6章 存储器系统

一、选择题

1.下列(B)不是半导体存储器芯片的性能指标。

A. 存储容量 B. 存储结构 C. 集成度 D. 最大存储时间 2.高速缓存由(B)构成。

A. SRAM B. DRAM C. EPROM D. 硬磁盘

3.由2K×1bit的芯片组成容量为4K×8bit的存储器需要(D)个存储芯片。 A. 2 B. 8 C. 32 D. 16

4.安排2764芯片内第一个单元的地址是1000H,则该芯片的最末单元的地址是(D)。

A. 1FFFH B. 17FFH C. 27FFH D. 2FFFH

5.一片容量为8KB的存储芯片,若用其组成1MB内存,需( C )片。 A. 120 B. 124 C. 128 D. 132 6.外存储器包括 ( A B E F )。

A. 软磁盘 B. 磁带 C. SRAM D. BIOS E. 硬磁盘 F. 光盘 7.在多级存储体系结构中,Cache-主存结构主要用于解决( D )的问题。 A. 主存容量不足

B. 主存与辅存速度不匹配

C. 辅存与CPU速度不 …… 此处隐藏:2233字,全部文档内容请下载后查看。喜欢就下载吧 ……

微机原理习题2008答案(9).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/608006.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)