微机原理实验1解读.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息与通信工程学院 微机原理软件实验报告(二) 班 级: 姓 名: 学 号: 序 号: 日 期: 2014年 月 1)掌握 MASM 的操作步骤,能够将源程序编译成可执行文件 3)掌握简单的汇编语言程序的设计 二、实验任务 1. 编一程序,在显示器上显示256个ASCII代码,要求显示格式为每行显示16个字符,两个ASCII字符间空一格。 2. 试编一程序,把地址偏移量为 100H 单元开始的 256 个单元分别写入: 00H,01 H,02H,03H,…,FFH 数据。统计写入的数据块中 0 元素、正元素、负元素的个数,并分别把 统计结果送人上述数据块之后的三个单元中。用DOS功能调用显示上面两题中数据块各单元(包括统计结果)内容。为了显示清晰明了,要求每行显示 16 个数据,两个数据之间用空格分开。(教材P185第1、2、3题合到一起编一完整的程序。) 3. 编一程序,把键入的十六进制数转换成十进制数并在屏幕上显示出来。 键入的最大数为 FFFFH,若键人的不是十六进数字,则显示出错提示。(教材P188第21题。) 三、实验内容 1. 显示256个ASCII码 (1) 源程序(附注释): data segment ;定义数据段 buf db 256 dup (?) count equ $-buf ;将buf定义的字节长度赋值给count data ends code segment ;定义代码段 assume ds:data,cs:code start: mov ax,data mov ds,ax mov si,offset buf ;设置数据块首地址 mov cx,count ;设定循环次数 cld ;地址修改为增量 xor ax,ax xor dx,dx xor bx,bx hyone: mov [si],al ;将数据存入数据段 inc si inc al loop hyone mov si,offset buf ;指向数据块首地址 mov cx,count-1 hytwo: mov dl,[si] ;显示数据段的内容 mov ah,2 int 21h mov dl,20h ;插入空格 mov ah,2 int 21h inc si inc bl ;设定为换行指示标志 cmp bl,10h ;当显示了16个字符之后就换行 jz hythree loop hytwo ;回车换行 hythree: mov dl,0dh mov ah,02h int 21h mov dl,0ah mov ah,02h int 21h xor bl,bl ;将换行指示标志重新置为0 cmp cx,0 ;判断是否显示完 jnz hytwo ;没有显示完的话继续显示 jz hyfour ;显示完结束程序 hyfour: mov ah,4ch ;终止程序 int 21h code ends end start (2)程序流程图: 图1 2. 写入数据,统计各类元素个数 (1) 源程序(附注释): data segment ;定义数据段 org 100h ;设定初始偏移量为100h buf db 259 dup(?) ;定义259个数据存放地址 count equ $-buf ;将buf定义的字节长度赋值给count hy db 0 ;定义变量hy作为空格显示控制标志 data ends code segment ;定义代码段 assume cs:code,ds:data start: mov ax,data mov ds,

文档评论(0)

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

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

1亿VIP精品文档

相关文档