汇编语言实验.pptxVIP

  • 4
  • 0
  • 约3.52千字
  • 约 23页
  • 2022-11-02 发布于上海
  • 举报
会计学 1 汇编语言实验 实验目的 1.学习及掌握汇编语言源程序的书写格式和要求。 2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。 3.熟练掌握在计算机上编辑、汇编、连接及运行汇编语言程序的方法。 第1页/共23页 实验预习要求 复习8086指令系统中的各类指令及DOS功能调用。 按照题目要求在实验前编写好实验中的程序段。 第2页/共23页 实验环境 微型计算机一台 DOS或WINDOWS操作系统 MASM开发套件 第3页/共23页 实验原理 DOS功能调用    为了使用方便,将DOS层功能模块所提供的88个子程序统一顺序编号从00H到57H。DOS系统功能调用方式如: (1)置入口参数; (2)将子程序编号送入AH寄存器; (3)执行中断指令:INT 21H。     第4页/共23页 1、接收单个字符的输入并显示 格式:mov ah, 01h    int 21h 说明: 1)执行该功能调用首先扫描键盘,等待按键。 2)若有键按下,则检查所按键码。 3)当按CTRL-BREAK键瞬时,则推出命令执行。 4)当为其它键时,则将对应ACSII码送AL寄存器,同时送显示器显示。 第5页/共23页 2、单个字符的输出 这个调用将送入dl寄存器中的字符输出显示到屏幕上。 格式:mov dl, 待显示字符的ASCII码    mov ah, 02h   int 21h 说明: 1)完成从标准输出设备显示器上输出显示一个字符。 2)如果DL中是CTRL-BREAK的ASCII,则从本调用的执行中退出。 第6页/共23页 3、显示字符串(9号调用) 格式:mov dx, 字符串首偏移地址    mov ah, 09h   int 21h  说明:该功能调用完成在标准输出设备显示器上输出显示一字符串,字符串必须以字符“$”(24H)为结束标志。但“$”字符不显示。 第7页/共23页 4、接收字符串的输入 格式: mov dx, 缓冲区首偏移地址 mov ah, 0Ah int 21h 说明:1)该功能调用完成从键盘接收字符串存到指定内存的输入缓冲区,直到输入回车符时为止。      2)须事先在内存数据段中定义一缓冲区,其格式一般为: Buf  db 20     db ?     db 20 dup(?) 第一字节给出缓冲区能存放的字符个数;第二字节为实际键入的字符个数,从第三字节开始,存放键入的字符串,以回车键结束。如实际键入的字符数超过缓冲区容量,则超出部分将被丢失。     3)若实际输入的字符数少于定义的字节数,则缓冲区内其余字节补零。若实际输入多于定义的字节数,则多余字符丢弃,且响铃。 第8页/共23页 源程序的格式 DATA SEGMENT BUF DB Hello, world !$ DATA ENDS STACK SEGMENT STACK DW 36 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK  段的定义以segment开始以ends结束。  前面是段的名称,必须成对出现  变量的定义用伪指令DB、DW等。  变量名称必须符合标识符的要求。  必须在段中定义。  堆栈段后必须带上STACK标识为堆栈。  ASSUME分配段与段寄存器之间的关系。所定义的段只有分配好段后才能与相应的段对应起来。分配后代码段的段首址自动置值。数据段与附加数据段必须由用户置值。 第9页/共23页 START: MOV AX,DATA MOV DS,AX MOV DX,OFFSET BUF MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END START  START标号是程序开始的第一条指令的符号地址,  将数据段的段首地址置入段寄存器DS中。中间必须借助字寄存器。因为DATA在这里得到的是一个立即数不能直接放入段寄存器中。  9号功能调用在屏幕上输出一串字符。  4CH功能调用,结束程序返回DOS命令行。  END语句标识程序到此为此,其后带的标号名指名程序从哪开始。  END后的其他语句不会再汇编。 第10页/共23页 实验内容 1.汇编语言源程序的建立   程序要求是:在屏幕上显示“Hello, world !”。设定源程序的文件名为ABC.

文档评论(0)

1亿VIP精品文档

相关文档