汇编语言上机实验二教学讲义.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言上机实验二教学讲义.ppt

* * 汇编语言上机实验(二) 4学时 国家级计算机实验示范中心 实验二 数制、码制和子程序的编程与调试 一.实验目的: 1. 熟练掌握编写汇编语言原程序的基本方法和基本框架。 2. 熟练使用DEBUG调试程序。 3. 掌握十六进制数与ASCII码之间,ASCII码与BCD码之间的转换。 4. 掌握用DOS功能调用,实现字符的输入和显示。 5. 掌握子程序的编程与调试方法。 二.实验内容: 1、从键盘输入两个2位十进制正数转换成二进制数后,对这两个数进行相加相乘运算,结果以十六进制数形式显示在屏幕上。 2、从键盘输入两个2位十进制正数转换成组合BCD码后,对这两个数进行相加相乘运算,结果以十进制形式显示在屏幕上。 3、从键盘输入一个4位十进制正数并回显后,将其对应的十六进制数显示在屏幕上。 三、实验要求及调试步骤 程序说明。说明程序的功能、结构。 调试说明。包括上机调试的情况、上机调试步骤、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。 写出源程序清单和执行结果。 【举例】从键盘输入4位十六进制数(它对应的二进制数是补码表示的带符号数),把它们转换为带符号非组合型BCD码,并在屏幕上显示出来。 从键盘输入1~4位十六进制数,存放在以HEXBUF+2为首址的4个字节单元中。其中HEXBUF+1单元中为输入的数据个数。 字符串输入功能调用(0AH号功能调用) 格式: MOV DX, 已定义缓冲区的偏移地址 ?????? MOV AH, 0AH ???????? ? INT 21H 功能:从键盘接收字符,并存放到内存缓冲区。 ① 执行前先定义一个输入缓冲区,缓冲区内第一个字节定义为允许最多输入的字符个数,字符个数应包括回车符0DH在内,不能为“0”值。第二个字节保留,在执行程序完毕后存入输入的实际字符个数。从第三个字节开始存入从键盘上接收字符的ASCII码。若实际输入的字符个数少于定义的最大字符个数,则缓冲区其他单元自动清0。若实际输入的字符个数大于定义的字符个数,其后输入的字符丢弃不用,且响铃示警,一直到输入回车键为止。整个缓冲区的长度等于最大字符个数再加2。 ② 应当将缓冲区首地址的段基址和偏移地址分别存入DS和DX寄存器中。 … … BUF ????? DB 25 ; 缓冲区长度 ACTHAR ?? DB ? ; 保留单元, 存放输入的实际字符个数 CHAR ???? DB 25 DUP (?) ; 定义25个字节存储空间 ????????? DB ‘$’ … …????????? MOV AX, DATA MOV DS, AX ? … … ???????? MOV DX, OFFSET BUF MOV AH, 0AH INT 21H ? … … ?? ?????? 本例可从键盘接收23个 有效字符并存入以BUF 为首地址的缓冲区中。 将ASCII码表示的4位十六进制数转换为16位二进制数,并暂时存放在 BX中; 字符 对应的ASCII码 0~9 30H~39H A~Z 41H~5AH 换行 0AH 回车 0DH ESC键 1BH 空格 20H 确定十进制数的符号,并把符号(+或-)存放在BCDBUF单元中; 使用指令TEST对最高位进行判定,如若最高位为1,则是负数,反之。 对BX中的二进制数采用前述算法转换为十进制数(非组合型BCD码),转换结果存放在以BCDBUF+1为首址的5个字节单元中; 把转换结果的5个非组合型BCD码形成相应的ASCII码。 组合BCD码是用4个二进制位表示一个十进制位,如: MOV AL,68H? MOV BL,28H? ADD AL,BL? ? ;AL=68H+28H=90H DAA? ? ? ? ? ; 十进制调整:AL=96H 非组合BCD码是用8个二进制位表示一个十进制位。如: MOV AX,0608H MOV BL,09H? ADD AL,BL? ? ;AL=08H+09=11H AAA? ? ? ? ? ;十进制调整:AX=0107H 显示结果 屏幕显示字符串(9号功能调用) 格式: MOV DX, 字符串的偏移地址 ??? MOV AH, 09H ??? INT 21H 在使用9号功能调用时,应当注意以下问题: ??? ① 待显示的字符串必须先放在内存一数据区(DS段)中,且以‘$’符号作为结束标志。 ?

您可能关注的文档

文档评论(0)

yuzongxu123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档