版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机系统与接口实验电子与信息学院电类联合班何俊实验二:将ASCII码表示的十进制数转换为二进制数1. 将ASCII码表示的十进制数转换为二进制数。DATA SEGMENTORG 3500H NUM1 DB 5 DUP(0)ORG 3510H NUM2 DD 5 DUP(0)DATA ENDSSTACK SEGMENT STACK STACK DB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AX,OFFSET NUM1 MOV SI,AX MO
2、V AX,OFFSET NUM2 MOV DI,AX MOV CX,5 MOV AX,0 MOV BH,0CHANGE: MOV BL,SI SUB BL,30H MOV DX,10 MUL DX ADD AX,BX ADD SI,1 LOOP CHANGEEXIT: MOV WORD PTRDI,AX MOV AH,4CH INT 21HCODE ENDSEND START 2. 将从键盘输入的五位十进制数的ASCII码已存在3500起始的内存单元中。把它转换成BCD码后,再按位分别存入350A起始的内存单元内。若输入的不是十进制的ASCII码,则显示FF.DATA SEGMENTORG 3
3、500H NUM1 DB 5 DUP(0) ;NUM1 DB 12345ORG 350AH NUM2 DB 5 DUP(0)DATA ENDSSTACK SEGMENT DB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AX,OFFSET NUM1 MOV SI,AX MOV AX,OFFSET NUM2 MOV DI,AX MOV CX,5CHANGE: MOV AL,SI CMP AL,39H JA ERROR CMP AL,30H JB
4、ERROR SUB AL,30H MOV DI,AL ADD SI,1 ADD DI,1 LOOP CHANGE JMP EXITERROR: MOV BX,0FFH MOV DI,BXEXIT: MOV AH,4CH INT 21HCODE ENDSEND START3. 将十六位二进制数转换为ASCII码表示的十进制数。十六进制数的值域为065535,最大可转换为五位十进制数。DATA SEGMENTORG 3500H NUM1 DD 0ORG 3510H NUM2 DB 5 DUP(0)DATA ENDSSTACK SEGMENT DB 100 DUP(0)STACK ENDSCODE
5、SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AX,OFFSET NUM1 MOV SI,AX MOV AX,OFFSET NUM2 MOV DI,AX ADD DI,5 MOV CX,5 MOV AX,WORD PTRSI MOV BX,10 CHANGE: MOV DX,0 DIV BX ADD DL ,30H MOV DI,DL DEC DI LOOP CHANGEEXIT: MOV AH,4CH INT 21HCODE ENDSEND START4. 十六进制数转换为ASCII码DATA
6、 SEGMENTORG 3500H NUM1 DD 0ORG 3510H NUM2 DB 4 DUP(0)DATA ENDSSTACK SEGMENT DD 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AX,OFFSET NUM1 MOV SI,AX MOV AX,OFFSET NUM2 MOV DI,AX MOV BL,2 MOV CX,4CHOICE: MOV AL,SI AND AL,0FH CMP AL,9JBE CHANGE_11JM
7、P CHANGE_12CHANGE_11: ADD AL,30H JMP NEXT_1 CHANGE_12: ADD AL,37H NEXT_1: MOV DI,AL ADD DI,1 MOV AL,SI AND AL,0F0H SHR AL,CL CMP AL,9JBE CHANGE_21JMP CHANGE_22CHANGE_21: ADD AL,30HJMP NEXT_2CHANGE_22: ADD AL,37H NEXT_2: MOV DI,AL ADD DI,1 ADD SI,1 DEC BXJNE CHOICEEXIT: MOV AH,4CH INT 21HCODE ENDSEND
8、 START5. BCD码转换为二进制码DATA SEGMENTORG 3500H NUM1 DB 8 DUP(0)ORG 3510HNUM2 DB 4 DUP(0)DATA ENDSSTACK SEGMENT DB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AX,OFFSET NUM1 MOV SI,AX MOV AX,OFFSET NUM2 MOV DI,AX MOV CX,4 MOV BL,10CHANGE: MOV AL,SI MUL
9、 BL ADD SI,1 ADD AL,SI ADD SI,1 MOV DI,AL ADD DI,2LOOP CHANGEEXIT: MOV AH,4CH INT 21HCODE ENDSEND START实验三 分支和循环程序设计实验1. 设计一数据块间的搬移程序DATA SEGMENTORG 3500H MESSAGE1 DB HELLO KITTY COUNT EQU 11DATA ENDSEXTRA SEGMENTORG 3510H MESSAGE2 DB 11 DUP(0)EXTRA ENDSSTACK SEGMENT DD 100 DUP(0)STACK ENDSCODE SEGM
10、ENT ASSUME CS:CODE,DS:DATA,ES:EXTRA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AX,OFFSET MESSAGE1 MOV SI,AX MOV AX,OFFSET MESSAGE2 MOV DI,AX MOV AX,DS MOV ES,AX MOV CX,COUNT CLD COMPARE: CMP SI,DI JB NEXT1 JMP NEXT2NEXT1: STD ADD SI,COUNT-1 ADD DI,COUNT-1 REP MOVSB JMP EXIT NEXT2: REP MOVSB JMP EXITEX
11、IT: MOV AH,4CH INT 21HCODE ENDSEND START2. 编制程序使S=1+2*3+3*4+4*5+N(N+1),直到N(N+1)项大于200为止。DATA SEGMENTORG 3500HRESULT DD 0DATA ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV DX,1 MOV BL,2SUM: MOV AL,BL INC BL MUL BL ADD DX,AX CMP AX,200 JB SUM PRINT: MOV AX,OFFSET RESULT MOV DI,AX MOV DI,DX EXIT: MOV AH,4C
12、H INT 21HCODE ENDSEND START3. 求某个数据区内负数的个数。DATA SEGMENTORG 3500H NUM DB 6H,12H,88H,82H,90H,22H,33HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AX,OFFSET NUM MOV SI,AX MOV BL,0 MOV CL,SI MOV CH,0 INC SI CHECK: MOV AL,SI CMP AL,B JBE NEXT INC BLNEXT: INC SI LOOP CHECK P
13、RINT: MOV SI,BL EXIT: MOV AH,4CH INT 21HCODE ENDSEND START实验四子程序设计程序采用菜单式选择,可接收用户输入的命令(15),各命令如下:按1键完成字符串小写字母变大写字母用户输入一由英文大小写字母或数字09组成的字符串(以回车结束),程序逐个检查字符串中各字符,将原串中小写字母变成大写字母,其它字符不变,并在屏幕上显示。用户按任一键,重做,按ESC键,返回主菜单。按2键完成找最大值(二选一)、接收用户输入的可显示字符串(以回车结束),程序将其中ASCII码值最大的字符显示出来。、接收用户输入若干无符号8位数(以空格或逗号为分隔符,以回车
14、结束),程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。按3键完成排序(二选一)、接收用户输入的可显示字符串,以回车结束。程序按ASCII码值大小由大到小排序并输出显示。、接收用户输入若干个有符号8位数(以空格逗号为分隔符,以回车结束)。程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。按4键显示时间首先提示用户对时,即用户输入时,分,秒(以空格或冒号分隔,以回车结束),然后,在屏幕上不断显示时间,格式为:(时):(分):(秒),最好定点显示。用户按任一键,重新对时,按ESC键,返回主菜单。按5键,结束程序运行,返回系统提示符。DATA SEGME
15、NTORG 0000H;BUFFER POOL. BUFF DB 100 DB 0 DB 100 DUP(0)DATA ENDSSTACK SEGMENT STT DB 100 DUP(0) TOP EQU LENGTH STTSTACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK;MAIN PROCESSSTART:MAIN PROC FARFIRST: MOV AX,DATA MOV DS,AX MOV SI,OFFSET BUFF MOV AX,STACK MOV SS,AX MOV SP,OFFSET TOP CHOICE: MOV
16、 AH,1 INT 21H CMP AL,5 JE EXIT CMP AL,1 JE FUNCTION1 CMP AL,2 JE FUNCTION2 CMP AL,3 JE FUNCTION3 CMP AL,4 JE FUNCTION4CHANGE_LINE: MOV DL,0AH MOV AH,2 INT 21H;ERROR INPUT, CHOOSE AGAIN. JMP FIRST FUNCTION1: MOV DL,0AH MOV AH,2 INT 21H CALL F1 JMP CHANGE_LINE FUNCTION2: MOV DL,0AH MOV AH,2 INT 21H CA
17、LL F2 JMP CHANGE_LINE FUNCTION3: MOV DL,0AH MOV AH,2 INT 21H CALL F3 JMP CHANGE_LINEFUNCTION4: MOV DL,0AH MOV AH,2 INT 21H CALL F4 JMP CHANGE_LINE EXIT: MOV AH,4CH INT 21H RET MAIN ENDP;SUBPROCESS 1F1 PROC NEAR;GET STRING MOV SI,OFFSET BUFF MOV DX,SI MOV AH,0AH INT 21H CALL CHANGE_LINE ;GET THE SIZE
18、 OF STRING INC SI MOV CL,SI MOV CH,0 INC SI;CHANGE THE LETTERS AND PRINT CHANGE: MOV DL,SI CMP DL,Z JBE NEXT SUB DL,20HNEXT: MOV AH,2 INT 21H INC SI LOOP CHANGE CALL CHANGE_LINE ;RETURNRETF1 ENDP;SUBPROCESS 2F2 PROC NEAR;GET STRING MOV DX,SI MOV AH,0AH INT 21H CALL CHANGE_LINE;GET THE SIZE OF STRING
19、 INC SI MOV CL,SI MOV CH,0 INC SI;GET THE MAX CHAR MOV AL,SI INC SICOMPARE: CMP AL,SI JA NEXT MOV AL,SINEXT: INC SI LOOP COMPAREPRINT: MOV DL,AL MOV AH,2 INT 21H CALL CHANGE_LINE;RETURNRETF2 ENDP;SUBPROCESS 3F3 PROC NEAR;GET STRING MOV SI,OFFSET BUFF ADD SI,2 MOV DX,SI MOV AH,0AH INT 21H CALL CHANGE
20、_LINE;GET THE SIZE OF STRING INC SI MOV CL,SI MOV CH,0 INC SI MOV DX,SI DEC CX ;BUBBLE SORTLOOP1: MOV BX,CXLOOP2: MOV AL,SI CMP AL,SI+1 JA NEXT XCHG AL,SI+1 MOV SI,ALNEXT: INC SI DEC BX JNE LOOP2 MOV SI,DX LOOP LOOP1 ;PRINT MOV CL,SI-1 MOV CH,0PRINT: MOV DL,SI MOV AH,2 INT 21H INC SI LOOP PRINT CALL
21、 CHANGE_LINE;RETURNRETF3 ENDP ;SUBPROCESS 4F4 PROC NEAR;INPUT THE TIMEINPUT: MOV DX,SI MOV BL,10;HOUR MOV AH,0AH INT 21T CMP BYTE PTRSI+1,2 JNE INPUT SUB BYTE PTRSI+2,30H SUB BYTE PTRSI+3,30H MOV AL,SI+2 MUL BL ADD AL,SI+3 MOV CH,AL CALL CHANGE_LINE;MINUTE MOV AH,0AH INT 21T CMP BYTE PTRSI+1,2 JNE I
22、NPUT SUB BYTE PTRSI+2,30H SUB BYTE PTRSI+3,30H MOV AL,SI+2 MUL BL ADD AL,SI+3 MOV CL,AL CALL CHANGE_LINE;SECOND MOV AH,0AH INT 21T CMP BYTE PTRSI+1,2 JNE INPUT SUB BYTE PTRSI+2,30H SUB BYTE PTRSI+3,30H MOV AL,SI+2 MUL BL ADD AL,SI+3 MOV DH,AL CALL CHANGE_LINE;1/100 SECOND MOV DL,0 ;SET THE TIME MOV
23、AH,2DH INT 21H;CHECK CMP AL,00 JNE INPUT ;GET THE TIME MOV SI,OFFSET BUFF ADD SI,2GET: MOV AH,2CH INT 21H MOV SI,CH MOV SI+2,CL MOV SI+4,DH;BINARY TO ASCII MOV BL,10;HOUR MOV AH,0 MOV AL,SI DIV BL ADD AH,30H ADD AL,30H MOV SI,AL MOV SI+1,AH;MINUTE MOV AH,0 MOV AL,SI+2 DIV BL ADD AH,30H ADD AL,30H MO
24、V SI+2,AL MOV SI+3,AH;SECOND MOV AH,0 MOV AL,SI+4 DIV BL ADD AH,30H ADD AL,30H MOV SI+4,AL MOV SI+5,AH;PRINT THE TIME;HOUR MOV DL,SI MOV AH,2 INT 21H MOV DL,SI+1 MOV AH,2 INT 21H MOV DL,:;MINUTE MOV DL,SI+2 MOV AH,2 INT 21H MOV DL,SI+3 MOV AH,2 INT 21H MOV DL,:;SECOND MOV DL,SI+4 MOV AH,2 INT 21H MOV DL,SI+5 MOV AH,2 INT 21H ;CHECK THE INPUT MOV AH,0BH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 灾后救援志愿者工作管理制度
- 施工升降机安全防护方案
- 大型活动场所标线指示方案
- 工业厂房通风空调专业分包合同
- 人行桥设计优化实施方案
- 复印机器产业链招商引资的调研报告
- 特殊时期物流管理疫情防控方案
- 互联网行业团队合作团体辅导活动方案
- 三一重工年终总结
- 学校食堂营养管理与超市经营方案
- GB/T 7702.20-2008煤质颗粒活性炭试验方法孔容积和比表面积的测定
- GB/T 4337-2015金属材料疲劳试验旋转弯曲方法
- GB/T 40120-2021农业灌溉设备灌溉用热塑性可折叠软管技术规范和试验方法
- 12J5-1 平屋面建筑标准设计图
- 中印边境争端
- 招聘与录用期末考试卷及答案AB卷2套
- 各专业试验报告-nvh m301s1样车测试报告
- 如何申报科研项目 课件
- 李子栽培管理技术-课件
- 化工课件-S-Zorb装置运行特点及故障处理
- 头发及头皮知识讲述资料课件
评论
0/150
提交评论