- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编-实验三
实验三 算术运算与代码转换程序设计
一、实验目的
1)掌握算术运算程序的设计方法。
2)掌握代码转换程序的设计方法。
3)进一步掌握各种程序结构。
4)熟练掌握和使用用DEBUG调试程序。
二、实验内容
2)编制程序实现二进制定点数与十进制数的ASCII码串之间转换,并将结果显示在屏幕上。
3)编写程序计算从键盘输入两个不超过四位的十进制数的和、差、积、商,并以十进制形式输出。
三、实验设备
PC机一台
四、实验步骤
1) 按程序流程图编制实验程序。
2) 输入源程序。
3) 汇编、连接程序,执行程序,检查结果。
4) 程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。
5) 用D命令检查执行结果。
五、程序源代码
2)DATA SEGMENT
BIN1 DW 0101101101101001B
DEC1 DB 6 DUP(0)
DATA ENDS
STACKl SEGMENT PARA STACK
DW 20H DUP(0)
STACKl ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACKl
START: MOV AX,DATA
MOV DS,AX
MOV DX,BIN1
MOV DI,OFFSET DEC1
MOV CX,0 ;CX存放10进制数位数,初值置0
LOP1: PUSH CX
MOV AX,DX
MOV DX,0
MOV CX,10
DIV CX ;除以10,余数在DX,商在AX
XCHG AX,DX ;余数和商交换
ADD AL,30H ;余数形成ASCII码
MOV [DI],AL ;存储
INC DI
POP CX
INC CX ;10进制数位数计数器加1
CMP DX,0
JNZ LOP1 ;商不等于0,继续
DEC2: DEC DI ;商等于0,则输出
MOV AL,[DI]
MOV DL,AL
MOV AH,2
INT 21H
LOOP DEC2
MOV AH,4CH
INT 21H
CODE ENDS
END START
3).MODEL SMALL
Code Segment
Assume CS:Code,DS:code
CR equ 000DH
LF equ 000AH
KBBack equ 0008H
; -------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)
; 用法: Output Str_Addr
; 用法举例:Output PromptStr
Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -------------------------------------
; 功能:输出一个字符
; 入口:dl=要显示的字符
Output_Chr proc Near
push ax
mov ah,02h
int 21h
pop ax
ret
Output_Chr endp
; -------------------------------------
; 功能:输出回车换行
Output_CTLF proc Near
push ax
push dx
mov ah,02h
mov dl,0dh
int 21h
mov dl,0ah
int 21h
pop dx
pop ax
ret
Output_CTLF e
文档评论(0)