实验二两个多位十进制数相加的实验_第1页
实验二两个多位十进制数相加的实验_第2页
实验二两个多位十进制数相加的实验_第3页
实验二两个多位十进制数相加的实验_第4页
实验二两个多位十进制数相加的实验_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验二实验二 两个多位十进制数相加的实验两个多位十进制数相加的实验 CRLF MACRO 建立回车换行宏 MOV DL 0DH MOV AH 02H INT 21H MOV DL 0AH MOV AH 02H INT 21H ENDM 宏定义结束 DATA SEGMENT 数据段 DATA1 DB 33H 39H 31H 37H 34H 第一个数据 作为加数 DATA2 DB 36H 35H 30H 38H 32H 第二个数据 作为被加数 DATA ENDS CODE SEGMENT 代码段 ASSUME CS CODE DS DATA ES DATA START MOV AX DATA MOV DS AX MOV SI OFFSET DATA2 MOV BX 05 CALL DISPL 显示被加数 CRLF MOV SI OFFSET DATA1 MOV BX 05 CALL DISPL 显示加数 CRLF MOV DI OFFSET DATA2 CALL ADDA 加法运算 MOV SI OFFSET DATA1 MOV BX 05 CALL DISPL 显示结果 CRLF MOV AX 4C00H INT 21H DISPL PROC NEAR 显示子程序段 DS1 MOV AH 02H MOV DL SI BX 1 显示字符串中的一个字符 INT 21H DEC BX 修改偏移量 JNZ DS1 RET DISPL ENDP ADDA PROC NEAR MOV DX SI MOV BP DI MOV BX 05 AD1 SUB BYTE PTR SI BX 1 30H 将 ASCII 码表示的数字串 SUB BYTE PTR DI BX 1 30H 转化位十六进制的字符串 DEC BX JNZ AD1 MOV SI DX MOV DI BP MOV CX 05 包括进位位共 5 位 CLC 清进位位 AD2 MOV AL SI MOV BL DI ADC AL BL 带进位相加 AAA 非组合 BCD 码的加法调整 MOV SI AL 结果送加数区 INC SI INC DI 指向下一位 LOOP AD2 循环 MOV SI DX MOV DI BP MOV BX 05 AD3 ADD BYTE PTR SI BX 1 30H 十六进制的数字串转化 ADD BYTE PTR DI BX 1 30H 为 ASCII 码表示的数字串 DEC BX JNZ AD3 RET ADDA ENDP CODE ENDS END START 实验三实验三 字符串匹配程序字符串匹配程序 CRLF MACRO MOV AH 02H MOV DL 0DH INT 21H MOV AH 02H MOV DL 0AH INT 21H ENDM DATA SEGMENT MESS1 DB MATCH 0DH 0AH MESS2 DB NO MATCH 0DH 0AH MESS3 DB INPUT STRING1 0DH 0AH MESS4 DB INPUT STRING2 0DH 0AH MAXLEN1 DB 81 ACTLEN1 DB STRING1 DB 81 DUP MAXLEN2 DB 81 ACTLEN2 DB STRING2 DB 81 DUP DATA ENDS STACK SEGMENT STA DB 20 DUP TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS CODE DS DATA SS STACK ES DATA START MOV AX DATA MOV DS AX MOV AX DATA MOV ES AX MOV AX STACK MOV SS AX MOV SP TOP 段寄存器及堆栈初始化 MOV AH 09H MOV DX OFFSET MESS3 INT 21H 显示输入提示 1 MOV AH 0AH MOV DX OFFSET MAXLEN1 INT 21H 接收键入的字符串 1 CRLF 回车换行 MOV AH 09H MOV DX OFFSET MESS4 INT 21H 显示输入提示 2 MOV AH 0AH MOV DX OFFSET MAXLEN2 INT 21H 接收键入的字符串 2 CRLF CLD MOV SI OFFSET STRING1 MOV CL SI 1 MOV CH 00H 字符串 1 的实际字符数送 CX KKK MOV DI OFFSET STRING2 PUSH CX MOV CL DI 1 MOV CH 00H 字符串 2 的实际字符数送 CX MOV AL SI MOV DX DI REPNZ SCASB 将串 1 中的一个字符和串 2 中的所有字符作比较 JZ GGG 比较相等转 GGG INC SI 从串 1 中取下一个字符 POP CX LOOP KKK MOV AH 09H MOV DX OFFSET MESS2 INT 21H 显示 NO MATCH JMP PPP GGG MOV AH 09H MOV DX OFFSET MESS1 INT 21H 显示 MATCH PPP MOV AX 4C00H INT 21H 返回 DOS CODE ENDS END START 实验四实验四 字符和数据的显示程序字符和数据的显示程序 CRLF MACRO MOV AH 02H MOV DL 0DH INT 21H MOV AH 02H MOV DL 0AH INT 21H ENDM DATA SEGMENT MESS1 DB INPUT STRING THE END FLAG IS MESS2 DB NON DIGITAL CHAR COUNT DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA ES DATA START MOV AX DATA MOV DS AX MOV ES AX 初始化 MOV BX 0000H 计数值清 0 MOV AH 09H MOV DX OFFSET MESS1 INT 21H MOV AH 02H MOV DL INT 21H 显示提示信息 CRLF XXX MOV AH 01H INT 21H 接收键入字符 CMP AL JZ UUU 是 字符则转 UUU CMP AL 0DH JNZ III CRLF 是回车则回车换行 JMP VVV III CMP AL 30H JB YYY CMP AL 39H JBE VVV 非 0 9 转 YYY YYY INC BX 计数值加 1 VVV JMP XXX UUU CRLF MOV AH 09H MOV DX OFFSET MESS2 INT 21H 显示表头 MOV AX BX CALL DISP 显示结果 MOV AH 02H MOV DL H INT 21H 十六进制数标志 MOV AH 4CH INT 21H DISPP PROC NEAR 显示子程序 按十六进制数方式显示 AL 中的数 MOV BL AL AL 中数送 BL KKK MOV DL BL MOV CL 04 ROL DL CL AND DL 0FH CALL DISPL 显示字节高位 MOV DL BL AND DL 0FH CALL DISPL 显示字节低位 RET DISPP ENDP DISPL PROC NEAR ADD DL 30H 将数值转为对应的 ASCII 码 CMP DL 3AH JB DDD 是 0 9 转 DDD ADD DL 27H 是 A F DDD MOV AH 02H INT 21H 显示 DL 中字符 RET DISPL ENDP DISP PROC NEAR 显示子程序 按十六进制数方式显示 AX 中的数 PUSH AX 入栈保存 MOV AL AH CALL DISPP 显示高字节 POP AX CALL DISPP 显示低字节 RET DISP ENDP CODE ENDS END START 实验五实验五 将键盘输入的小写字母转换成大写字母将键盘输入的小写字母转换成大写字母 DATA SEGMENT BUF DB 82 DUP DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA ES DATA START MOV AX DATA MOV DS AX MOV ES AX 段寄存器初始化 MOV BX OFFSET BUF BX 指向字符行缓冲区首址 KKK MOV SI 00H 指针 SI 清 0 GGG MOV AH 01H 接收键入字符 INT 21H CMP AL 03H JZ PPP 是 CTRL C 键则转结束 CMP AL 0DH JZ BBB 是回车键则转 BBB CMP AL 61H JB TTT CMP AL 7AH JA TTT 不是小写字母转 TTT SUB AL 20H 小写字母转化为大写字母 TTT MOV BX SI AL 存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论