下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一:输出字符'A'的源程序如下: PROG SEGMENT ASSUME CS:PROG START: MOV DL,'A' MOV AH , 2 INT 21H MOV AH,4CH INT 21H PROG ENDS END START 实验二:1 .把BX中的二进制数转换成十进制数,在屏幕上显示出来,只考虑无符号数。程序 如下:CODE SEGMENT ASSUME CS:CODE START: MOV BX,0FFFH MOV CX,10000 CALL DEC_DIV MOV CX, 1000 CALL DEC_DIV MOV CX,100 CAL
2、L DEC_DIV MOV CX,10 CALL DEC_DIV MOV CX,1 CALL DEC_DIV MOV AH,4CH INT 21HDEC_DIV PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ADDDL,30HMOV AH,2 INT 21H RETDEC_DIV ENDP CODE ENDSEND START2 .把BX中的带符号数转换成十进制数,在屏幕上显示出来。程序如下: CODE SEGMENT ASSUME CS:CODESTART: MOV BX,8001H MOV AX,8000H AND AX,B
3、X JNZ MINUS JMP DISPMINUS: MOV DL,'-' MOV AH,2 INT 21H NEG BX JMP DISP DISP: MOV CX,10000 CALL DEC_DIV MOV CX, 1000 CALL DEC_DIV MOV CX,100 CALL DEC_DIV MOV CX,10 CALL DEC_DIV MOV CX,1 CALL DEC_DIV MOV AH,4CH INT 21H DEC_DIV PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ADD DL,30H
4、MOV AH,2 INT 21H RETDEC_DIV ENDP CODE ENDS END START 3.求一个数据块(由10个单字节的无符号数组成)中的最大元素,并将结果在屏幕 上显示出来,程序如下: DATA SEGMENT BLOCK DB1,0,5,7,10,30,100,127,90,80RESULT DB?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA BEGIN PROC FARMOV AX,DATA MOV DS,AX MOV CX,9 LEA SI,BLOCK MOV AL,SI X1: INC SI CMP AL,SI JAE
5、X2 MOV AL,SI X2: LOOP X1MOV RESULT,AL MOV AH ,0 MOV BX,AX CALL XIANSHI MOV AH,4CH INT 21H BEGIN ENDP XIANSHI PROC NEAR MOV AL,80H AND AL,BL JNZ MINUS JMP DISP MINUS: MOV DL,'-'MOV AH,2 INT 21H NEG BL JMP DISP DISP: MOV CX,100 CALL DEC_DIV MOV CX,10 CALL DEC_DIV MOV CX,1 CALL DEC_DIV MOV AH,4
6、CH INT 21H XIANSHI ENDP DEC_DIV PROC NEARMOV AX,BXMOV DL,0 DIV CL MOV BL,AH MOV BH,0MOV DL,ALADD DL,30HMOV AH,2 INT 21H RETDEC_DIV ENDP CODE ENDS END BEGIN4 .求一个数据块(由20个单字节的带符号数组成)中的正数和(0字)和负数和(0 字),并在屏幕上用十进制的形式显示出两个和。程序如下:DATA SEGMENTBLOCK DW -100,100,200,-200,5,6,7,8,9,10DW 11,12,13,14,15,50,-50,1
7、50,-150,-200POSIT DW ?NEGAT DW ?ST1 DB 'The sum of all the positive numbers:$'ST2 DB 'The sum of the negative numbers:$'DATA ENDSCODE SEGMENT ASSUME CS:CODE ,DS:DATA START PROC MOV AX,DATA MOV DS,AX MOV BX,OFFSET BLOCK MOV SI,0 MOV DI,0 MOV CX,20 X1: MOV AX,BX CMP AX,0 JGE X3 ADD DI,
8、AX JMP X2 X3: ADDSI,AXX2: ADDBX,2LOOP X1 MOV POSIT,SI MOV NEGAT,DI MOV BX,SI MOV DX,OFFSET ST1 MOV AH,9 INT 21H CALL XIANSHI MOV DL,0DH MOV AH,2 INT 21HMOV DL,0AH MOV AH,2 INT 21H MOV BX,NEGAT NEG BX AND BX,7FFFH MOV DX,OFFSET ST2 MOV AH,9 INT 21H MOV DL,'-' MOV AH,2 INT 21H CALL XIANSHI MOV
9、 AH,4CH INT 21H START ENDP XIANSHI PROC NEAR MOV CX,100 CALL DEC_DIV MOV CX,10 CALL DEC_DIV MOV CX,1 CALL DEC_DIV RET XIANSHI ENDP DEC_DIV PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ADD DL,30H MOV AH,2 INT 21H RET DEC_DIV ENDP CODE ENDS END START5 .将寄存器BX中的二进制数转换成十六进制数并在屏幕上显示出来 程序如下: CO
10、DE SEGMENT ASSUME CS:CODEBINHEX PROC FAR MOV CH,4 MOV BX,1000ROTATE: MOV CL,4 ROL BX,CL MOV DL,BL AND DL,0FH ADDDL,30HCMP DL,3AH JL OUTPUT ADD DL,7OUTPUT: MOV AH,2INT 21H DEC CH JNE ROTATE MOV DL,'H' MOV AH,2 INT 21H MOV AH,4CH INT 21H BINHEX ENDP CODE ENDSEND BINHEX实验三:1.从键盘上输入一个十进制数(065535
11、),转换成二进制数并放入寄存器 BX中,其程序框图如下:程序如下: CODE SEGMENT ASSUME CS:CODE START PROC CALL DECBIN CALL XIANSHI MOV AH,4CH INT 21HSTART ENDP DECBIN PROC NEAR MOV CX,10 MOV BX,0 LOP1: MOV AH,1 INT 21H CMP AL,30H JL EXIT CMP AL,39H JG EXIT SUB AL,30H MOV AH,00H XCHG AX,BX MUL CX ADD BX,AX JMP LOP1 EXIT: RET DECBIN
12、ENDP XIANSHI PROC NEAR LP1: MOV CX,10000 CALL DEC_DIV MOV CX,1000 CALL DEC_DIV MOV CX,100 CALL DEC_DIV MOV CX,10 CALL DEC_DIV MOV CX,1 CALL DEC_DIV RET XIANSHI ENDP DEC_DIV PROC NEARMOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ADDDL,30HMOV AH,2 INT 21H RET DEC_DIV ENDP CODE ENDS END START 2.从键盘上输入0
13、65535范围的一个十进制数,在屏幕上显示出相应的十 六进制数。程序如下: CODE SEGMENT ASSUME CS:CODE START PROC CALL DECBIN MOV CH,4 CALL ROTATE MOV AH,4CH INT 21H START ENDP DECBIN PROC NEAR MOV CX,10 MOV BX,0 LOP1: MOV AH,1 INT 21H CMP AL,30H JL EXIT CMP AL,39H JG EXIT SUB AL,30H MOV AH,00H XCHG AX,BX MUL CX ADD BX,AX JMP LOP1 EXIT
14、: RET DECBIN ENDP ROTATE PROC LOP2: MOV CL,4 ROL BX,CL MOV DL,BLAND DL,0FH ADDDL,30HCMP DL,3AH JL OUTPUT ADD DL,7 OUTPUT: MOV AH,2 INT 21H DEC CH JNE LOP2 MOV DL,'H' MOV AH,2 INT 21H MOV AH,4CH INT 21H ROTATE ENDP CODE ENDS END START 实验四:1 .在内存中存有一字符串,以 0为结尾,程序开始输出HELLO然 后等待从键盘输入一字符,再改字符串中寻找
15、该字符,若找到,输出yes' 若找不到,输出no',然后再输入下一字符。程序如下:DATA SEGMENTSTR1 DB'HELLO',0DH,0AH,'$'STR2 DB20H,'YES',0DH,0AH,$STR3 DB20H,'NO',0DH,0AH,'$'STR4 DB '1 2 3 0 4 5 A B a=! ?',00HDATA ENDS CODE SEGMENTASSUME CS:CODE,DS:DATASTART PROC FARMOV AX,DATAMOV DS,A
16、XMOV DX,OFFSET STR1MOV AH,9INT 21HLOOP1: MOV AH,1INT 21HMOV BX,OFFSET STR4GON: MOV AH,BXCMP AH,0JZ NOINC BXCMP AH,ALJNZ GONMOV DX,OFFSET STR2GO: MOV AH,9INT 21HJMP LOOP1NO: MOV DX,OFFSET STR3JMP GOSTART ENDPCODE ENDSEND START2 .实验内容1的程序是个无限循环程序,若按'ESC键,让程序退 出循环,是系统返回 DOS已知ESC键的键值是1BH按照上面要求对 实验内容1的程序进行修改,然后重新汇编、链接和运行。程序如下:DATA SEGMENTSTR1 DB'HELLO',0DH,0AH,$STR2 DB20H,'YES',0DH,0AH,$STR3 DB20H,'NO',0DH,0AH,$STR4 DB '1 2 3 0 4 5 A B a=! ?',00HDATA ENDSCODE SEGMENTASSUME CS:CODE,D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 26875.10-2026城市消防远程监控系统第10部分:消防设施信息采集装置及接口要求
- 《公共营养师》三级题库含答案(附解析)
- 土工格栅现场数量计算表
- 项目劳务用工岗位安全责任金兑现表
- 精神科护士职业素养
- (辅导班)2026年新高三数学暑假讲义(基础班)第16讲 极值与最值(解析版)
- 广东省汕头市2025-2026学年高考冲刺模拟语文试题含解析
- 26年居家老人心理需求参考课件
- 26年老年护理机构标准化考核标准课件
- 【广东省广州市英语初一下学期期末备考策略精析】
- 2026年江西金融租赁股份有限公司社会招聘14人笔试备考题库及答案解析
- 2026上海药品审评核查中心招聘辅助人员17人考试备考试题及答案解析
- 2026山西晋城市城区城市建设投资经营有限公司招聘15人备考题库含答案详解(考试直接用)
- 2026年信息处理和存储支持服务行业分析报告及未来发展趋势报告
- 北京保障房中心有限公司法律管理岗笔试参考题库及答案解析
- (二模)太原市2026年高三年级模拟考试(二)语文试卷(含答案及解析)
- 2026年上海市长宁区高三下学期二模数学试卷和答案
- 初中化学九年级下册“化学与社会·跨学科实践”单元整体建构教案
- 2026食品安全抽查考试试题与答案
- 2025南京溧水区招聘社保员2人(公共基础知识)测试题附答案解析
- 分子设计育种课件
评论
0/150
提交评论