《微型计算机原理与局空接口技术题解及实验指导第4版》百度网盘pdf最新全集下载:
链接:https://pan.baidu.com/s/1ZAJPZKwTiP8GPOB9kGKu8A
?pwd=p75y 提取码:p75y简介:本书是与《微型计算机原理与接口技术(第4版)》(清华大学出版社出版)配套的题解及实验指导。全书分为上、下两篇。上篇第1~8章是习题解答,包括主教材中8章全部习题的详细分析和解答。下篇第9~11章裤腊手是实验指导。其中,第9章是汇编语言程序设计实验,包括汇编语言设计中的各种典型问题第10章是基于Proteus软件平台的硬件仿真实验第11章是基于西安唐都科教仪器公司TDPITC实验系统开发的微机接口实验胡嫌。全部实验共含19项,分为基础实验和综合实验两个层次,以帮助学生进一步巩固课堂所学内容。
可以实现,写好了,测试通过可以,加了些注释,帮助你看,不懂可以留言,帮你解答...希望可以帮到你,ASSUME CS:CODE,DS:DATA,SS:STACK
DATA SEGMENT
MESSAGE DB 'Please input a number?','$'
STR1 DB 0DH,0AH,'houyongtao080702211',0DH,0AH,'$'
STR2 DB 0DH,0AH,'112207080oatgnoyuoh',0DH,0AH,'$'
DAT_A DB 100
DB ?
DB 100 DUP(0)
DATA ENDS
STACK SEGMENT
STA DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV SP,100
L: LEA DX,MESSAGE
MOV AH,09H
INT 21H
LEA DX,DAT_A
MOV AH,0AH
INT 21H
判断数据的合法性,不合法退出------------------------
LEA BX,DS:[DAT_A+2]
L0: MOV AL,DS:[BX]
INC BX
CMP AL,0DH 输入数值后跟的是个回车0D
JZ L3
CMP AL,'0'
JL OVER
CMP AL,'9'
JA OVER
JMP L0
L3: LEA SI,DS:[DAT_A+2] 从DX指向枝禅的单元读入
CALL ASCTDEC 调用ASCII码转换为十进制数
MOV DS:[BX],AX
TEST AX,1 判断该单元内的数字的最低位,为0,则是偶数
JZ L1 为偶数
JNZ L2
L1: LEA DX,STR2
MOV AH,09
INT 21H
JMP L
L2: LEA DX,STR1
MOV AH,09
INT 21H
JMP L
OVER:
MOV AH,4CH
INT 21H
ASCII转十进制数子程序-----------------------------------------
ASCTDEC:
PUSH BX
PUSH CX
PUSH DX
MOV AX,0 存放转换结果
MOV DL,DS:[SI]
ASCTDEC_L3:
AND DL,0FH 利用数字ASCII码与十进制的关系:ASCII低四位就是十进制数
MOV DH,0
ADD AX,DX
INC SI
MOV DL,DS:[SI]
CMP DL,'0'
JL ASCTDEC_L2
CMP DL,'9'滑搏
JG ASCTDEC_L2
CALL MUL10 调用乘10的子程猛让尘序
JMP ASCTDEC_L3
ASCTDEC_L2:
POP DX
POP CX
POP BX
RET
乘10的子程序----------------------------------------------
MUL10: MOV BX,AX
SHL AX,1 乘2
SHL AX,1 再乘2
ADD AX,BX 加上原来的数,相当于乘以5
SHL AX,1 再来乘2,总共乘了10
RET
CODE ENDS
END START
查表程序设计实验一、实验目的
学习查表程序的设计方法
二、实验内容及步骤
所谓查表,就是根据某孙拆个值,在数据表格中寻找与之对应的一一个数据,在很多情况下,通
过查表比通过计算要使程序更简单,更容易编制。
通过查表的方法实现十六进制数转换为ASCII码。根据2.2章节的表2.1可知,0~9的
ASCII码为30H~39H,而A~F的ASCII码为41H~46H,这样就可以将0~9与A~F对
应的ASCII码保存在-一个数据表格中。当给定一个需要转换的十六进制数时,就可以快速的在
表格中找出相应的ASCII码值。
实验步骤:
1.根据设计思想绘制程序流程图,编写实验程序(例程文件名为: A8-1 .ASM)。
2.经编译、链接无误后,则旅枣将目标代码装入系统。
3.将变量HEX, ASCH, ASCL添加到变量监视窗口中,并修改HEX的值,如12。
4.在语句JMP AA1处设置断点,然后运行程序。
5.程序会在断点行停止运行,并更新变量窗镇销口中变量的值,查看变量窗,ASCH应为31,
ASCL应为32。
6.反复修改HEX的值,观察ASCH与ASCL的值,验证程序功能。
程序代码:
ASSUME DS:DATA,CS:CODE
DATA SEGMENT
TABLE DB 30H,31H,32H,33H,34H,35H,36H,37H
DB 38H,39H,40H,41H,42H,43H,44H,45H
HEX DB 08H
ASCLL DB 0
DATA ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
LEA SI,TABLE
MOV AL,HEX
MOV BX,SI
XLAT
MOV ASCLL,AL
CODE ENDS
END START
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)